在物联网和嵌入式系统中,我们经常需要将设备的状态或数据实时显示在屏幕上。在这个例子中,我们将使用ESP32和LCD1602显示器来实现这个功能。
1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)市面上字符液晶大多数是基于HD44780液晶芯片的
首先,我们需要导入必要的库。在这个例子中,我们需要time
库来控制程序的运行时间,machine
库中的SoftI2C
和Pin
类来创建软I2C对象,以及esp32_i2c_1602lcd
库中的I2cLcd
类来创建LCD1602对象。
import time
from machine import SoftI2C, Pin
from esp32_i2c_1602lcd import I2cLcd
DEFAULT_I2C_ADDR = 0x27 #I1602C 地址为 0x27
#创建软I2C对象
i2c = SoftI2C(sda=Pin(15),scl=Pin(2),freq=100000)
#创建LCD1602对象
lcd = I2cLcd(i2c, DEFAULT_I2C_ADDR, 2, 16)
接下来,我们定义一个主函数main()
,在这个函数中,我们将创建一个无限循环,每次循环都会清除LCD屏幕,然后在屏幕上显示当前的时间(以秒为单位)和一个固定的字符串"hello world"。然后,程序会暂停一秒,然后将时间加一。
def main():
i=0
while True:
lcd.clear()
lcd.putstr("time {}\n".format(i))
lcd.putstr("hello world")
time.sleep(1)
i+=1
最后,我们在if __name__ =="__main__":
语句中调用main()
函数,这样当我们直接运行这个脚本时,main()
函数就会被执行。
if __name__ =="__main__":
main()
import time
from machine import SoftI2C, Pin
from esp32_i2c_1602lcd import I2cLcd
DEFAULT_I2C_ADDR = 0x27 #I1602C 地址为 0x27
#创建软I2C对象
i2c = SoftI2C(sda=Pin(15),scl=Pin(2),freq=100000)
#创建LCD1602对象
lcd = I2cLcd(i2c, DEFAULT_I2C_ADDR, 2, 16)
def main():
i=0
while True:
lcd.clear()
lcd.putstr("time {}\n".format(i))
lcd.putstr("hello world")
time.sleep(1)
i+=1
if __name__ =="__main__":
main()
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 69lv.com 版权所有 湘ICP备2023021910号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务