きょうのかんぱぱ

デジモノが大好きなかんぱぱの日記です。

MBeeDuinoでタミヤの模型を制御してみた

  • 投稿日:
  • by
  • Category:

@naka_at_kureさんが、MBeeDuinoというArduino互換で3chモータードライバとXBeeが搭載できる生基板を配布されていたので分けていただきました。
タミヤの模型に実装できるように穴の位置やサイズなどよく考えられており、我が家にあるタミヤのレスキュークローラーに載せられないかなと思ったのです。
部品を集めて完成したMBeeDuinoはこんな感じです。サイズも小さいです。

mbeeduino1.jpg

タミヤのレスキュークローラーはこんな感じです。かっこいいでしょ〜。

rescue_crawler1.jpg

モーターが3つ搭載されていて、2つはキャタピラの回転制御、もう1つは前方のキャタピラを上下することができます。
MBeeDuinoはモーターを3つ制御できるのでまさに最適です。
どこに取り付けようかと考えましたが、一番広いスペースである本体の裏側に目をつけました。

rescue_crawler2.jpg

試しにここにMBeeDuinoを取り付けたところピッタリです。

rescue_crawler3.jpg

この状態でモーターと配線して、MBeeDuinoで制御してみました。
キャタピラを1秒間隔で正転、逆転を交互に繰り返すようにプログラムしました。

問題なく動いているようです。
ただ、残念なことにこのままでは肝心のキャタピラを固定するスペースがないので走らせることができません。
そこでタミヤの楽しい工作シリーズの「ユニバーサルプレートセット」と「トラック&ホイールセット」を利用することで、プレートを広くしたあとに、キャタピラを固定できないかと考えました。

交換するプレートを並べてみました。狭いですがキャタピラを固定できる程度のスペースは確保できそうです。

rescue_crawler4.jpg

新しいプレートに取り替えたところ、MBeeDuinoの取り付けスペースとキャタピラの取り付けスペースが確保できました。

rescue_crawler5.jpg

トラック&ホイールセットのキャタピラを使って長さを調整し、モーターの位置も少し動かすことで、大きなたるみもなくキャタピラを取り付けることができました。

rescue_crawler6.jpg

あとは電池をどうやって実装するかを考えなければなりません。また次回に続きます。

mbed NXP LPC11U24でm3piを動かしてみました。

  • 投稿日:
  • by
  • Category:

mbed NXP LPC11U24でm3piを動かしてみました。
最初にプログラムがコンパイルできなくてびっくりしましたが、mbedのライブラリを最新版にしたら問題なくコンパイルできました。
早速バイナリを転送して動かしてみましたが、黄mbedでも青mbedと同じように動きました。

ただし、黄mbedにはUSBホストの機能はなく、1つしかないシリアルも3piとの通信で使ってしまいますのでその点は青mbedに見劣りします。
でも消費電力は黄mbedが有利なので、このようなバッテリで動かすものには適しているのではと思います。

mbed robot (m3pi)に距離センサーをつけてみました

  • 投稿日:
  • by
  • Category:

m3piに秋月電子で売っている赤外線距離センサーユニット(GP2Y0A21)を搭載してみました。

m3pi_distance_sensor.jpg

このセンサーユニットは電源が4.5V-5.5Vですので、m3piのVccがそのまま使えます。データシートにVcc-GND間で10μFのコンデンサをいれるように書いてあったのでそれも追加しました。
センサーからの出力はmbedのAnaloginで読んでいますが、3.3Vまでとのことなので、10KΩの抵抗を間にいれて大体範囲内に収まるようにしてmbedに接続しています。
センサーユニットは両面テープで基板に固定していますが、重心が前に寄ってしまったので、後ろにクリップでおもりをつけています。
前方にある障害物との距離を計測し、距離が近づく­につれて、mbedの4つのLEDの点灯数を増やしています。
10cm未満になったら後退して、方向転換を行い再び前進するようにプログラムしました。
プログラムはまだ荒削りですが、こちらにあります。本当に簡単で短時間で動作確認ができました。

mbed robot (m3pi)をBluetooth keyboardでコントロールしてみました

  • 投稿日:
  • by
  • Category:

