PCから操作できる赤外線学習リモコン

Last-modified: 2016-11-07 (月) 05:50:25

特にどうしても一から手作りしたいわけじゃないなら、Bit Trade OneのUSB接続 赤外線リモコンの方をお勧めします。派生版や上位版を自作することもできます。こちらをご覧下さい。
(2015-11-8追記)最近、上位版も発売されました(完成品のみ)。

 

私自身の最近の、赤外線リモコン関係のアクティビティ
http://a-desk.jp/modules/mydownloads/singlefile.php?cid=3&lid=76 USB赤外線リモコンアドバンス
http://a-desk.jp/modules/mydownloads/singlefile.php?cid=3&lid=81 USB赤外線リモコン
http://wikiwiki.jp/disklessfun/?network-io_on_universal_circuit_board#q933b869 ネットワーク赤外線リモコン
http://wikiwiki.jp/disklessfun/?runningele-sbdbt#asm_firmware 各社照明リモコン・クローン
当サイトには他にも様々な赤外線リモコン関連のページがあります。Googleはあまり正確じゃないので、上の検索フォームを使ってみて下さい。


エアコンを赤外線リモコンで操作するなら、↓こちらに裏技を使った手法を載せています。
携帯からインターネット経由で赤外線命令を発行して既設エアコンを操作


(2013-7-21)このリモコンから学習機能を省略したPCからの操作専用・赤外線リモコンを作成しました。


初出 2006-8-18
最終更新 2006-10-9 2007-6-15 2011-10-16 2013-11-30 2014-3-23
 
(2014-3-8追記:おまけ)
3年半程ここに赤外線リピーター関連のリンクを貼っていましたが、
アセンブラ記述の無駄のないプログラムが見つからなかったので自分で作りました。
C言語で書いたものの数分の一のサイズですし、動作タイミングもずっと正確です。
ダウンロードfileir-repeater.asm PIC12F683用
回路図等の詳細はこちら
 
ir-remocon_1_s.jpg
私が一から製作したものではなく、改造ネタです。
タイトルと矛盾していると思われるかもしれませんが、
本機はPCからの操作で学習はおこなえません。PCからは送信指令のみおこなえます。
 

仕様が決まった事情

そもそも赤外線操作の学習は機器の傍でないとおこなえないわけですから、PCから可能であっても、それほどメリットはありません。
対してPCから送信指令が可能であれば、機器を遠隔地から操作することが可能になるわけですから、そのメリットは大きいです。
しかも送信指令だけであれば、専用ソフトを必要とせず、UNIX等(SolarisやFreeBSDやLinux上)でシリアルポートに命令文字列をechoするだけでも可能す。
これはWebサーバ経由で遠隔地から機器の操作をおこなうには望ましい特性です。

 

以上の点から、私的には、
単体使用できる学習リモコンに、PCからの送信指令を受け付ける機能を加えたものが、お手軽で且つ有用である。
と結論付けました。
そこで、
他人様が公開されている単体使用できる学習リモコンに、私がPCからの送信指令を受け付ける機能を追加することにしました。

 

他人様が公開されている単体使用できる学習リモコンとして、RUU's HomePage学習リモコンの作成
を利用することにしました。

 
PCから赤外線を送信したりPCで赤外線を受信するなら、LIRCソフトウェアパッケージの使用をお薦めします。PCの強力な処理能力や大きな記憶容量を活かして事実上どんなメーカーの信号も対応できますし、ハードも非常に簡素な物で済みます。また大きなプロジェクトなので対応ソフトウェアも沢山あります。WindowsとLinuxに対応しています。(但しLinuxの場合、カーネルモジュールが必要なので少々構築が面倒)本サイトにも関連ページ:出来るだけ安くLIRCリモコン受信部を作るを設けています。

(2011-10-16追記)ごめんなさい、LIRCには多くの制限があることを最近になって知りました。

用途

製作時、念頭にあった目的は、AMラジオを選局することでした。これができればストリーミングサーバを構築して、離れた地域で普通は聴視できない放送を聴くことができます。
もちろん他の用途に使うことができます。
※未だストリーミングサーバは構築していません。あくまで念頭にあっただけですから・・・
※Webインターフェースで選局するテストはおこないました。

仕様

  • オリジナル仕様(詳しくはRUUさんのページを見て下さい)
    • 記憶できる命令数は14x7=98命令
  • 改造内容
    • シリアル送受信機能を追加、但し、シリアル送信機能はデバッグ時のみ使用
    • スイッチの数を減らした為、記憶できる命令数は8x7=56命令
    • 常時シリアルから受信可能とする必要がある為、sleepはしない

回路図

ir-remocon_circt_s.png
RUUさんのオリジナルと比べてスイッチの数を省略しています。理由は二つ。シリアル送受信機能を追加する為にピンを空ける必要があった為、さらに、PCから操作する場合には頻繁にページ切替をおこなっても支障ない為です。回路図を見ればすぐにわかりますが、あと2個までなら簡単にスイッチを追加できます。
今から思えばRUUさんオリジナルからの無駄なポート変更が多過ぎ。

 

