AM2302数字温湿度传感器包括一个电容式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。
引脚 1 是VDD电源(3.3V~5.5V)
引脚 2 是SDA串行数据,双向口
引脚 3 是NC空脚
引脚 4 是GND地
###安装下载
由于读取DHT22数据并转化的Python代码已经有现成的库了,我就不重复造轮子了
按顺序执行以下代码就行了1
2
3
4
5git clone https://github.com/adafruit/Adafruit_Python_DHT.git
cd Adafruit_Python_DHT
sudo apt-get update
sudo apt-get install build-essential python-dev
sudo python setup.py install
然后我们来看电路图
照着连接就行了
什么?你说看不懂电路图?别闹,看不懂还玩什么树莓派!
测试代码也很简单,看下面:1
2
3
4
5
6
7import Adafruit_DHT as dht
import time
while True:
time.sleep(2.5)
h,t = dht.read_retry(dht.DHT22, 4)
print 'Temp = %.1f"C, Humidity = %.1f%%RH' % (t, h)
因为传感器是每隔两秒测一次数据的,所以我们sleep时间大于两秒就行了
运行效果就是1
2
3
4
5
6
7
8pi@raspberrypi ~/dev/python $ sudo python dht.py
Temp = 28.0"C, Humidity = 63.3%RH
Temp = 28.1"C, Humidity = 63.1%RH
Temp = 28.1"C, Humidity = 63.1%RH
Temp = 28.1"C, Humidity = 63.1%RH
Temp = 28.1"C, Humidity = 62.9%RH
Temp = 28.1"C, Humidity = 63.0%RH
Temp = 28.0"C, Humidity = 63.0%RH
看看就懂了,have fun!