mbed robot (m3pi)をBluetooth keyboardでコントロールするようにしてみました。
ベースのプログラムはmbedCookbookにリンクされていたPeter Barrett さんのBlueUSBです。
このプログラムではUSBに接続したBluetoothドングルを使って、キーボードやマウスやWiiリモコンなどのデータを受信して表示することができます。
すでに手持ちのBluetoothキーボードでの動作は確認していましたので、あとはm3piのライブラリを組み込むだけです。
BlueUSBの中のTestShell.cppを改造して、m3piのクラスライブラリを組み込んで、キーボードの値によって、m3piに与えるコマンドを決めました。
まずはスピードは控えめに0.1ぐらいにしてみました。
動画はYouTubeにアップしましたが、キーボードで思ったようにコントロールできます。

コントローラがキーボードですので、他にもいろんな機能や動きを組み込むことができそうです。
詳しくはmbed.orgのNotebookにまとめましたので、そちらをご覧ください。

m3piにUSBコネクタを取り付けました

  • 投稿日:
  • by
  • Category:

m3piにUSBコネクタを取り付けてみました。といってもmbedにUSBコネクタを接続するだけですが。
ついでにmbedから直接信号が取れるように1列×20Pのピンソケットもハンダ付けしました。
3piの拡張基板ですが、mbedを実装するとそんなに空きスペースはありません。
とりあえずこのあたりかなということで、手持ちのUSB Aコネクタをハンダ付けしてmbedに接続しました。
もし縦型のUSB Aコネクタが手に入るようであれば、それに付け替えたいと思います。

m3pi_Bluetooth_1.jpg

まずは手持ちのPLANEX(PCI) Bluetooth USBアダプタ BT-MicroEDR2Xを接続してみました。
Vccは3piから取っているので、3piの電源をいれるとBluetoothアダプタのLEDが点灯しました。ここまでは問題ないようです。
次に BluetoothのテストプログラムがCookbookにありましたので、まずはそれを書き込んでみました。
手持ちのBluetoothキーボードとの通信も無事できているようです。

あとはBluetoothの情報で、m3piが動くようにプログラムを書けばリモコン制御できそうです。

m3piでライントレーサを動かしてみました

  • 投稿日:
  • by
  • Category:

前回はセンサーなどを使っていないただ走るだけのプログラムを試しましたが、今回はライントレーサのプログラムを書き込んでみました。
mbed.orgに公開されているm3piのプログラムはたくさんあるのですが、darron nielsenさんのNoteBook ARM Techcon / mbed Robot Racingのページに掲載されているm3pi_LineFollower_dpnを試しました。
これが速いのなんのって、高速で線の上を駆け回ります。少し誤検知しておもしろい動きをするときもありましたが、問題なく走り回ります。
その様子をYouTubeにアップしておきました。(ちょっとiMovieで編集してます。)

m3pi_LineFollower_dpnのプログラムはそんなに長いものではありませんが、高速に走れるように工夫されているようです。
私が持っているMINDSTORMS NXTのコースがスムーズに走れるように少し調整してみたいと思います。

MTM06に行ってきました

ちょっと書き込みが遅れてしまいましたが、Make: Tokyo Meeting 06 (MTM06)に行ってきました。場所はいつもの大岡山の東工大です。
mtm06_signboard.jpg

前回も新図書館の建築中でしたが、まだ工事中でした。今回は広報誌 Tech Techのキャラクタの工太郎くんがお出迎え。
mtm06_koutarou.jpg

体育館中央では原寸大のはやぶさがお出迎え。この前の宙博にはこれを展示したほうが良かったのではないかと。
mtm06_hayabusa.jpg

早速mbedコーナにいってご挨拶。当日の午前中だけで組み上げたm3piを一時的に置かせていただきました。少しでもmbedに興味を持っていただければと。
mtm06_m3pi.jpg

あとは、会場をみてまわりましたが、今江科学さんのジャイロカーの発展形のジャイロモノレールが良かったです。あと、連立方程式が解ける機械、ペーパークラフトでつくった巨大な戦艦大和とか。目新しいものも多かったし、人も多かったです。
私は結局WiiChuckアダプタだけ購入しました。3pi robotにちと投資してしまったので倹約ぎみです。

mbedコーナの出展者のみなさん。いろいろありがとうございました。

m3piを作ってみました

  • 投稿日:
  • by
  • Category:

