DHT11と言うラズパイの部品を使って温度と湿度を測ってみました。
秋月電子で300円で購入できます。
使う部品は以下の通り。
- ラズパイ 3 Model B+
- ブレッドボード、ジャンパー
- DHT11
- 10kΩの抵抗
[toc]
DHT11とは
以下の青い部品ですね。とても小さいです。

ピンの役割ですが以下のようになっています。
1:3.3V-5V、2 : データ、3 : なし、4 : GND
ラズパイと配線
DHT11の1番をラズパイの電源、DHT11の2番を抵抗を通してラズパイのポート4、DHTの4番とラズパイのGNDを接続します。

初めて、5Vの電源を使っていきます。抵抗は10KΩです。なぜか、電源と抵抗ではなく、データと抵抗を繋ぎます。
コード
Adafruit_DHTと言うモジュールを使います。以下のコマンドで、ダウンロード、インストールしました。
git clone https://github.com/adafruit/Adafruit_Python_DHT.git cd Adafruit_Python_DHT/ sudo python3 setup.py install
pipコマンドでインストールできたか確認できます。
pi@raspberrypi:~/share $ pip3 list Package Version ----------------- ------- Adafruit-DHT 1.4.0 astroid 1.4.9 asttokens 1.1.13 :
以下は3回温度と湿度を測るコードです。
from time import sleep from datetime import datetime import Adafruit_DHT as DHT PIN = 4 for i in range(3): while True: humi, temp = DHT.read_retry(DHT.DHT11, PIN) if (humi > 90) or (temp > 50): print("error:",humi,temp) sleep(0.1) continue break print("+", datetime.now().strftime("%H:%M:%S")) print("湿度:", humi, "%") print("温度:", temp, "度") sleep(3)
pi@raspberrypi:~/share $ python3 temparature.py + 21:41:38 湿度: 29.0 % 温度: 20.0 度 + 21:41:41 湿度: 29.0 % 温度: 20.0 度 + 21:41:45 湿度: 29.0 % 温度: 20.0 度
3回ともうまく計測できた例です。
何回かやると湿度が100%超えて結構エラーが出ていました。安定性はあまりない感じです。
おわり。