(七)MicroPython——显示二维码
2023-02-18 16:23:34 时间
目录
学习目标
本次就是使用上节课学的东西来显示一个二维码,比较简单,就不赘述。
成果展示
代码
from uQR import QRCode
from machine import Pin, SPI
import st7789
tft = st7789.ST7889_Image(SPI(2, 80000000), dc=Pin(2), cs=Pin(5), rst=Pin(15))
tft.fill(st7789.color565(255, 255, 255)) # 背景设置为白色
qr = QRCode(border=2)
qr.add_data('Hello,World!') # 这里是要生成的二维码,被扫码之后的得到的内容
matrix = qr.get_matrix()
row_len = len(matrix)
col_len = len(matrix[0])
# 放大倍数
# 默认情况下输出的二维码太小,可以按照你实际屏幕的大小进行缩放,当前我的240x240屏幕缩放8倍正合适
scale_rate = 8
buffer_black = bytearray(scale_rate * scale_rate * 2) # 每个点pixel有2个字节表示颜色
color_black = st7789.color565(0, 0, 0)
color_black_byte1 = color_black & 0xff00 >> 8
color_black_byte2 = color_black & 0xff
for i in range(0, scale_rate * scale_rate * 2, 2):
buffer_black[i] = color_black_byte1
buffer_black[i + 1] = color_black_byte2
# 循环次数不增加,只增加每次发送的数据量,每次发送scale_rate X scale_rate个点的信息
for row in range(row_len):
for col in range(col_len):
if matrix[row][col]:
# tft.pixel(row, col, st7789_itprojects.color565(0, 0, 0))
tft.show_img(row * scale_rate, col * scale_rate, row * scale_rate + scale_rate - 1, col * scale_rate + scale_rate - 1, buffer_black)
col += 1
row += 1
总结
就是调库,没什么难的,就是后面优化程序有点意思。
相关文章
- centos7.3下安装Python3.5及安装pip3
- Python库之urllib
- Python使用Redis数据库
- Python正则表达式模块re
- Python日志模块logging
- CentOS7.3中将Python2.7.5 升级到Python3.5.1
- Win10下Python虚拟环境virtualenv安装和使用
- Python中几个常用的类方法
- python爬虫之lxml库xpath的基本使用
- Python操作Excel表格
- 彻底搞懂Python pip
- Python3.11正式版,它来了!
- Python猜数字小游戏
- 你真的会整理文件吗(FindDupFile去重+Python批量重命名)
- 优雅整理Python中的import
- python的环境,你再也不用愁
- Python下Tesseract Ocr引擎及安装介绍
- Python 操作Excel-openpyxl模块使用
- Python-数据的多种存储形式
- python3 http.server模块 搭建简易 http 服务器