【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 是一个二维码库,他可以生成二维码,支持设置二维码图像的尺寸等信息。
【程序代码】
- import qrcode,time
- from pinpong.board import Board,Board,Pin,ADC
- from pinpong.libs.dfrobot_ssd1306 import SSD1306_I2C #导入ssd1306库
- import numpy as np
- from PIL import Image
- from pinpong.libs.dfrobot_aht20 import AHT20
- Board("PinPong board").begin() #初始化,选择板型和端口号,不输入端口号则进行自动识别
- adc3 = ADC(Pin(Pin.A3)) #将Pin传入ADC中实现模拟输入(电位器)
- adc1 = ADC(Pin(Pin.A1)) #将Pin传入ADC中实现模拟输入(光线)
- adc2 = ADC(Pin(Pin.A2)) #将Pin传入ADC中实现模拟输入(声音)
- aht = AHT20()#读取温湿度传感器检测的温度和湿度
-
- oled=SSD1306_I2C(width=128, height=64) #初始化屏幕,传入屏幕像素点数
-
- img_file = r'image1.png'
-
- while True:
- # 实例化QRCode生成qr对象
- qr = qrcode.QRCode(
- version=1,
- error_correction=qrcode.constants.ERROR_CORRECT_H,
- box_size=1,
- border=1
- )
- if not aht.wait_flag:
- aht.measure_template_humidity()
- buf = aht.get_template_humidity()
- if buf == -1:
- data = '未获取到温湿度信息'
- else:
- data ='湿度:'+str(buf[0])+'%RH;温度信息:'+str(buf[1])+'℃;'
- data=data+ '环境声音响度:'+str(adc2.read())+';环境光线强度:'+str(adc1.read())+';电位器值:'+str(adc3.read())
- # 传入数据
- qr.add_data(data)
-
- qr.make(fit=True)
-
- # 生成二维码
- img = qr.make_image()
-
- # 保存二维码
- img.save(img_file)
- img = Image.open(img_file)
- img_width, img_height = img.size #获取img的尺寸
- pixels = np.array(img.convert('L')) #转成灰度值喂给array,pixels是个存灰度值的数组
- # 展示二维码
- for i in range(img_height):
- for j in range(img_width):
- print(pixels[i][j])
- if pixels[i][j]==255:
- oled.pixel(i,j,1)
- oled.show() #显示生效
- time.sleep(3)
- oled.fill(0)
复制代码
【生成二维码】
【微信-扫一扫】
|