2023年8月31日木曜日

トイレのリモコンがこわれた、、、

  突然ですが、、、トイレのリモコンがおかしくなりました。考えてみればもう20年近くになるのですから当然と言えばそれまでですが、完全に壊れてしまったわけではなく、時々いうことを聞かなくなるのです。
 いろいろ試してみた結果、リモコンが怪しいと思われますが、ハード的には何もデータがない状態ではお手上げです。
 試しにもう一つのトイレで使用しているリモコンを試したところほぼ機能することが確認できました。それでは、、、ということで、非常用?としてフラッシュ機能AUTO設定機能の2点に絞ったリモコンを自作することにしました。

 身の回りにある、テレビやエアコンなどのリモコンのほとんどは赤外線を使ったものがほとんどです。

 リモコンからの情報は1と0を組み合わせたコードを右図に示すような方式で送ることで伝達されます。
 波長950nmの赤外線を右下の緑で囲んだようなサブ・キャリヤにして送り出し、このサブ・キャリアを500uS ON、500uS OFFにすることで bit0、500uS ON、1500uS OFFにすることで bit1をそれぞれ表現するのです。(ELM-CHANさんのブログより転載)

 ということで、前述のフラッシュ機能とAUTO設定機能を達成するためにはリモコンからのそれぞれのコードを知る必要があります。

 ネットでいろいろ調べてみるとarduinoに赤外線信号センサをつなぐだけで、極めて容易にコードを解析できることがわかりました。(左写真)

 センサは手元のジャンク・ボックスからのものですが、一般的には OSRB38C9AA などが多く使われており、写真右上の素子がそれで、中央の脚?!が GND、右が +5V そして左を arduino の D4 に接続するだけです。

 取得したデータは下写真のようにリストアップされます。このようにして得たコードは、
フラッシュ機能0X200800B0B0 )とAUTO設定機能0X200800DCDC )でした。



 参考にさせていただいたサイトは、東京お気楽カメラさんの、タイトルは「Arduino nanoを使った⾚外線リモコンデータ
の受信器」です、あらためてお礼申し上げます。


 いよいよリモコンの製作ですが、簡単にするため、 arduino IDE により作成したスケッチを ATMEGA 8 にプログラムして16MHzで動かすことにしました。ATMEGA 8は古いですが、十分にこなれており信頼性も高いです。


 




 回路図を左に、これをブレッドボードで確認の様子を右写真に示します。写真右上に見えているのが赤外線用のLEDです、これもジャンク・ボックスからのものなので詳細は不明です。

 電源部は省略してありますが、絶えず使うものでもありませんので、単2マンガン電池3本を使っています。電源スイッチは必要ですが、切り忘れを防ぐために、跳ね返り型のスナップスイッチを使いました。このスイッチを押しながらS1、S2の押し釦スイッチを押すことで信号が発信されます。S1:AUTO設定機能、 S2:フラッシュ機能にそれぞれ割り付けました。
 回路図中の LED_RED (実験中のブレッドボードには実装してありません)は、従来のままだと赤外線は視認できないので、信号を発信してもなにも反応が感じられません!!
 そこで動作中であることが視認できるように信号発信中に赤色LEDを点灯させるようにしましたが、これによりリモコンを使っているという手ごたえが感ぜられます。

 arduino IDE で作成したソフトウェアは省略しますが、キモは tone 関数、および no Tone 関数です。tone 関数は tone(pin, frequency)  pin: トーンを出力するピン、frequency: 周波数(Hz) で表現され、今回は tone(12, 38000) で前述のサブキャリアを作成しましたが、ディユーティ比が1:3でなく、1:1でも何とか作動しました。

 一方、 no Tone 関数は出力を停止します。

 したがって bit 0 の出力は、
      tone(12,38000);
      delayMicroseconds( 500 );
      noTone(12);
      delayMicroseconds( 500 );
また bit 1 の出力は
      tone(12,38000);
      delayMicroseconds( 500 );
      noTone(pin_IR);
      delayMicroseconds( 1500 ); となりますので、これらを組み合わせて目的のコードを発信すればよいのです。

 右上は組みあがったリモコンの中身で、これをケース(無印良品のペンスタンドを利用)に組み込んだのが冒頭の写真です。単2マンガン電池3本のおかげで重心もしっかりしており安定しています。

 リモコンがおかしくなったおかげで、基本的なところから勉強することが出来、自作のリモコンも無事稼働しています。おかげさまでこの猛暑の中、楽しく熱中する時間を持つことが出来ました、健康に感謝です。