2013年05月一覧

クロウラー準備

 無限軌道のクロウラー。ホントは上にものをつかむギミックが乗るののだけど、そこは省いた形。

 今夜は2階建てにして、XBee、モータドライバと電池を載せて遊んでみた。動画は無し。
DSC_0447

 この週末お休みで、XBeeとモータドライバの間にATmega328Pを挟んだ感じでコマンドコントロール系に変更します。ついでに、加速度・地磁気センサの値を受信してログ保管。
 XBee&ATmega328Pは2011年12月のMake: Tokyo Meeting 07で仕入れてきたアルシオーノを組み立てて使ってみます。せっかく買ったので使わないと。制御系の電源は3.3Vで行くのでクリスタルは手持ちの8MHzに取り替えます。距離センサは手持ちに3.3V対応のVCNL4000が1つだけあるので搭載してみようかな。という感じです。
 コンデンサマイクを複数置いて、”手を叩いた方向へ進む”とかもやってみたいです。

 他は、多分自宅のリビングでは走行不可能な、ボールキャスターとタイヤ2つによるメカも仕入れました。でも、やはりキリムの床では進まないかも知れない。


XBeeリモコンの寄り道

20130530_01
(コントローラが埃っててすみません。すっかり弾幕系STGをプレイしていないので。)

 こんな感じでPC用のUSBゲームコントローラのジョイスティック部分での操作も検討中。モータの回転をPWM調整すればアナログジョイスティックが有効活用できる。

 最初はPCにコントローラを接続して、DirectInput経由でC#あたりでなんとかという妄想をしてたけど。PC使うならkinectで操作するくらいでないと面白く無いなと。kinectも本格的にいじる前に次のfor Windowsが来年出そうですが。


LSM303DLHC正常動作しました。

 サンプルソースをちゃんと読んだら、ちゃんと書いてあるじゃん。


// Calibration values. Use the Calibrate example program to get the values for
// your compass.
compass.m_min.x = -364; compass.m_min.y = -291; compass.m_min.z = -336;
compass.m_max.x = +265; compass.m_max.y = +345; compass.m_max.z = 180;

 X,Y,Z軸のMAXとMINの値を表示させるスケッチをつかって、自分のLSM303DLHCの計測値の範囲を取得。ブレッドボード接続のままぐるんぐるん・くねんくねんとセンサーを手で動かすのは難しい。
 昨日作った360度方位をLCDに表示するスケッチに書き換えて、正常動作を確認できました。
 実は、二軸方位センサHMC6352も手に入れていて、こいつもやはりキャリブレーションがいる。こっちはセンサーをキャリブレーションモードにしてぐるぐる回せばOKみたい。二軸なのでくねんくねんは要らないw。で、この値がセンサ内に保存されるのかどうか?調べておこう。じゃないと毎回ぐるぐるしなくては。


地磁気&加速度センサLSM303DLHCテスト

20130529_01

 ストロベリーリナックスの地磁気&加速度センサLSM303DLHCをテスト。
 簡単にArduinoUNOに液晶シールドを載っけたものに電源はエネループ。LSM303DLHCは電源2.16Vから3.6Vで、IOは1.71Vから電源+0.1V。5VのArduinoUNOのI2Cとは直結出来ないので、自宅に3つくらい在庫してある秋月電子のI2C専用レベルコンバータAE-PCA9306を介して接続。

 で、動かしてみるとなんかの影響を受けているのか、キャリブレーションしていない所為なのか値が偏る。地磁気による方位を表示させてても、グルっと回ると確かに360度分の数値が動いて戻ってくるのだけども、90度単位で動いても数値が90単位で変わるわけでもなく。原因を調べないと。ライブラリの問題なのか、キャリブレーションの問題なのか?ただ、決まった方向を向いてれば数値は同じなので地磁気はとれているはずだ。地磁気以外の磁気的要因だったりするとモータ使った機器に載せるのは無茶だろうか?


結局のところ

 モータのオンオフとLEDのオンオフも似たようなもんに見られがちですが・・・。
扱う電流の量が違うので回路的に簡単なのはLED。モーターだと結構いろいろ面倒です。

 自律行動をさせるのにどんなセンサーをつけるか検討中。まずは、室内で自分の位置が把握できるように方位は必須。GPSは室内では使えないし、民間向けのデバイスではそれほど精度は出ないだろう。
 掃除をさせたいわけでもなく、適度にうろちょとしててくれればいいかな。それってAIBOだなぁ。ツレに踏まれないように近接センサだけは頑強にしておこう。


XBeeラジコンを基板で作成

 この週末はXBeeのシリーズ1を手に入れたので、こいつで先週作ったタミヤのインセクトのラジコンの本格化をしていた。

 シリーズ1なのでPWMでモータの速度調整も可能かと思っていたが、なんか使いづらい。PWMのタイマーは外しているのだが、微妙にほどける感じで。詳細は詰めていかないとわからん。

 こんな基板を作成して、
20130526_01

 こんなふうになりました。PWMはVCC直結とXBee出力を切り替えられるように3ピンでジャンパ。
20130526_02

 走行動画。撮影しているスマフォのmicroSDがぼろいのでカクカクするのは了承願います。

 キャタピラのこの子も待機中です。こいつはいろいろ載せられそうなので、マイコンと各種センサを投入して自律行動も可能にしたいですね。
20130526_04

 キャタピラに載せる、方位センサを試してました。3.3VのArduinoが死亡した様で5VのArduinoにて。地磁気センサ+加速度センサの本命モジュールは3.6Vまで5Vマシンとは繋げられないので待機中。3.3VのArduinoは自前で作れるのでそっちの方向かなと思いながら。いろいろ探してたら、SwitchScienceさん名義でAmazonでまだ売ってたので手に入れば楽と思って発注してみました。手に入ればラッキー。まぁ、ProMiniはI2Cのポートがピンに出てないので、引っ張る必要はあるものの小型で良いArudinoです。