2016年1月17日日曜日

IchigoJam で遊ぶ その7 IchigoStorms type2

 IchitoJam で遊ぶ 第7弾は前回に続いて LEGO Mindstorms を IchigoJam で動かしてみようと思いますが、前回のIchigoStormsではArduino (ATMega328P)を使ってLEGO Mindstormsを制御して、IchigJamはArduinoとシリアル通信する形式を取りましたが、今回はArduinoを使わずに試してみようと思います。モータ制御にはIchigoJamのPWM出力とGPIO出力ピンを組み合わせてモータドライバICを使う方法もありますが、今回はI2C経由で以前に使ったことのあるDRV8830を4つ動かしてみようと思います。
 いつもは、秋月の パワーグリッドCタイプユニバーサル基板を使うことが多いのですが、今回は Breadborad Maniacのケーキボードというブレッドボードを入手したので、こちらを使いました。このケーキボードというブレッドボードは、部品の足を挿す穴が裏面まで貫通していてスタックできる構造になっているので多層にブレッドボードを重ねて上下間を配線したり、ボードの裏面を使って配線したりと立体的に利用できます。また、四隅の穴がLEGOとサイズ互換になっているため、LEGOで組んだ機体に載せるのも簡単です。まさに、自分のためにあるようなブレッドボード。

 一番下の層にLEGOの変形モジュラージャックを並べて、2段目の裏側にブレッドボード用のワイヤで配線しました。



 2段目にはDRV8830を4つとI2Cのレベルコンバータを配置しました。



 スタックして配置することで、ケーブル類も隠せるので、同じ2枚のボードを横に並べるよりも遥かにスッキリした外観になります。


 3段目にはIchigoJam(LPC1114)を配置。


 2段目と3段目は抵抗の足を切り落としたものを両ボードを貫通させるように挿して配線しています。


 LEGOモータを接続して動作確認。モジュラージャックはモータ用に4つ、センサ用に1つ用意しましたが、センサ用に関してはNXTのタッチセンサは利用できましたが、I2Cを使っているはずのNXT超音波センサは動作させることができませんでした。残念・・・。



 以前にBrickPiで動かしたメカナムホイールの全方向移動車両の写真や動画を見ながら、思い出しつつ組立てて、IchigoStormsを載せてみました。そういえば、自分でここに組立図を置いてあったの忘れてた・・・。


 電源(Eneloop×4本)電圧が低いのと車体が軽いためか、斜め移動と信地旋回がスリップしてしまい、うまく動いていません。電池の本数(電圧)を増やして試してみようかな。