OLED显示生成二维码-python
- 应用场景
- 案例说明
- 1.OLED显示规则
- 2.硬件
- 3.连线图
- 代码
- 源码链接
应用场景
二维码在各个领域中的应用越来越广泛,其中一些主要应用场景包括:
电子商务:通过二维码,用户可以轻松链接到商家的网站,浏览商品信息,完成购买流程。
票务系统:许多电影院、音乐厅等场所使用二维码作为电子门票,从而方便用户购买、入场等环节。
广告推广:在营销活动中,二维码可以用于引导用户进入推广页面或者下载APP等操作。
教育培训:老师可以在教材或者课件中加入二维码,学生扫描后可以快速跳转到相关的视频、PPT等资料。
公共服务:政府机构使用二维码作为身份证件,医疗机构使用二维码查询个人就医信息等。
随着技术的不断提升和应用场景的增多,二维码的应用领域还将进一步扩大,并且未来将成为未来的主要趋势。
案例说明
- 案例使用MicroPython的qrcode模块,可以直接将文本内容转化成二维码。
- 通过I2C串口,将二维码显示在OLED屏幕上。
1.OLED显示规则
OLED点阵的扫描是从左到右,从上到下的。横向128个点;纵向分为8页,每页由一个字节数据控制8个点。
2.硬件
器材 | 数量 |
---|---|
HaaS506开发板 | 1 |
128*64OLED显示屏 | 1 |
杜邦线 | 若干 |
3.连线图
代码
修改下列数据调整二维码
#---------------------------------------------------------------------
scale_rate = 1 # 放大倍数
x=36 #起始x坐标
y=0 #起始y坐标
qr.add_data('https://www.yuque.com/haas506/wiki') #二维码内容
#---------------------------------------------------------------------
源码链接
viki链接
main.py
from ssd1306 import SSD1306_128_64
import utime as time
from qrcode import QRCode
disp=SSD1306_128_64()
disp.begin() # 初始化
disp.clear()
qr = QRCode(border=2)
#---------------------------------------------------------------------
scale_rate = 1 # 放大倍数
x=36 #起始x坐标
y=0 #起始y坐标
qr.add_data('https://www.yuque.com/haas506/wiki') #二维码内容
#---------------------------------------------------------------------
matrix = qr.get_matrix()
row_len = len(matrix)
col_len = len(matrix[0])
print(row_len)
print(col_len)
# 放大倍数
# 默认情况下输出的二维码太小,可以按照你实际屏幕的大小进行缩放,当前我的240x240屏幕缩放8倍正合适
#给128*64屏幕相应位置填充二维码数据
for row in range(row_len * scale_rate):
for col in range(col_len * scale_rate):
disp.OLED_DrawPoint(x+row,y+col,matrix[row//scale_rate][col//scale_rate])
col += 1
row += 1
#显示填充数据位置的图案
disp.OLED_Refresh_Gram(x,y,x+row_len * scale_rate,y+col_len * scale_rate)
在显示屏准确的点位上写入图像数据。
并准确的显示具体位置的图片信息。