« HP 100/200LXのSNDファイルをArduinoで鳴らす | トップページ | Arduinoオシロkit_scopeのシールド化(2021/02/09追記) »

2020/11/16

VIERA→REGZAリモコンコンバータの改良【2025/01/28後日談追記】

8月にVIERAが故障しREGZAをお迎えして不便になったリモコン操作を一元化するため、9月に赤外線リモコンコンバータを作りました。それから2ヶ月、時々反応が鈍いなぁと思いつつ、便利に使っています。
ちょっと別件でTinkerBoard(ASUS製の、Raspberry Piと外形互換で高性能なシングルボードコンピュータ)用の赤外線リモコンを検討していたときに赤外線リモコンの通信フォーマットをまとめておられるサイトを見つけて、さらにルネサスエレクトロニクスさんのアプリケーションノートも読みながら勉強したところ、今さらながら次の2点に気付きました:
・リーダー部を確認すれば機種判定もゴミデータ(ノイズ)の判別もできる。
・前は上り下り両エッジを検知して、その偶数番目のデータを赤外線のLOW区間(赤外線受信モジュールのHIGH区間)とみなして長短判定していたところ、ルネサスさんは下りエッジだけを検知してデータ長を取得している。この方が区間判定も閾値設定もより確実。
このいずれも、受信の安定化に繋がります。実際、TinkerBoard向けのPythonスクリプトで従来のリモコンコンバータと同じ実装と上記2点を加えたものを比較したところ、圧倒的に安定になりました。

また、HP 100/200LXのSNDファイルをArduinoで鳴らしたときにATtiny85のパワーダウンモードを使ってみたことを踏まえて、リモコンコンバータのATmega328Pでもルネサスさんに倣ってアイドリング10秒で省電力モードへ移行することを考えました。

これらの改良を加えた結果、ATmega328Pでも取りこぼしがほとんどなくなりました。ただ、省電力モードの方は動作時800μA前後(受信状態による)からパワーダウン時に300μAまでしか下がらず、ATmega328Pなら0.1μAレベルまで下がるはずではと調べていった結果、赤外線受信モジュールのアイドル電流が残っていました。これは仕方ないですね(汗
というわけで、設置したところの記念写真です。コンバータの箱の後ろに、TinkerBoardのGPIOに直挿しして伸ばしたリモコン受信部が覗いています。
Irfake5

スケッチ(ソース)はGitHubにアップしておきました
何かの参考になれば幸いです。ご利用は自己責任でお願いします。

パドラッパ from MacBook Air (2017)

【2025/01/28後日談追記】
2年ほど便利に使っていたのですが、ATmega328Pの故障で動かなくなりました。同じコードを焼こうかと思いつつDIGAのマニュアルを見直したところ「リモコンのテレビ操作設定」というページがあり、実はDIGAリモコンそのままでREGZAを操作できるように設定変更できることが分かりました。つまり、この工作は不要だったというわけです。楽しかったからいい(すねてません)。

| |

« HP 100/200LXのSNDファイルをArduinoで鳴らす | トップページ | Arduinoオシロkit_scopeのシールド化(2021/02/09追記) »

コメント

コメントを書く



(ウェブ上には掲載しません)




« HP 100/200LXのSNDファイルをArduinoで鳴らす | トップページ | Arduinoオシロkit_scopeのシールド化(2021/02/09追記) »