福野泰介の一日一創 - create every day

北海道、3DSで動くBASICプログラミング環境「プチコン3号」をつくっているスマイルブームの社長、小林さんにお会いできました! DS版プチコンからのファン、いろいろお土産もいただき大感激!


いただいた「プチコン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、黄金率復活です!

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / アイコン画像 / プロフィール画像