SoftModemからの信号を受信する
リモートブレインの夏休み:iPhoneロボット
まず、SoftModemTerminalのボーレートを変更します。デフォルトでは1225bpsですが、モデムに使う予定のクロック8MHzのPICでなので、安全を見て315bpsに変更します。(あとで試したら1225bpsでも十分対応できました)
ダウンロードしたSoftModemTerminalのプロジェクトファイルから、FSKModemConfig.hを開き、315bpsのパラメータセットのコメントを外し、現在のパラメータセットをコメントアウトします。
これでビルドすればOK。試しに何か送信してみると、ジーという感じだった音が、ピロロという感じになっています。
さて、入力回路ですが、オーソドックスにこんな風にしてみました。iPhoneのヘッドホン出力をロジックレベルの矩形波に変換します。
ヘッドホン出力から47uFで直流遮断して、負荷抵抗100オームで終端します。これがヘッドホン代わりの負荷になります。ここ(A点)での信号はこんな感じ。濃いところがスペース(周波数の高い信号)で薄いところがマーク(周波数の低い信号)です。
±1.2Vくらい振幅がとれてますから、トランジスタのベースに加えれば簡単に矩形波になります。これだと、ベースにマイナスの電圧がかかりますが、これくらいの電圧なら何の問題もありません。信号のスレショルドは、トランジスタの物理特性から電源電圧に関わらす約0,7Vになります。電源電圧に依存しないので使い易い回路だと思います。
もう昔のハナシになりますが、カセットテレコにデータを読み書きしたり、電話の受話器経由でデータを送ったりするには、こんな回路が大活躍したものでした。
いろいろ工夫しても、やっぱりシンプルなのが一番だったりしてですねえ。まさか21世紀にもなってこんなことをするとは思わなかったですが。
で、こんな風に矩形波になります。下がA点の波形、上がFSK-INの波形です。これがPICへ行きます。
おなじみPicKit2のオマケ基板をプログラムして、モデムとして動作させてみます。上が復調結果です。FSKの信号がロジックレベルのシリアルデータに復調されているのがわかると思います。
というわけで、シリアル受信のプログラムを追加して、SoftModemTerminalからのASCIIデータを、LEDに表示させてみました。
iPhoneの数字をタップし、右下(見切れてます)の送信ボタンをタップすると、基板のLEDのパターンが変わります。ASCIIコードで0x3n(n = 0-9)が数字コードです。よく見ると読めると思います。
一応受信は成功です。文字化けもありませんでした。意外と安定です。まあ、FSKジェネレータはへろへろのカセットテレコではなく、デジタルオーディオなんだから当たり前ですが。
« AR.Drone来ました | トップページ | SoftModemへ信号を送る…のですが »
「リモートブレインの夏休み」カテゴリの記事
- 周回遅れのiPhone開発(2011.08.21)
- 簡単にできる!インターネットリモコンロボの製作(1)(2010.10.21)
- softModemの試験運用は謎のマシーンで!(2010.10.19)
- Modem版への改造終了です(2010.10.12)
- SoftModem用インターフェイスのまとめ(2010.10.05)
コメント