エレキットTU-876CD用 赤外線リモコンモジュール

製作:2016年3月10日~12日
執筆:2016年3月18日
全景 エレキットのCDプレーヤー「TU-876CD」に取り付ける赤外線リモコンの受光モジュールを作成しました。 メーカー設計のプレーヤーで無効にされていたイントロ・シングルプレイ・シャッフル・プログラムの機能も使えるようにしてあります。 電源投入後に自動的にPLAYを押す機能もあるので、真空管が暖まってから再生する時に便利です。

TU-876CDの操作部の回路構成

操作部回路図 エレキットの真空管CDプレーヤーTU-876CDにはリモコンが付いていません。このキットを買ったのはかなり昔なのですが、当時からリモコンが欲しいと思っていました。

右の回路図は操作パネル部分の回路図です。PLAYボタンは信号が別になっていますが、それ以外は抵抗の分圧を使ったA/D変換タイプのボタン検出になっています。 各スイッチと並列にリモコン操作で短絡する回路を取り付ければボタン操作が可能になります。
ところで、REPEATの抵抗だけ4.7kΩと10kΩに分かれています。コストを重視するならば15kΩにすると思いますが何故でしょうか?試しにここから"C"へ接続してみると「INTRO」と表示されました。 TU-876CDには後継機のようなMODEボタンの機能は存在しないはずでしたが、設計時にボタンが取り付けられなかっただけで後継機のようにCDユニット上には機能は残っているということです。 折角なのでこの機能も有効にしない手はありません。

ハードウエア

仮想スイッチとしてアナログスイッチの74HC4051を使いました。このICはONするスイッチの選択に3bitとON/OFFの指定の合計4bitで操作ができます。端子数が少なくても問題ないためコントローラにはPIC12F629を使いました。 製作中にPICを壊してしまったので後に12F675に置き換えていますが、ピンはコンパチなのでA/Dコンバータを無効にする1行を加えるだけで対応できます。
リモコンコードの処理はPICの割り込みを使って動作させるため、赤外線の受光モジュールはGP2/INTに繋いでいます。 5Vの電源はCDプレーヤーモジュールの電源取得ポイントと同じGLD端子から取ります。

基板サイズ リモコンモジュールの基板は操作スイッチ基板の下に取り付けられるサイズに仕上げてあります。 赤外線の受光素子はSTOPボタンの15mm左に位置するようになっているので筐体とフロントパネルにうまく穴を開けます。 穴の大きさが小さいとその分だけ受光範囲が減りますので、デザインとうまくマッチするようにしないといけませんね。

リモコン リモコンは千石電商で発見したSparkfunのInfrared Remote Control(COM-11759)を使いました。このリモコンのデータフォーマットはNEC形式です。 SparkfunのホームページのHookup Guideにボタンを押した時に出力されるリモコンコードの一覧が記載されていますが、 受信したビットをMSBファーストで並べた時の数値なのでプログラムを作るときにハマります。シリアル通信はLSBから送信するものだと思うのですがどうなんでしょうね。 以下にLSBファーストのデータを記載します。
Vendor ID08 F7POWER1B E4
A1F E0
B1E E1
C1A E5
05 FA
01 FE
00 FF
08 F7
04 FB

ソフトウエア

ソースリスト Ver.0.02

リモコンコードの解析

リピートの処理 リモコンコードの基本的な解析方法はドリームライトのページで解説しているので割愛します。 CDプレーヤーのリモコンで問題になるのは、リモコンのボタンを押している間はCDプレーヤー側でもボタンを押し続けないといけない事です。 NECのリモコンはボタンを押し続けた時にリピートコードが出力される周期が108msですので、108ms以上待ってリピートが来なくなるまではボタンをリリースしないようにタイマーなどを設けておきます。 この処理が無いとボタンが連打状態になってしまいます。 とは言ってもリピートコードにも有効時間があるので、そのタイマーに関するフラグを流用することで実装を簡略化しました。

電源投入後のオートプレイ機能

リモコンコードの解析のためにフリーランで回しているTimer1は65msごとにオーバーフローします。 この割り込みを15回カウントすると約1秒のタイマーになるので、電源を投入してから設定しておいた秒数だけカウントした後、自動的にPLAYボタンを押す機能を付けました。 この機能を使うと真空管がある程度暖まったタイミングで再生が始まるので、曲の頭からきちんと再生できるようになります。 もちろんこの機能もリモコンからON/OFFが可能で、オートプレイまでの待機時間は1秒~255秒まで設定できます。

動作の仕組み
  • 電源投入時にEEPROMから設定値を待機秒数のカウンタにロードします。0で機能OFF、1以上で機能ONです。
  • 割り込みルーチンではカウンタが1以上の時にカウンタをデクリメントするようにしています。
  • デクリメントで0になったタイミングでPLAYボタンを押し、100ms後にリリースします。
  • 0になる前にリモコンが操作された場合は、強制的にカウンタを0にリセットしてオートプレイ機能を無効化します。

この機能には一つだけ欠点があって、電源投入後のオートプレイ強制無効化はあくまでリモコンから操作した場合に限られることです。 電源をONにして本体のPLAYボタンで再生スタート後にオートプレイが働くとPAUSEになってしまうので、それまでの間は本体での操作はできません。 真空管が暖まるまではディスクでも選んで静かに待てということです。

MODEボタンの使い方

隠し機能のMODEボタンを押すごとに動作モードが変わります。

表示機能と操作方法
通常モード通常モード
トラック順に再生して終了する。
イントロイントロモード
PLAYを押すと1曲目に戻ってイントロを10秒間再生する。
PLAYをもう一度押すと現在の曲で通常モードに戻る。
シングルプレイシングルプレイモード
現在のトラックだけ再生して終了する。
シャッフルシャッフルモード
トラックが変わるごとにランダム再生する。
プログラムプログラムモード
FF/REWでトラックを選択しREPEATで再生順を確定。トラック番号00を選ぶと最終トラックになる。
PLAYボタンを押すと登録した順番に再生する。

使ってみて分かった事

製作過程で苦労した点


実装前面パネル
パターン図 200dpiパターンの部品面