・目的
温湿度センサDHT11を使って湿度と気温(℃)を表示すること。
今回DHTライブラリを使用することで簡単に温度データと湿度データを
表示していきます。DHT11はとても簡単に温度と湿度が得られるので
おすすめですね
・使用したもの
EasyWordMall DHT11 温度と湿度センサー デジタル出力
- 出版社/メーカー: Apple Trees E-commerce co., LT
- メディア: その他
- この商品を含むブログを見る
・方法
(1)回路を作成
DHT11は左のピンから順にVCC,I/O,NC,GNDです。
表1にピンのナンバーとピンの説明をまとめました。
DHT11の入力電圧(Vcc)はは3.5~5.5V。回路図を図1に示しました。
表1:ピン割り当て
pinNo |
|
1 |
VCC |
2 |
I/O |
3 |
NC |
4 |
GND |
(2)ライブラリをインポート
DHT11を使うには2つのライブラリをインストールする必要があります。
Adafruit_SensorライブラリとDHTライブラリです。
Adafruit_Sensorライブラリは
https://github.com/adafruit/Adafruit_Sensor
からダウンロードし、ZIP形式でライブラリーをインポートします。
先ほどのURLをクリックしてgithubに行き、clone or downloadをクリックします。
その後Download ZIPをクリックしてZIPファイルをダウンロードします。
スケッチ→ライブラリのインクルード→.ZIP形式のライブラリをインストール
をクリックして
先ほどダウンロードしたzipファイルを選択します。これで一つ目の
ライブラリのインポートは終わりです。
続いてDHTのライブラリをインポートします。
スケッチ→ライブラリをインクルード→ライブラリを管理をクリック
図3:zip形式ライブラリのインポート
図4:DHTライブラリインポート
そしてインストールをクリックすれば終了です
(3)プログラムコード
それでは温度と湿度を表示させてみましょう。
基本的なプログラムを載せました。
#include <DHT.h>
const int PIN_DHT = 8;
DHT dht(PIN_DHT,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("Humidity: ");
Serial.print(humidity);
Serial.println("%\t");
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" *C");
}
図2:プログラムコード
・結果
一応それらし値が出てますね。ただ精度の高い温度計湿度計を
持っていないので、実際どれだけ合ってるのかわかんないですね。
エンペックス気象計 温度湿度計 スーパーEX 温湿度計 壁掛け用 日本製 シャンパンゴールド EX-2728
- 出版社/メーカー: エンペックス (EMPEX)
- メディア: ホーム&キッチン
- 購入: 1人 クリック: 2回
- この商品を含むブログを見る
こういうのが一台あると安心ですね。おすすめですよ!
うん大体いいのかな
他にも色々なセンサーを使ってみました。
温度の測り方も色々ありますよ〜