3.36 haas506 2.0开发教程-example -OLED显示生成二维码(python)

应用场景

二维码在各个领域中的应用越来越广泛,其中一些主要应用场景包括:
电子商务:通过二维码,用户可以轻松链接到商家的网站,浏览商品信息,完成购买流程。
票务系统:许多电影院、音乐厅等场所使用二维码作为电子门票,从而方便用户购买、入场等环节。
广告推广:在营销活动中,二维码可以用于引导用户进入推广页面或者下载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)

在显示屏准确的点位上写入图像数据。

在这里插入图片描述

并准确的显示具体位置的图片信息。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值