suki_eliのアイコン画像
suki_eli 2021年02月20日作成 (2021年12月08日更新)
製作品 製作品 閲覧数 1755
suki_eli 2021年02月20日作成 (2021年12月08日更新) 製作品 製作品 閲覧数 1755

一定室温以下になったらエアコンをつけるシステム

一定室温以下になったらエアコンをつけるシステム

きっかけ

冬、寒いですよね〜。私は霜焼けがひどいです。その割にはエアコンをあまり使わず、よく指先が冷たくなっています。無意識のうちに電気代をケチる節約しているのかも知れません(面倒くさがり屋なだけかも知れないが)。意識改善でどうにかなる問題でもない気がしたので、半強制的にエアコンを点ける生命維持装置(?)を作ることにしました。

概要

  • Arduinoを使用する
  • 温度センサで室温を計測
  • 閾値を下回った場合に赤外線LEDから信号を送信
  • とにかく手軽に、短期間で構築一冬越せればいいや

使用部品

  • Arduino (互換機)
  • 高精度IC温度センサLM35DZ
  • 砲弾型赤外線LED
  • 赤外線リモコン受信モジュールPL-IRM2121
  • 他必要に応じて抵抗器、ジャンパ線、ブレッドボード等

完成形


※抵抗器間違えてます……
ブレッドボードの左側に温度センサ、右側に赤外線LEDを配置してあります。温度はA0で読み、LEDはD3で駆動しました。

構成

信号の送信

まず純正リモコンが送信しているデータを得ました。
キャプションを入力できます
このように赤外線リモコン受信モジュール(38kHz)を結線します。解析プログラムにはGithubで公開されているIRライブラリを利用しました。
shirriff/Arduino-IRremote
このライブラリのサンプルプログラムを使用します。デフォルトでは11番ピンに入力された信号を解析するようになっているので、その通りに結線します。


……
.……結論から言うと無理でした!!
信号が長すぎてエラーを吐きました。
面倒くさいので丁度いいライブラリを見つけてきました。
ToniAさんのarduino-heatpumpirというものです。
エアコンのメーカーさえ分かれば信号を送信できるスグレモノでした。
(今までの流れなんだったんだ……)

温度センサの実装

A0に入力した電圧を換算して室温を求めます。

変数degreesに温度を代入する部分

void loop() { //略 float degrees = ( round (( analogRead ( A0 ) * ( 5.0 / 1023.0 ) )* 100)) //略 }

完成

後は定期的にdegreesの値を更新させておいて、一定の値を下回った場合に、先ほどの信号を送信するプログラムにパスするだけです。

まとめ

一応時々エアコンをつけてくれているので、ちゃんと仕事をしているようです。よかったよかった

suki_eliのアイコン画像
ただの学生です。アンプとかArduinoとか電波とかで遊んでます。
ログインしてコメントを投稿する