用oled屏幕显示读到的dht11值
时间: 2023-10-23 22:13:51 浏览: 50
以下是使用Python和Adafruit_DHT库在Raspberry Pi上读取DHT11传感器并在OLED屏幕上显示温度和湿度值的示例代码:
```python
import Adafruit_DHT
import time
import board
import busio
import adafruit_ssd1306
# 设置DHT11传感器引脚
DHT_PIN = 4
# 初始化OLED屏幕
i2c = busio.I2C(board.SCL, board.SDA)
oled = adafruit_ssd1306.SSD1306_I2C(128, 32, i2c)
# 清空OLED屏幕
oled.fill(0)
oled.show()
while True:
try:
# 读取DHT11传感器值
humidity, temperature = Adafruit_DHT.read_retry(Adafruit_DHT.DHT11, DHT_PIN)
# 在OLED屏幕上显示温度和湿度值
oled.fill(0)
oled.text('Temp: {0:0.1f} C'.format(temperature), 0, 0)
oled.text('Humidity: {0:0.1f} %'.format(humidity), 0, 10)
oled.show()
# 等待2秒
time.sleep(2)
except KeyboardInterrupt:
# 如果用户按下Ctrl+C,则退出程序
oled.fill(0)
oled.show()
exit()
```
在上面的代码中,我们首先从Adafruit_DHT库导入DHT11传感器读取函数。然后,我们初始化了一个128x32的OLED屏幕,并设置了DHT11传感器引脚。在主循环中,我们使用read_retry函数从DHT11传感器读取温度和湿度值,并在OLED屏幕上显示它们。我们使用text函数在OLED屏幕上显示文本,并使用fill函数清空屏幕。最后,我们使用sleep函数等待2秒钟,并在用户按下Ctrl+C时退出程序。