Arduino

2.4 Arduino DHT11で温度・湿度を計測してシリアル通信する(4)

2017/08/27

2.4 Arduino DHT11で温度・湿度を計測してシリアル通信する(4)

センサーで温度を測りシリアル通信でデータを見てみましょう。

温度・湿度センサー

DHT11

  • 3〜5Vの電源
  • 変換時に最大2.5mAの電流を使用
  • 5%の精度で20〜80%湿度の読み取りに適しています
  • 0〜50℃の温度読み取りに適しています±2℃の精度
  • 1Hz以下のサンプリングレート(毎秒1回)
  • ボディサイズ15.5mm x 12mm x 5.5mm
  • 4ピン、0.1インチの間隔

DHT22

  • 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)

AdafruitのDHT11ダウンロード先

ライブラリをIDEへインクルード

ARDUINO開発環境へインクルードします。
方法はライブラリの管理からWEBサイトからダウンロードする方法とダウンロードしたZIP形式のファイルを読み込む方法があります。
今回は事前にダウンロードしておいたものを読み込みます。
インクルードできると下記のようなリストが追加されます。

 

DHT11接続

ではDHT11を接続しましょう。
+を3.3V
outをA8
ーをGND
に接続します

 

スケッチ

 

課題

シリアル通信でのログを見るとわかるように温度、湿度のデータは取れるのがわかりました。
ただ、このデータに取得時間がほしいところです。ただARDUINOには時刻を持っていません。
なので時刻を付加する時計モジュールなどを付けるか、受信側で受信日付を付加する必要があるでしょう。

 

時計モジュールはこんなのがあります。

 

 




-Arduino