いただいた「プチコン3号公式ムック」の気になる記事「ラズベリーパイとの通信に挑戦」を参考に、IchigoJamとの通信に挑戦!プチコン3号、IchigoJam間での送受信に成功しました!
(上記、IchigoJamからプチコン3号への通信成功の図)
4極ジャックを用意し、3DSの仕様(ピン先から左出力、右出力、GND、マイク)に合わせて配線します。
IchigoJamからプチコン3号へ通信するには、IchigoJam ver 1.1 のPWMを使ってOUT2から直流成分をカットするためのコンデンサ0.1uFを経由してMIC端子へ。
あとは、GND同士を接続すればハードウェアの準備は完了。
IchigoJamで押されたキーコードを上位から8bit分、1の時長めの周期、0の時短めの周期で送ります(PWM2,300,600:長め、PWM2,50,100:短め)
プチコン3号側のプログラムはちょっと複雑になります。
まずは前半、MICSTARTでループ録音開始し、音の始まりを検出してから、送信長さ分を配列にコピー。
WAITではなく、MICPOSを見て、録音時間を調整するといい感じでした。MICPOSは16ずつ進むので注意!
波形の立ち上がりの回数を数えて、周期の長さによって元のデータを復元します。(@GWは波形表示用プログラム)
送信スピードはゆっくりですが、工夫して高速化してみるのも楽しいかも!?
この延長線上に無線LANや3G/4G通信技術があるわけです。
プチコン3号からIchigoJamへの通信は簡単です。
プチコン3号で、スタートビットとして音を鳴らし、その後1/3秒毎に8bitを上位から1のビットで音を鳴らし、そうでない時鳴らさないプログラムを作成。
IchigoJamでは、アナログからの入力があったことを検知してから、同周期で高いかどうか読み取ります。
接続は左出力か右出力いずれかを、オペアンプLM385Nの+の入力へ接続。オペアンプの-の入力とGNDにはIchigoJamのGND、VCCはIchigoJamのVCC、出力はIchigoJamのIN2(ANA2)へそれぞれつなげばOKでした!
オペアンプ初めてちゃんと使ってみましたが、意外と手軽に使えました。
小林さんからいただいたお土産の数々!ありがとうございます!
北海道の方々とBASICプログラミングについて語った熱い夜!
2013年に夢見たファミリーベーシック2は、WiiU版プチコンBIG+ナムコキャラクターとして実現しそうです!
「Wii U版『プチコンBIG(仮)』の開発が決定! 3DS版『プチコン3号 SmileBASIC』との上位互換を実現 - ファミ通.com」
こども+ゲーム+BASIC、黄金率復活です!