きょうのかんぱぱ

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

タグ「m3pi」が付けられているもの


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

  • 投稿日:
  • by
  • Category:

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

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

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のコースがスムーズに走れるように少し調整してみたいと思います。

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で書き込んでみたいと思います。
今日は遅いのでこのへんで。

Pololu 3pi robotが到着しました

  • 投稿日:
  • by
  • Category:

予定通りに今日Fedexで到着しました。速いですね。
オーダー通りのPololu 3pi robot と Expansion Kit 黒/赤です。
外箱はこんな感じ。コンパクトです。

pololu_3pi_1.jpg

早速本体を出してみました。小さいです。

pololu_3pi_2.jpg

残念ながら今日はもう遅いので、明日いじることにします。でも時間あるかなぁ。

Pololu 3pi robotをオーダーしました

  • 投稿日:
  • by
  • Category:

最近mbedのフォーラムで盛り上がっているのがロボットレーシングコンテストです。
Pololu 3piというロボットをmbedで制御するというものです。
面白そうなのですが、Pololu 3piは国内では取り扱っているところがあまり見当たりません。というわけでいつものように直接Pololuにオーダーしました。円高の今だからできることかもしれません。
オーダーはWebフォームからなので簡単です。発送方法はAir Mailが一番安いのですが、追跡ができないのが不安なので保険と考えFedexのエコノミーにしました。

昨日の早朝にオーダーしたのですが、すぐ発送されたようで、あっという間にPickupされました。
Fedexのトラッキング情報だと、
Ship date Nov 11, 2010
Estimated delivery Nov 16, 2010 by 6:00 PM
となっています。
現時点ではOAKLAND, CAあたりにいるみたいで、あとは待つだけです。

ちなみに購入したパーツは以下のようになります。

This shipment includes:
1 x #975 Pololu 3pi Robot = 99.95
1 x #979 3pi Expansion Kit with Cutouts - Black = 11.95
1 x #977 3pi Expansion Kit with Cutouts - Red = 19.95

Shipping: 35.95 (Ship Via FedEx International Economy)
Total: $167.80
Amount paid: 11 Nov 2010: $167.80
Amount due: $0.00

基板は黒が安いのですが、色は重要なので赤も買っておきました。
これで、また楽しみが増えました。

警告とメッセージ