2.4 Arduino DHT11で温度・湿度を計測してシリアル通信する(4)
2017/08/27
PR
コンテンツ内容
2.4 Arduino DHT11で温度・湿度を計測してシリアル通信する(4)
センサーで温度を測りシリアル通信でデータを見てみましょう。
温度・湿度センサー
- 3〜5Vの電源
- 変換時に最大2.5mAの電流を使用
- 5%の精度で20〜80%湿度の読み取りに適しています
- 0〜50℃の温度読み取りに適しています±2℃の精度
- 1Hz以下のサンプリングレート(毎秒1回)
- ボディサイズ15.5mm x 12mm x 5.5mm
- 4ピン、0.1インチの間隔
- 3〜5Vの電源
- 変換時に最大2.5mAの電流を使用
- 2〜5%の精度で0〜100%湿度の読み取りに適しています
- -40〜125℃の温度読み取りに最適±0.5℃の精度
- 0.5 Hz以下のサンプリングレート(2秒に1回)
- ボディサイズ15.1mm x 25mm x 7.7mm
- 4ピン、0.1インチの間隔
DHT22のほうが性能がいいです。今回使ったのは安いDHT11です。
DHT11接続 手順
1.ライブラリのダウンロード
2.ライブラリをIDEへインクルード
3.DHT11接続
ライブラリのダウンロード
ライブラリーが必要です。ダウンロードします
Arduino library and example code for DHT sensors
Adafruit_Sensor library (required by the DHT library above)
ライブラリをIDEへインクルード
ARDUINO開発環境へインクルードします。
方法はライブラリの管理からWEBサイトからダウンロードする方法とダウンロードしたZIP形式のファイルを読み込む方法があります。
今回は事前にダウンロードしておいたものを読み込みます。
インクルードできると下記のようなリストが追加されます。
DHT11接続
ではDHT11を接続しましょう。
+を3.3V
outをA8
ーをGND
に接続します
スケッチ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
#include const int DHT_PIN = 8; DHT dht(DHT_PIN,DHT11); void setup() { Serial.begin(9600); Serial.println("DHT11"); dht.begin(); } void loop() { delay(3000); float humidity = dht.readHumidity(); float temperature = dht.readTemperature(); Serial.print("湿度: "); Serial.print(humidity); Serial.println("%\t"); Serial.print("温度: "); Serial.print(temperature); Serial.println(" C"); } |
課題
シリアル通信でのログを見るとわかるように温度、湿度のデータは取れるのがわかりました。
ただ、このデータに取得時間がほしいところです。ただARDUINOには時刻を持っていません。
なので時刻を付加する時計モジュールなどを付けるか、受信側で受信日付を付加する必要があるでしょう。
時計モジュールはこんなのがあります。