PL-IRM0101周辺にはデータシート推奨どおりのデカップリング回路を組んでいます。
このデカップリング回路は電源電圧が安定している場合には省略することもできます。このあたりの考察は出来るだけ安くLIRCリモコン受信部を作るに記述しています。

 

BSch3V形式(zip圧縮)


主要部品表
部品名値段
PIC16F88230
Microchip 24LC64100
PL-IRM0101110

シリアル経由で送る操作コマンドのフォーマット

ページ番号+キー番号+CRです。
CRは16進数ではDです。

 

ページ1のキー番号1の命令を指定する場合は、

$ echo -e '11\r' > /dev/ttyS0

みたいな感じになります。

基板

ir-remocon_2_s.jpg
ir-remocon_3_s.jpg

ソース

MPASM用
fileir-remocon.asm  2014-3-23更新(ここで施したオーバーラン対応を反映しました。長い赤外線命令を送信するように改造した場合にメリットが生じる可能性があります) 2013-11-30更新(ここと同じ修正を施しました。具体的にはシリアル経由の命令受信ルーチン(私が2006年に追加したもの)を更新しました。5月に製作後7年経って初めて本機を本格使用したところ、激しく命令を送るとハングアップする不具合が発見されました。インサーキットデバッガは持ってないのですが、ソースを眺めたところ、すぐに見当がつきました。そこを修正し、ここに反映して調子を察たところ、長期間安定動作しています)

 

著作権は元製作者のRUU氏に属します。
私自身の著作権は放棄します。

Webインターフェース(サンプル)

euc-jp、unix形式テキストファイルをzip圧縮(テストしてみたもの)

対応機器

RUUさんの改良型 学習リモコンのページによると、この学習リモコンは”既知のしかもプログラムで想定した標準方式によるフォーマットのリモコン信号でなければ正しく受信(学習)できない”制限があるとあります。

 

手持ちの機器で簡単に検証した結果、以下のようになりました。

検証したメーカー(製品)結果
SONY(ラジカセ)
SHARP(ビデオ)
SHARP(AQUOS)
日立(テレビデオ)
SANYO(テレビ)
Victor(コンポ)×
東芝(エアコン)×
東芝(シーリングライト)
三菱(エアコン)×
NECライティング(シーリングライト)
丸善(シーリングライト)
パナソニック(コンポ)

基本的には同一メーカーであれば共通の赤外線フォーマットを使用しているようですので、SONY、SHARP、日立、SANYO製の機器であれば使用できる可能性が高いということでしょう。対してVictor、三菱製の機器にはまず使用できないということでしょう。私としては単独動作できる安価な赤外線リモコンでこの結果が得られたことは満足いくものでした。
このほど(2011年)購入した日立のエアコンでは駄目でした。

(おまけ)赤外線リピーターの詳細

ファームウェア・ソースはこのページの冒頭部・右側

 

(2014-3-23追記)
ここで紹介しているのはキャリア(搬送波)周波数が38kHzの赤外線リピーターです。ターゲットデバイスで使われているキャリア周波数が他の周波数なら、それに合わせて赤外線リピーターの赤外線受信モジュールを変更する必要があります。赤外線リピーターは、キャリア周波数と赤外線波長※の2つさえ合致していれば、プロトコルに関係なく、どんなメーカーのどんな機器でも通用します。つまりもちろんエアコンの超長い赤外線命令でも大丈夫です。ちなみに、この赤外線リピーターの動作確認は三菱のエアコンでおこないました。なので、三菱は38kHzです。
※波長の違いはあまり心配する必要ないでしょう。

 

ir-repeater_1_s.jpg
クリックすると大きな画像で表示されます
受信窓は30分エポキシ樹脂です。5分エポキシは黄色味が濃いので避けた方がいいと思います。もうだいぶ前のことですが、30分エポキシも黄変が激しくなってきたので除去しました。(2015-6-28追記)
赤外線LEDは写っていません。2芯のケーブルの先に取り付けます。
ケースはタカチSW-55です。

 

ir-repeater_2_s.jpg
クリックすると大きな画像で表示されます
相当なテキトー工作なので観察してもあまり価値はないです。それより回路図の方を活用して下さい。
久しぶりの赤外線受信モジュールを使った自前工作なので、「受信モジュールの性能上がってるかな?」と当初電源ノイズ除去回路(本ページ前半部ではデカップリング回路と表記しています)を省いて作ってみたのですが、実際には以前と事情は同じで、スイッチング電源の場合、電源ノイズ除去回路はほぼ必須で、後から追加しました。

 

回路図
赤外線リピーターは上記の赤外線リモコンと比べてわりと電子工作が趣味でない人が作る機会が多いと思うので、回路図を載せておきます。
ir-repeater_circt_s.png
クリックすると大きな画像で表示されます
増幅回路の抵抗値はテキトーです。220Ωは直接駆動用の抵抗をそのまま使用しただけです。しかし(この赤外線受信モジュールを使用する限り)電源ノイズ除去回路の22kΩは変更できません。75Ωのところは47Ωから100Ωが使えます。47μFのところは47μFから100μFまで使えます。

 
 

ご要望、ご意見、質問を下のフォームにどうぞ
(でもここより、掲示板書き込みフォームのページに書いて頂いた方が気づき易いと思います。)