最近寒いのでカーテンを遮光・遮熱のものに変えた。
遮熱のほうはあまり実感がないが遮光のほうはばっちりで、
昼間でもカーテンを閉めれば部屋がかなり暗くなる。
寝てる間は暗くてよいのだが、
朝になっても明るさで自然に目が覚めるということがなくなった。
時計を見ないと大まかな時間すら分からないのは思いの外不便だ。
そこで、以前購入した M5StickC を使って
毎朝自動で照明を点灯させることを思いついた。
使用する照明器具とリモコン
私の部屋の照明はNECライティング(現ホタルクス)の
LEDシーリングライトHLDX0801
を使用している。
昨年買い換えたのだが、
これはシーリングライトとしてはかなりの薄型で、
引掛シーリングと合わせても高さ6cmくらいしかない。
以前使用していたものは高さ15cmほどあったため、
圧迫感がなくなり気に入っている。
唯一の不満点はリモコンが付属していないことで、別途
RE0206
を購入し使用している。
リモコンの信号解析
まずは点灯時に RE0206 から発信される赤外線信号を調べるため
Grove 接続の IR ユニット
を購入した。
M5StickC 単体でも赤外線の発信はできるが、受信はできないため、
リモコンの信号を調べる場合は別途購入する必要がある。
M5StickC/M5Stack Fireで赤外線リモコンを作ろうと四苦八苦したのでメモ - カワリモノ息子の技術メモ的な〜
を参考に Arduino IDE から
IRremoteESP8266 をインストールし、スケッチ例の IRvecvDumpV3 を開く。
kRecvPin を 33 に変更して M5StickC へ書き込んだあと、
IR ユニットへ向けてリモコンのボタンを押すと
シリアルモニタへ信号が表示された。
赤外線リモコンの信号にはいくつか種類があるらしいが、
NEC製品なので当然NECフォーマットだった。
スケッチの作成
M5StickC で設定時刻に赤外線信号を送信するスケッチを作成した。
saasan/m5stickc-ir-timer: M5StickCで設定時刻に赤外線信号を送信する
IR_SEND_DATA の 0x41B6659A が上記で解析した点灯するための信号で、
これを IRsend クラスの sendNEC メソッドで送信している。
タイマーの時刻は
ボタンA(正面の「M5」ボタン)で時、
ボタンB(側面の小さいボタン)で分を変更できるようにした。
送信するリモコンの信号を変えればいろいろと応用できそう。