m3piを作ってみました。
m3piとはPololu 3pi robotというロボットプラットフォームをmbedで制御しようという試みです。
Pololu 3pi robotには2つのモータ、LED、LCD、5つの光学センサー、ブザー、3つのボタンスイッチを持っており、ATmega328Pマイコンを搭載しています。普通の使いかたであれば、3pi robot本体だけでライントレーサ等を作ることができます。もちろんATmega328Pに書き込むためのISPは必要です。
Pololu 3pi robotの特徴として拡張用の基板を取り付けることができます。これを利用してATmega328Pとmbedをシリアル接続し、Pololu 3pi robotにファームウェアとしてサンプルプログラムであるシリアルスレーブプログラムを載せて、それをmbedから制御することでPololu 3pi robot本体を動かします。このため、mbedと3pi robotの接続はVcc, GND, TXD, RXD, RESETの5本だけで済んでいます。

完成したm3piです。
m3pi_1.jpg

3piと拡張ボードを外すとこうなります。
m3pi_2.jpg

mbed拡張ボードの拡大写真。配線はほんの少しです。
m3pi_3.jpg

拡張ボードからmbedを外した様子。配線は3本しかみえませんが、裏面で2本接続しています。両方ともStarBoard Orangeのように2x20Pソケットにしたかったのですが、拡張基板のパターンの都合で片側は1x20Pとするしかありませんでした。
m3pi_4.jpg

Pololu 3pi robotとの接続コネクタはこのようになっています。
m3pi_5.jpg

MTM06に間に合わせるために急いで拡張基板のハンダ付けを行い、3piのATmega328Pにserial slaveプログラムを書き込み、m3pi_HelloWorldのサンプルプログラムをコンパイルしてmbedに転送すると、あっさり動いてしまいました。

mbedを使うことで、プログラミング環境も簡単になりますし、mbedに他のセンサーやハードウェアを接続することでより高度なPololu 3pi robotの制御ができるのでは無いかと思います。拡張基板の空きスペースにbluetoothとかNetworkとか搭載すると面白いなと考え中です。

今回1点困ったのが、拡張基板付属のネジです。
今回赤い拡張基板を使ったのですが、付属ネジの長さがなぜか短く、スペーサーを使って基板を取り付けることができませんでした。MTM06にはしかたなくネジ止めせずに持っていきましたが、帰宅して黒い拡張基板の付属ネジを確認したらちょうど良い長さです。
左側が黒い基板の付属ネジで、右側が赤い基板の付属ネジです。明らかに長さが違います。なぜこうなっているのかは謎です。
m3pi_screw.jpg

今回のm3piの記事についてはmbed Notebook m3piを作ってみよう (in Japanese)にまとめておきましたので、そちらも参考にしてください。

Pololu 3pi robotにプログラムを書き込んでみた

  • 投稿日:
  • by
  • Category:

Pololu 3pi robotのマイコンにサンプルプログラムを書き込んでみました。
材料は以下の通りです。


  • AVR Studio 4

  • WinAVR

  • libpololu-avr

  • AVRISP mkII (ISP)


作業環境は愛機MacBook Proで、Parallels Desktop上でのWindows XPです。
まずはいつものLEDチカチカ。ここまではArduinoとかmbedとかと同じ感じ。
結構高速点滅ですね。

次にライントレーサのサンプルプログラムを書き込んでみました。

コースはLEGO MINDSTORMS NXTについていたものですが、STARTの文字の周りも正確に曲がっているのはすごいです。じっくりサンプルプログラムのソースを読んでみたいと思います。

Pololu 3pi robotのデモプログラムを動かしてみる

  • 投稿日:
  • by
  • Category:

Pololu 3pi robotに電池をいれてみました。単4電池4本です。
LCD基板を外してから電池をセットします。
モーターを回すので単四だとあまり電池が持たないかもしれません。今度eneloopの単4を買いこんでこようと思います。
購入した時点でマイコンにデモプログラムが書き込まれているそうで、すぐ動作確認ができるようです。
その様子はこんな感じ。(iPhone4で縦撮影したので画面が小さくてすみません。)

Timer, Battery, LEDs, Sensors, Motors, Music.....などなど、デモプログラムだけで細かい操作ができます。
光センサーを5つ搭載しているので、本体を傾けることで光量が変化するとグラフが変化します。
モーターはスイッチを押しっぱなしにすると回転数があがっていきます。
一通りの機能は問題無いようです。
次はプログラミング環境の準備ですね。手持ちのAVR StudioとAVRISP mkIIで書き込んでみたいと思います。
今日は遅いのでこのへんで。