ハリネズミ管理のためのArduinoを使った温度管理システムVer1.0
前回、ハリネズミを見守るためのRaspberry pi 3を用いたネットワークカメラの構築を行いました。こんな感じでiPhoneからも見れます。
今回は、家で眠っていたArduinoを掘り出してきて、ちょっと賢い温度計を作ります。
- 必要な物
Arduino uno
温度センサ(LM35)
LED(赤と青二つ)
抵抗
ワイヤ
フレットボード
USBケーブルなど
以下のセットで全て手に入ります。
- なぜArduinoを使ったのか
家で眠っていて何か使えないかという事が一点と、LM35という温度センサーをraspberry piで使用するためにはAD変換しないと使用できないのがもう一点。
Arduinoはディジタルもアナログもいける子なのでこいつを使います。
配線はこんな感じで行いました。
LM35の温度センサの配線はこんな感じです。
LEDは青と赤を使用し、一定間隔毎に計測した温度を元に、温度が20度より高く30度より低い時はちょうど良い温度なので青色のLEDを点灯させ、それ以外の時は寒すぎるか暑すぎるときなので、赤色のLEDを点灯させます。
ArduinoはC言語で書いたソースで制御できるので、手軽に使用できます。
今回のソースコードは以下のようになります。
float a_in; // アナログ入力値(0〜203)
float temp_c = 0; // 摂氏値( ℃ )
int red_led = 2;
int blue_led = 3;
void setup(){
Serial.begin(9600); // シリアル通信速度
pinMode ( red_led, OUTPUT);
pinMode ( blue_led, OUTPUT);
}
void loop(){
// アナログピンから計測値を取得(0〜203)
a_in = analogRead(0);
// 入力値を摂氏に換算
temp_c = ((5 * a_in) / 1024) * 100;
// 出力
Serial.print( temp_c );
Serial.println('C');
if(temp_c > 20 && temp_c < 30){
// 青色LEDを点灯 ( HIGHは電圧レベル )
digitalWrite( blue_led, HIGH );
digitalWrite( red_led, LOW );
}else{
// 赤色LEDを点灯 ( HIGHは電圧レベル )
digitalWrite( red_led, HIGH );
digitalWrite( blue_led, LOW );
}
// 10s待機
delay(10000);
}
- 全体図
ArduinoはRaspberry piから給電を行い、動作させます。
後々、部品や環境が整ったらシリアル通信をさせて何かリッチな表示をさせたいと思います。