功能
效果
-
系统实物图
树莓派和DHT11
-
网页
温湿度
原理
- 使用树莓派I/O驱动DHT11 向模块发送一个高电平后 根据时序信号接收数据
- DHT11原理
硬件设计
- 使用树莓派为DHT11供电 将BCM编码的18引脚与DHT11的OUT引脚连接
软件设计
GPIO.setup(channel, GPIO.OUT)
GPIO.output(channel, GPIO.LOW)
time.sleep(0.02)
GPIO.output(channel, GPIO.HIGH)
GPIO.setup(channel, GPIO.IN)
while j < 40:
k = 0
while GPIO.input(channel) == GPIO.LOW:
continue
while GPIO.input(channel) == GPIO.HIGH:
k += 1
if k > 100:
break
if k < 8:
data.append(0)
else:
data.append(1)
j += 1
for i in range(8):
humidity += humidity_bit[i] * 2 ** (7-i)
humidity_point += humidity_point_bit[i] * 2 ** (7-i)
temperature += temperature_bit[i] * 2 ** (7-i)
temperature_point += temperature_point_bit[i] * 2 ** (7-i)
check += check_bit[i] * 2 ** (7-i)
源码
项目源码
网友评论