第4回はバイク走行時に外気温を図るため、温湿度各種センサーを用いて、動作を確認していきます。
第3回はこちらからどうぞ
温度センサーについて
今回使用する温度センサーは、DHT-11を利用します。
おそらく日本で出回っているお試し温度センサーとしては、一番メジャーなセンサーでいろいろな通販サイトで取り扱っています。
私はAmazonで中国製の基盤実装型を購入いたしました。
(評価用と呼ばれるものです。基板実装しなくても端子に接続するだけでIOが取得できます。)
この手のセンサーの値段はピンキリなので、「高いのがいい」「互換機で十分」などどちらの意見もありますが、購入の検討にあたっては自分のスキルと状況(スケジュール等)をよく考えて購入頂ければと思います。
下記は基盤実装されたセンサーのデータシートの内容を簡単にまとめた仕様です。
DHT-11単体とは異なるので注意してください。
温度レンジ:0~50℃(60)
温度誤差:±2℃
湿度レンジ:20%~90%RH
湿度誤差:±5%RH
温度誤差が意外と大きく、利用できるところが少なく感じますが、DHT-11の良いところは購入時点で校正がされており、袋から出した状態で利用できるところです。
お気軽にテストするのに向いていることがセンサー仕様からも読めますね。
回路
ブレッドボードがなければ直接Arduinoにつないでも問題ありません。
DHT-11評価基盤の動作電圧は5Vでしたので、5V出力から電気を供給しました。
コード
#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT11 // DHT 11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
dht.begin();
}
void loop() {
delay(2000);
float h = dht.readHumidity();
float t = dht.readTemperature();
float f = dht.readTemperature(true);
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
Serial.print(F("Humidity: "));
Serial.print(h);
Serial.print(F("% Temperature: "));
Serial.print(t);
Serial.println(F("°C "));
}
DHT-11のセンサーは読み取りの信号を受けてからセンサー値を吐きます。
その応答時間が約1秒ほどありますので、ループを回す際にはdelayをかけてから取得するようにします。
また、値が取得できない場合はシリアルモニターにFaild…を出します。
結果
結果は2秒に1回シリアルモニターに出力されます。湿度は1%単位、温度は0.1℃で出力されました。
息を吹きかけるとセンサー値が上昇しますので、問題なく動作していると思います。
まとめ
バイクに乗せる際の考慮点ですが、走行風を直接当ててしまうと正しい値が取得できませんので、設置場所は何かで遮れる場所にしたいと思います。
ただ、どこにおいても走行風で実温度より低くなってしまうので、参考値ぐらいに利用するのがよさそうです。
旅を楽しくするArduino端末を作る。リンク集
その1-不満点を挙げよう-
その2-不満点をまとめよう-
その3-電圧測定器を作る-
その4-温湿度計を作る-
その5-気圧計を作る-
その6-方位・高度計をGPSで-
その7-12Vバッテリーから電力供給
その8-Ver1作成-
その9-電圧計の誤差とその代替案-
その10-Ver2へアップデート-
その11-LCDをI2Cで制御しよう-
その12-LCDをI2C化-
その13-Ver3へアップデート-
その14-USB充電の仕様に関して-
その15-Arduino言語を用いながらBluetoothで通信できるESP32-
その16-旅Arduino Ver4 スマホアプリ化-
この記事へのコメントはありません。