ソロでたのしむ

DIY、電子工作、キャンプ用品などの趣味を紹介します。

温湿度センサーDHT11で温度と湿度をディスプレイに表示する(Arduinoでコクピット①)

 

スポンサーリンク

車に装着している、ArduinoとGPSモジュールを使用したモニターに、全7回で表示情報量を多くするバージョンアップをしていきます。

バージョンアップ前のGPSモニター制作記事はこちら↓

solocamptouring.hatenablog.com

 

バージョンアップ前の車両取付状態↓

JB23ジムニーに装着した、自作オーバーヘッドディスプレイのGPSモニター

モニターの選択

現在使っているGPSモニターには、
・時刻
・高度
・速度
・進行方向
・捕捉している衛星数
の5項目の情報を表示しています。

16x2文字のLCDモニターを使っていますが、5項目を表示するのが精いっぱいで、さらに追加で情報を表示するためには、モニターを大型化しないといけません。


簡単に入手できるLCDのうち、次に表示文字数の多いものは20x4文字なので、これに変更する前提でセンサー等を追加していきます。

LCDモニター 1602と2004 比較

追加表示する情報

今後、追加表示していきたいのは、
・温度
・傾斜計(クライノメーター)
の2項目です。

まず今回は、比較的に簡単な温度表示の追加について試してみます。

温湿度モジュール

DHT11というセンサーモジュールを使います。

安くて精度はまあまあというものですが、今回は小数点以下の精度を必要としないので十分使えます。

Arduinoで、GPSモジュールと温湿度モジュールを使いLCDディスプレイに表示する

左上のクリップで挟んでいるのがDHT11

回路図

DHT11で温度と湿度をディスプレイに表示するArduinoスケッチ

Fritzingで回路図作成しました。


バージョンアップ前の回路に対して、左上の温湿度センサーが追加になっています。センサーの電源電圧は5Vです。

温湿度センサー用のスケッチ

温湿度センサー用のライブラリーは、GitHubのadafruit/DHTセンサライブラリからダウンロードして使いました。
前回記事で紹介したGPSモニターのスケッチに、次に紹介する行を挿入します。

まずは、DHT11用ライブラリを使う事を宣言します。

#include <DHT.h>
#define DHTPIN 13
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);

 セットアップ部で、DHT11と通信開始します。

void setup()
{
  dht.begin();
}

 ループ部で、DHT11からの読み込みとLCDディスプレイへの書き出しを命令します。

void loop()
{
 int h = dht.readHumidity();
 int t = dht.readTemperature();
  if (isnan(h) || isnan(t) ){
     lcd.setCursor(0,3);
     lcd.print("UPDATING           ");
  }else{
   lcd.setCursor(0,3);
   lcd.print("Humid:");
   lcd.setCursor(6,3);
   lcd.print(h);
   lcd.setCursor(8,3);
   lcd.print("%");
   lcd.setCursor(10,3);
   lcd.print("Temp:");
   lcd.setCursor(15,3);
   lcd.print(t);
   lcd.setCursor(17,3);
   lcd.print("c");
  }
}
 

作動確認

20x4文字のLCDを使い、問題なく作動しました。

Arduinoで、GPS情報、温度、湿度をLCDモニターに表示する
センサーを手で温めると、すぐに温度が上がってくるので、変動レスポンスも良さそうです。

今回はDHT11とGPSモジュールを同時に使えるか確認することが主目的なので、各情報の表示位置は暫定です。次回は、傾斜計など全ての表示を含めたレイアウト検討をします。

スケッチは、完成記事(⑦)内で紹介しています。

www.solocamptouring.com

 

完成状態の動画もつくりました。


Arduino project #1「GPSマルチモニター 」Multi-information monitor with GPS module