2015年4月26日日曜日

IchigoJam が楽しい

 一週間ほど前に、(mbed) LPC1114 を試した際にLPC1114つながりで、IchigoJam というLPC1114でBASICが使える子供向けコンピュータ(と言いつつ、これを楽しんでるのは、70後半~80年代にマイコンボードやパソコンをいじっていたおっさんたちだと思う)も入手して触ってみたんですが、これがなかなか楽しいおもちゃです。小学生時代にN-BASICにはじめて触った頃を思い出してしまいました。ところで、このIchigoJamはLPC1114を使っているので、BASICと言いつつマイコンっぽい機能も使えたりします。例えば、デジタルI/Oがいくつかとアナログ入力とI2CとUARTが1chずつあります。となると、当がらくた部屋としては、やはりうごきモノの載せてみたくなるわけです。

 そこで、今回はAmazonで1400円くらいで売っている、これで行ってみようと思います。

 このリモコン昆虫よりも若干大きくなりますが、タミヤのユニバーサルプレートにIchigoJamと電池ボックスを取り付け、このリモコン昆虫の上というか背中の部分に載せます。
 まず、IchigoJam 4つの穴すべてがユニバーサルプレートの穴位置とは揃わないので、内2つをユニバーサルプレートとも固定、残り2つはスペーサを立てているだけで固定はしていません。


 電池ボックス。今回は単4エネループ三本で。


 単純にモータOn/Offができればいいので、Digital出力+Hブリッジでもいいのですが、I2Cを使ってみたかったので、あえて、DRV8830 I2Cモータドライバを使っています。またいつものPSDセンサを前方部に取り付けて、アナログ入力(IN2)に接続しています。


 シールド(ドータボード)の真ん中辺にあるのは、電池から3.3Vを生成するためのDC-DCとモータ側とIchigoJam側を切り分けるためのI2Cレベル変換です。シールドを作ってはじめて気がついたんですが、このジャンパピン用のソケットの間隔って100mil単位になっていないようです。850milとかそんな感じの半端な幅です。なので、差し込むときは、ピンを曲げるような感じで半ば強引に挿し込みました。


 PS/2のコネクタがシールドの裏面をショートさせるので、絶縁テープでカバーをしています。


 みんな大好き、タミヤの楽しい工作シリーズ。リモコン昆虫。


 リンク機構で6脚を動かす仕組みになっています。大人が組立てても十分楽しいキットでした。以下、載せたところ。



 おなか側。


 動かしてみたところ。


 やっていることは、ごく単純。

1 ' I2C Motor Driver DRV8830 Test
2 ' A:Motor 1's DRV8830 Address , B:Motor 2's DRV8830 Address
3 ' C:Motor 1's speed, D:Motor 2's speed
4 ' S:Sensor (Analog input) value
10 clt:clv
20 A=#64:B=#63
99 goto 710
100 ' set speed.C:Mortor 1's Speed.D:Motor 2's Speed
110 if C<0 then E=1 else E=2
120 if C=0 then E=0
130 E=E+((ABS(C)-5)<<2)
140 if D<0 then F=1 else F=2
150 if D=0 then F=0
160 F=F+((ABS(D)-5)<<2)
170 poke #700, 0, E, F
180 R=i2cw(A, #700, 1, #701, 1)
190 R=i2cw(B, #700, 1, #702, 1)
200 return
250 ' stop
260 poke #700, 0, 3, 3
270 R=i2cw(A, #700, 1, #701, 1)
280 R=i2cw(B, #700, 1, #702, 1)
290 return
700 '
710 for I=0 to 50
720 P=ANA():if P<400 goto 750
730 C=-60:D=0:gosub 110
740 wait 60
750 C=80:D=80:gosub 110
760 wait 15
770 next
780 end
view raw gistfile1.txt hosted with ❤ by GitHub

0 件のコメント:

コメントを投稿