PCからの操作専用・赤外線リモコン

Last-modified: 2016-11-07 (月) 05:52:55
リニューアル初出 2015-1-3
最終更新 2015-1-3
今はこれを使っています。←これ自体はPCからの“操作専用”ではありません。完成品だけでなく、キットを利用することもできますし、派生版や上位版を自作することもできます。こちらをご覧下さい。
send-only-ir-remocon_4_s.jpg
クリックすると大きな画像で表示されます
赤外線LEDを上向きに取り付けています。これが唯一のハードのカスタマイズです。
 

このUSB接続赤外線リモコンはエアコン等を操作する用途にも使えますが、現在私はTSTB-R50(外付けテレビチューナー)をPCから操作する用途で使用しています。本製品は家電製品をPCから操作する用途に、とても向いていると思います。

 

これに関してはファームウェアの更新等で私が関わっています。ファームウェアはUSB経由でPC上から、ライタ不要で書き換えがおこなえます。

 

TSTB-R50や多くのエアコンが操作できる改良版ファームウェアのダウンロードはこちら
このファームウェアを使うと、購入時点の機能と全く別物になります。現時点でのAmazonのレビュー群はこのファームウェアを使ってない(知らない)人が書いたものらしく不正確なものです。

 

上掲アーカイブ中に(PIC18F14K50を採用している)純正ハード用として6種類のファームウェアが入っていますが、私がTSTB-R50を操作する際に使用しているファームウェアは「(2.1.B)シリアルインターフェース版(送信機能のみ、開発フォルダ入)」という名のフォルダの中にあります。

 

さらにその中にある入れ子アーカイブとなっている開発フォルダの中の「examples(usage)」フォルダの中に、Linux上で当該ファームウェアを使用してTSTB-R50を操作する際に必要となるファイルが入っています。

 

その他、デフォルトのHIDインターフェースで純正の使い方をする際に必要となるファイル類はこちらからダウンロードできます。


(2016-1-10追記)
私が自作した、ビット・トレード・ワン社 USB接続赤外線リモコンの互換品
全5種のうち、最初の3種は送信専用です。受信機能を持った版で学習したリモコンコードを用います。
また最初の2種はUSB接続でなくてシリアル接続です。
1.internet-ir-aircon-raspberry-pi_6_s.jpg2.pic16f886-ir-transmitter_s.jpg
クリックすると大きな画像で表示されます
3.pic18f14k50-transmitter_s.jpg
クリックすると大きな画像で表示されます
4.friskcase-size_upward-compatible-version_s.jpg5.upward-compatible_and_development_board_s.jpg
クリックすると大きな画像で表示されます
下側の2種についての詳細はこちら

 
 
 
 

(2014-10-26追記)旧ハードは予備のエアコン操作専用リモコンに改修して友軍化しました。全面的に内容を削除してもいいくらいなのですが、とりあえずこうして残しておきます。
(2014-7-4追記)
本ページの「PCからの操作専用・赤外線リモコン」は自作ハードウェアなのですが、
実は、全く同じ働きが可能で、本ページの自作ハードとそっくり入れ替えてしまえるリモコンが完成品で共立エレショップで購入できます。これを買えば半田ごてを持つ必要すらありません。現在私は自作ハードを取り外し(それは遊軍化して)、代わりにこのリモコン(ビット・トレード・ワンUSB接続 赤外線リモコン)を取り付け、以前と全く同じように、PCからTSTB-R50を、自動操作したり、手動操作したりしています。
但し私は完成品を購入したのではなくキットで購入しました。
本ページの自作ハードとそっくり入れ替えるためにはそれなりに説明の必要な設定が必要です。
それはまた追記します。


旧内容←このファームウェアを使わなくなるのはもったいないので生かしたこれを作りました。

初出 2013-7-21
最終更新 2014-7-4
このページこのページからの派生ページです。
 

ここのハードはここで使うので、遊軍にしておきたいし、図体もでかすぎるので送信専用でコンパクトなものを作りました。PCから外付けテレビチューナー・TSTB-R50を(主に自動)操作する用途で使用しています。PIC16F88+FT232RL USBシリアル変換モジュールという非常に安直な作りです。実はここでも使えるようにハードウェア変換チップを使うことは要件でした。普段の使用環境は違いますが、ここ(DD-WRT)でも動作確認済みです。

 

