我正在用树莓派4B和DHT11模块(dat引脚连接到GPIO 21)开发一个程序来测量温度和湿度,我需要能显示出小数点后一位的数据显示。能否给我提供相应的Python代码示例?
时间: 2024-11-04 08:11:17 浏览: 13
关于树莓派3B DHT11温湿度模块 bcm2835 GPIO控制程序
当你使用树莓派4B和DHT11模块测量温度和湿度时,可以使用`RPi.GPIO`库来控制GPIO,以及`adafruit_dht`库来读取数据。下面是一个简单的Python代码示例,它会读取DHT11的数据并显示温度和湿度值,保留一位小数:
```python
# 引入所需库
import RPi.GPIO as GPIO
from Adafruit_DHT import DHT11
# 设置GPIO配置
GPIO.setmode(GPIO.BCM)
pin = 21 # DHT11的数据引脚
dht_sensor = DHT11(pin)
try:
# 读取数据,等待最多25秒
humidity, temperature = dht_sensor.read()
# 检查是否成功读取数据
if humidity is not None and temperature is not None:
temp_celsius = round(temperature / 10, 1) # 将华氏转摄氏,并保留一位小数
humidity_percentage = round(humidity, 1) # 保留一位小数
print(f"Temperature: {temp_celsius}°C")
print(f"Humidity: {humidity_percentage}%")
except Exception as e:
print(f"Error reading data: {e}")
finally:
# 清理GPIO资源
GPIO.cleanup()
```
这个代码首先设置GPIO模式并选择DHT11数据引脚,然后尝试读取温度和湿度数据。如果读取成功,将数据显示出来,温度转换为摄氏并保留一位小数。最后记得关闭GPIO。
阅读全文