用python来做物联网设备(六)-OLED显示
我的SSD1306的OLED模块终于到了,我选择的是上黄下蓝的版本,也有一种全部蓝色模块,我选择的是I2C通讯接口的模块,选择I2C就是因为接口少,只有4个IO,SPI版本的是7个IO。
打开micropython的源码目录,将SSD1306的驱动下载到设备:
接着我们将ESP32与OLED模块进行硬线的连接:
敲入代码:
from machine import Pin, I2C
import ssd1306
i2c = I2C(scl=Pin(5), sda=Pin(4), freq=400000)
lcd = (128, 64, i2c)
lcd.fill(0)
lcd.show()
lcd.text('Hello', 10, 0)
lcd.text('World', 10, 30)
lcd.show()
在串口工具中运行:
运行效果如下:
我们查看下源码:
fb = , , , )
官方驱动中基本已经写死了字体的大小的高度,暂时是没有办法改动,将代码整理成函数,并加入定时器与SHT20(使用硬件I2C接口1)的温湿度检测,代码如下:
使用定时器2秒去读一次传感器并刷新OLED:
运行情况: