之前一直用0.96的OLED屏幕,现在想整一个显示范围大一点的屏幕来显示气压和温度,手头有块LCD1602一直闲置着,这块屏幕是带一块I2C转接板,网上只找到有LCD12864的驱动,找到一个I2C的调用库一烧录疯狂报错,重改了一下主函数这里把代码发一下,参考XXXXXXXXXXXXXXXXXXXXt/zhusongziye/article/details/129228077?fromshare=blogdetail&sharetype=blogdetail&sharerId=129228077&sharerefer=PC&sharesource=A14271427&sharefrom=from_link,使用的是原先BP机的那块板子飞线出来,搭透传模块的改成BMP280,原先放置0.96OLED屏幕的地方改成了1602,具体的引脚主函数有写,下面是需要的驱动(micropython设备)左下角,放在打包的zip里,就不放代码了
实际上整了一个测定氧气含量的试验,只不过用的是电打火,把温度和气压用屏幕显示出来
main
from achine import Pin, SoftI2C, Timer from i2c_lcd import I2cLcd import bmp280 import time DEFAULT_I2C_ADDR = 0x27 i2c_lcd = SoftI2C(sda=Pin(23), scl=Pin(18))#屏幕 lcd = I2cLcd(i2c_lcd, DEFAULT_I2C_ADDR, 2, 16) i2c_bmp = SoftI2C(sda=Pin(16), scl=Pin(17))#气压传感器 BMP = bmp280.BMP280(i2c_bmp) #开机动画 def boot_animation(): lcd.clear() lcd.putstr("1427")#替换 for i in range(16): lcd.move_to(i, 1) lcd.putstr('|') time.sleep(0.125) lcd.clear() lcd.putstr("System Ready!") time.sleep(1) lcd.clear() #显示温度大气压 def update_display(tim): temperature = BMP.getTemp() pressure = BMP.getPress() / 100 lcd.clear() lcd.putstr('T: {:.2f} C'.format(temperature))#温度 lcd.move_to(0, 1) lcd.putstr('P: {:.2f} hPa'.format(pressure))#大气压 #开机动画 boot_animation() #刷新温度气压 tim = Timer(-1) tim.init(period=1000, mode=Timer.PERIODIC, callback=update_display)#刷新频率
打包的程序文件
显示效果
等密封剂凝固再试验一下
[修改于 1个月26天前 - 2024/09/26 10:57:16]
时段 | 个数 |
---|---|
{{f.startingTime}}点 - {{f.endTime}}点 | {{f.fileCount}} |