動くかどうかのテスト用なので、Arduino を使います。
回路図とスケッチは次の通りです。
有線通信のスケッチ
赤外線通信のスケッチ
ハードウエアについての注意点です。
・赤外線通信の回路
赤外線LEDは汎用なら特に何でもいいと思います。今回は共立電子で、L53F3BTというのを購入しました。
制限抵抗は、330オームにしていますが、これで12mA程度流れる計算です。
電源電圧 = 5V、順方向電圧降下 = 1.2V(L53F3BTのカタログより)なので、(5-1.2) / 330 = 0.0115 A
制限抵抗を小さくすると、発光が強くなって赤外線が飛ばせる距離が伸びますが、Arduino の絶対最大出力が40mAなので、あまり大電流を流さないようにして下さい。
・有線通信の回路
コネクタの番号が分かり難いので、Arduinoに接続する前に確認して下さい。66SRの電源を入れた時に、1ピンと2ピンの間に5Vの電位差が出るので、これを確認するといいと思います。
後は回路図の通り、2ピンと4ピンをGNDに、3ピンを33オームの抵抗を解して接続します。
スケッチをArduinoに書き込む時は、66SRと接続しない状態でするようにして下さい。
送信するキーデータですが、Arduino を接続しているパソコンからシリアル通信で送信します。
パソコンからのデータが0xFF以外は、制御コード = 0b000 として、キーデータを66SRに送信します。
パソコンからのデータが0xFFの時は、その次のデータを制御コードとし、さらにその次のデータをキーデータとして送信します。
とりあえずいつもの「あくのりっち」を使った場合について説明します。
http://www.vector.co.jp/soft/win95/prog/se089304.html
1)回路を組み立てます。
2)Arduino IDE でArduino にスケッチを書き込みます。
3)Arduino IDE を終了させます。
4)あくのりっちを起動します。
5)「シリアルデバイスを開く」を選び、Arduino IDEで指定したCOMポートと同じものを選択します。
6)画面下のボーレート設定を1200bpsにします。
これで通信が可能になっているはずです。
7)66SRの電源を入れます。BASICを選ぶ画面になるまで待ちます。
8)F5 を押すために、Arduino にデータを送信します。あくのりっちの「編集」−「BINARYモード」を選び、下の入力部分に、FF、01、F4、を入力します。
9)N66SR-BASICが起動されれば成功です。
・わかっている問題
パソコン→Arduino→66SRにデータを送信する時に、パソコン→Arduinoの転送よりも、Arduino→66SRのデータ速度が遅いです。そのため、大量にデータを送信した場合、例えばファイル転送した場合などは、Arduinoでデータ溢れが発生します。
通常はフロー制御を行って、パソコンからくる送信データを抑制するのですが、それがどうもうまくいきません。
Arduinoのハードウエアは、フロー制御の信号が接続されていないので、Xon/Xoffのソフトウエア制御になります。
パソコン側でXon/Xoffを受信した時に、送信を抑制/再開のフロー制御をすればいいだけだと思うのですが...このフロー制御は、Arduinoのドライバが行うのか、あくのりっちが行うのか、それともさらに上位のソフトが行うのか、よくわかりません。
通常の人間がキー入力するような速度なら、特に問題はありません。