send-only-ir-remocon_1_s.jpg
クリックすると大きな画像で表示されます
赤外線LEDが半ば反転した向きになっている理由は使用環境にあります。テイシンのTB-51に入れて、操作対象のTSTB-R50の天面に、手前側にはみ出した形で、赤外線受光部に半ば被さるように貼り付けて設置しているからです。長い足が鉛直方向に伸びているチップは、おまけ機能として追加した温度センサーのMCP-9700です

 

send-only-ir-remocon_2_s.jpg
クリックすると大きな画像で表示されます
私はここここここここで、メッキ線のみで配線する作例を示していますが、本機は同列にはできません。今回は安易に未使用のピンを横断して配線しています。。

 

(2013-7-30追記)
12MHzの水晶を追加しました。
send-only-ir-remocon_3_s.jpg
クリックすると大きな画像で表示されます
追加の理由は2つ。1つめの理由は8MHzでは反応が鈍いから、2つめの理由は将来18Fシリーズに変更してビット・トレード・ワンのUSB接続 赤外線リモコン(エアコンにも対応)をシリアルインターフェース化したファームウェアを動かす構想を持っているから、です。 ←(2014-3-12追記)この計画はなくなりました。(2015-11-8追記)シリアルインターフェース化版は、2014年頃、別の基板を用いてこちらで実現しています。

 


ファームウェア
このページこのページのソースをマージしたようなものになっています。

 

ダウンロード filesend-only-ir-remocon.asm  TSTB-R50用のリモコン・TS-RKT01Zの46命令(テレビ操作用の白囲みボタン以外の全ボタンの命令)を内包

2014-3-12更新((今ごろになってなんですが、)シリアル受信部にオーバーランエラー処理を追加。Microchipのサンプルコードをコピーしたんだからオーバーランエラー処理は入っている、と思い込んでいたんですが実際には……。今回の修正は温度計測時の割り算のような時間を食う処理をおこなう場合に効きます) 2013-12-25更新(私の環境では温度計測を頻繁におこなうことにしたので温度計測&計算時のシリアル通信を無効化、私の環境での更正値をデフォルト化) 2013-11-09更新(7命令を追加し、TSTB-R50操作用の全命令に対応しました) 2013-10-7更新(PCホットリブート後に反応がなくなる為、BODEN_ONに変更しました。USBバスパワーで動作させる場合、多分デフォルトでONにするものだと思います) 2013-9-2更新(シリアル経由の命令受信ルーチンを更新しました。ていうか実は、4ヶ月ほど前にTSTB-R50を購入して、これを製作後7年で初めて本格使用を始めた直後にこのルーチンは現在の状態に修正していました。以来ずーっと様子を見ていて、このほど確かに修正の効果があると思えるようになったので公開することにしました。かなり激しく使い込まないと前との違いはわからないと思います)  2013-7-30更新(水晶振動子追加に伴う変更のみです)

 

「PCから操作できる赤外線リモコン」としてのインターフェースはこれと同じです。いつでも差し替えられるようにしているわけです。

 

私の環境ではcronで10分毎に室温を計測し、その値をこの液晶の現在時刻表示の横に表示しています。

 

(2014-4-8追記)
ちなみに、現状は温度計測&計算時にシリアル通信を無効化していますが、無効化しない場合、温度計測&計算時に赤外線を発射する命令を本機に(シリアル)送信すると、温度計測&計算が事実上キャンセルされ、かわりに赤外線の発射が実行されます。好みに合わせて仕様をカスタマイズすればいいと思います。

 

MCP-9700は出力電圧変化/温度変化の値が非常に小さい上、常温では出力電圧が2V近辺の為、Vrefが電源電圧と同じ場合、10bitADCを使っても取り出せる結果の精度が非常に悪いです。そのうちLM35DZにでも交換するかもしれません。
(2014-4-8追記終わり)


おまけの温度計測機能を利用する為のスクリプト
ダウンロード  fileget-temp.sh
PCと組み込みハードをシリアル通信で仲介するスクリプトです。

 

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