2015年6月21日日曜日

IchigoJamで遊ぶ、その3

 その1その2 につづいて、IchigoJam で遊ぶ その3 です。今回は、IchigoJam の I2Cで Adafruit の 16ch PWM Servo Driver を動かしてみました。
 サーボで動かすのは、以前に、ここ とか ここ で使ったおもちゃのロボットハンドです。

 まずは、Servo Driver への送信コマンドを解析するためにArduinoに接続して、Adafruit提供のライブラリのソースを見ながら、ロジアナでI2Cの信号を追いかけました。


 次に IchigoJam に Servo Driver を接続して、手動でコマンドをたたきながら、ロジアナで応答を確認。



 一応、パルス幅設定が正常にに行われ、オシロでもPWM出力のパルス幅が変わることが確認できたので、実際にサーボを接続して、コードから動かしてみました。



 動かしてみたところ。


 コードはこんな感じ。

2015年6月13日土曜日

LEGO TECHNIC 42036 Street Motorcycle

 久々のLEGOです。テクニックシリーズのストリートバイク 「LEGO TECHNIC 42036 Street Motorcycle」 です。



 積みレゴから比較的部品点数の少なめのものを選びました。他にもトレインシリーズがいくつかとスターウォーズシリーズのスターデストロイヤーも積まれたままになっているんですが・・・。

 まずは、パッケージ。



 開梱。


 それほど、目を引く部品は入っていませんが、やはり、大きくて細いタイヤが目を引きます。あとは、チェーンが小さな部品を30個連結して作るような特殊な部品で、これは、他に用途がないんじゃないかという部品ですが、その2種類くらいかな。

 では、組み立て開始。

 一体、どの辺を組み立てているのかわからないですが、本体のフレームとかでしょうか。


 やっぱりフレームっぽいですね。真ん中が、エンジンが収まる空間かな。


 後輪のサスペンションが付きました。






 後輪がついて、チェーンを掛けるギアも。



 エンジン部分の組み立て。


 エンジンをフレームに乗せて、チェーンを掛けます。チェーンは小さな部品を30個連結しなければいけません。


 前輪、ハンドル。



 本体とつないで、


 バイクになりましたね。


 あとはカールやパイプなどを取り付けていって、


 できあがり。かっこいいですね。フレームに使われているビームのななめの組み合わせってどうやって思いつくんだろう。斜めにつないでいって、最初と最後が合って一周できるように組み合わせるって結構難しいと思うんだけど。









IchigoJamで遊ぶ、その2

 2ヶ月くらい前に IchigoJamを手に入れて、早速タミヤの昆虫ロボットに載せてがらくたを作りましたが、その後、IchigoJamはファームが日々改良されて、色々機能も増えたりしているようです。その中で、昆虫ロボットを作ったときにはアナログ入力が1chしか使えなかったのが、今は2ch使えるようになっていて、このアナログ2chを活かして何かできないかなぁ?と思っていたんですが、なかなか手を動かせずにいました。先日、アマゾンを「ロボット 工作」とかで検索して徘徊していたとき、前回の昆虫ロボットと同じタミヤのロボクラフトシリーズで「ボクシングロボット」というのを見つけました。面白そうなので、早速ポチって、これにIchigoJamとセンサ×2の組み合わせを考えることにしました。


 センサは前回と同じPSD測距センサです。前回は一つだけで手前にものがあったら避ける動作をさせましたが、今回は手前にあるものに向かわせる動作を左右に2つのPSDセンサを使って、やってみようと思います。

 まずは、タミヤのROBO CRAFTシリーズのボクシングロボット(Boxing Fighter)を開梱。



  説明書に従って組み立て・・・の前に、いつものDRV8830 I2Cモータドライバをモータに取り付けます。ロボットのボディ内部に余裕があるので、モータドライバ基板は絶縁テープで巻いて、ボディ内に入れてしまいます。




 モータにノイズ用のコンデンサとドライバへの配線をはんだづけしてギアボックスに取り付け。


 あとは、組み立て。本来リモコンと繋ぐ線を出す切り込みから、電源、GND、I2CのSDA、SCLの4本の線を取り出しています。












 形ができたところで、前回の昆虫ロボットからIchigoJamを取り外して、


 ボクシングロボットの背中にIchigoJamと単3×2本用電池ボックスを取り付けました。



 それから、頭の上にPSD測距センサを左右斜めに向けて取り付け。




 コネクタを差すために簡単なドータボード(シールド)を準備しました。



できあがり。


 この時点ではPSDセンサは縦置きにしていますが、実際に動かしてみて、調整した結果、最終的には横向きに取り付けることになりました。



 プログラムを入れて実際に動かしてみたところ、センサは横向きであまり左右に斜めにしない方向で落ち着きました。



 ボクシングロボット対博士。


 動かしてみたところです。ロボットの左側の足が右側に比べて接地が悪く(短い?)、左方向へはすぐに方向転換できるのですが、右方向へ向くのに時間がかかってしまいます。


 以下、ソースです。