555浏览
查看: 555|回复: 1

【试用测评】pinpong板——oled屏用二维码显示传感器信息

[复制链接]
IMG_20210501_152506_1.jpg

【pinpong板】
PinPong Board是一款专为学习Python语言而设计的课堂类教学主板,可以满足用户所有需求,不仅可以用来制作智能检测设备,还可以制作成无线通讯设备,实现智能家居以及人工智能等。
一、产品特点
1、PinPong Board完全兼容传统的Arduino,还在Arduino原有功能的基础上集成了2路电机驱动、OLED显示、红外接收/发射、光线传感器、声音传感器、温湿度传感器、陀螺仪等新型传感器等硬件功能。
2、WiFi与局域网相连接可以实现无线下载程序功能,让你摆脱USB线的束缚。远距离的更新程序,同一个局域网内的设备可以进行无线传输,主从机设置,甚至一个PC端同时控制局域网内的所有设备。
3、基于Python编程,提供PinPong使用教程及大量的example,方便学习使用Python驱动硬件。
4、多元化编程方式和编程平台,可依据学习情况选择Python图形化编程、Python语言编程不同的编程方式;Mind+、Python等编程平台为开发者提供了极大的自由度和支持准备。

【qrcode】

qrcode 是一个二维码库,他可以生成二维码,支持设置二维码图像的尺寸等信息。
QQ截图20210501152929.jpg

【程序代码】

  1. import qrcode,time
  2. from pinpong.board import Board,Board,Pin,ADC
  3. from pinpong.libs.dfrobot_ssd1306 import SSD1306_I2C #导入ssd1306库
  4. import numpy as np
  5. from PIL import Image
  6. from pinpong.libs.dfrobot_aht20 import AHT20
  7. Board("PinPong board").begin()  #初始化,选择板型和端口号,不输入端口号则进行自动识别
  8. adc3 = ADC(Pin(Pin.A3)) #将Pin传入ADC中实现模拟输入(电位器)
  9. adc1 = ADC(Pin(Pin.A1)) #将Pin传入ADC中实现模拟输入(光线)
  10. adc2 = ADC(Pin(Pin.A2)) #将Pin传入ADC中实现模拟输入(声音)
  11. aht = AHT20()#读取温湿度传感器检测的温度和湿度
  12. oled=SSD1306_I2C(width=128, height=64) #初始化屏幕,传入屏幕像素点数
  13. img_file = r'image1.png'
  14. while True:
  15.     # 实例化QRCode生成qr对象
  16.     qr = qrcode.QRCode(
  17.        version=1,
  18.        error_correction=qrcode.constants.ERROR_CORRECT_H,
  19.        box_size=1,
  20.        border=1
  21.      )
  22.     if not aht.wait_flag:
  23.         aht.measure_template_humidity()
  24.     buf = aht.get_template_humidity()
  25.     if buf == -1:
  26.         data = '未获取到温湿度信息'
  27.     else:
  28.         data ='湿度:'+str(buf[0])+'%RH;温度信息:'+str(buf[1])+'℃;'
  29.     data=data+ '环境声音响度:'+str(adc2.read())+';环境光线强度:'+str(adc1.read())+';电位器值:'+str(adc3.read())
  30.     # 传入数据
  31.     qr.add_data(data)
  32.     qr.make(fit=True)
  33.      # 生成二维码
  34.     img = qr.make_image()
  35.      # 保存二维码
  36.     img.save(img_file)
  37.     img = Image.open(img_file)
  38.     img_width, img_height = img.size #获取img的尺寸
  39.     pixels = np.array(img.convert('L')) #转成灰度值喂给array,pixels是个存灰度值的数组
  40.     # 展示二维码
  41.     for i in range(img_height):
  42.       for j in range(img_width):
  43.          print(pixels[i][j])
  44.          if pixels[i][j]==255:
  45.            oled.pixel(i,j,1)
  46.     oled.show() #显示生效
  47.     time.sleep(3)
  48.     oled.fill(0)
复制代码

【生成二维码】

IMG_20210501_153301.jpg

【微信-扫一扫】
Screenshot_20210501_153335_com.tencent.mm.jpg

gray6666  初级技神

发表于 2021-5-5 22:15:53

云天老师测试128*64图片是否可以显示成功?我测试没法失败
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2022 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail