<arduino>温度計作ったよ
暑くないですか?
僕は暑いと思います。 (?)
部屋に温度計がなかったので逸般の誤家庭に1つはあるであろうarduinoとTMP36センサを使って温度計を作ります。 特にIoTしたってほどでもないのでメモがてらちょっとだけ書きます
目次
- 使ったもの
- 作ったもの
- 感想
1.使ったもの
今回は以下のものを使います
部品名 | 点数 |
---|---|
arduino | 1 |
TMP36センサ | 1 |
LCDモニタ | 1 |
USBケーブル | 1 |
ブレッドボード | 1 |
線 | 適量 |
モバイルバッテリー | 1 |
モバイルバッテリーは電源用です。まぁ電源ケーブルなりなんでも好きなもの電源にしてください。
2.作ったもの
arduinoのアナログピンにセンサを繋いで出力用のLCDもつなぐと動きます。
ちなみに今回使ったLCDは昔紹介したキットについてきたやつを使いました。I2C通信で表示を制御しています。
2.作ったもの
回路は今回はブレッドボードにグサグサしました。
わかりにくいので一覧を出しとく
ピン(パーツ) | 接続先(arduino) |
---|---|
センサ Vcc | 5V |
センサ Vout | A3 |
センサ GND | GND |
LCD Vcc | 5V |
LCD SDA | A5 |
LCD SCL | A4 |
LCD GND | GND |
そしてスケッチ
#include <Wire.h> //I2Cライブラリ #include <LiquidCrystal_I2C.h> // センサの繋がるanalogポート番号 int io = 3; LiquidCrystal_I2C lcd(0x27,16,2); void setup() { // デバッグ用にシリアル通信を開始 Serial.begin(9600); lcd.init(); } void loop() { // 温度状況を格納する変数 double value; double temperature; //センサからの値を格納 value = analogRead(io); //センサからの電圧値を変換 temperature = (value/1024.0)*5.0; temperature=(temperature-0.5)*100.0; //温度情報をシリアル送信 Serial.print("temp="); Serial.print(temperature); Serial.println("C"); //遅延関数 delay(1000); // LCDのカーソルを設定 lcd.setCursor(0, 0); // LCDのバックライト点灯 lcd.backlight(); //文章を表示 lcd.print("Now Temp is"); //二行目に移動 lcd.setCursor(0,1); //温度を表示 lcd.print(temperature); }
そうすると
そして、
って感じで表示できます。
3. 感想
今回はなんとなくArduino Unoを使いましたが、多分Nanoにして小型の電源にしておけばIoT的な使い方ができそうって感じですね。
今後使いたいと思ったら改造してみます。
っていうのを書いてる最中に
このエントリを思い出した。
今回はちゃんとデータシート見て温度計算方法確認して作りました。えらい!!!
この画像の撮影時刻23時ごろなのですが我が家で一番暑い部屋なので25度を超えてます。
やっぱり日本暑いよ、、、沖縄行きたい(日本)、、、、、以上です。。。。。
これは本編じゃないよ
これは進展0だよ、100円ドブに捨てたと思うしかないね