m3piを作ってみよう (in Japanese)

はじめに

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本だけで済んでいます。

Pololu 3piの入手方法

Pololu 3pi robotは日本国内では取り扱っているところが見当たりません。そのため直接Pololuにオーダーしました。円高の今だからできることかもしれません。 オーダーはWebフォームからなので簡単です。発送方法はAir Mailが一番安いのですが、追跡ができないのが不安なので保険と考えFedexのエコノミーにしました。 Pololuにオーダーしたところ、すぐ発送されたようで、あっという間にPickupされました。 ちなみに購入したパーツは以下のようになります。

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

※参考までにカード請求金額は14,058円でした。($1 = 83.77円)

基板は黒が安いのですが、色は重要なので赤も買っておきました。 私の場合オーダーから到着まで約1週間で日本に到着しました。

外箱はこんな感じ。コンパクトです。

http://kanpapa.com/today/assets_c/2010/11/pololu_3pi_1-thumb-320x240-165.jpg

早速本体を出してみました。思ったより小さいです。カワイイです。

http://kanpapa.com/today/assets_c/2010/11/pololu_3pi_2-thumb-320x240-168.jpg

外観

完成したm3piです。

http://kanpapa.com/today/assets_c/2010/11/m3pi_1-thumb-320x240-174.jpg

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

http://kanpapa.com/today/assets_c/2010/11/m3pi_2-thumb-320x240-177.jpg

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

http://kanpapa.com/today/assets_c/2010/11/m3pi_3-thumb-320x240-180.jpg

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

http://kanpapa.com/today/assets_c/2010/11/m3pi_4-thumb-320x240-183.jpg

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

http://kanpapa.com/today/assets_c/2010/11/m3pi_5-thumb-320x240-186.jpg

動作確認

3piのATmega328Pにserial slaveプログラムを書き込み、m3pi_HelloWorldのサンプルプログラムをコンパイルしてmbedに転送すると、あっさり動いてしまいました。

動画をYouTubeにアップロードしました。

終わりに

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

こぼれ話

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

http://kanpapa.com/today/assets_c/2010/11/m3pi_screw-thumb-320x240-189.jpg

Related Pages


4 comments on m3piを作ってみよう (in Japanese):

29 Jan 2012

mbed NXP LPC11U24ではシリアルが1系統しかないので3piとの通信で埋まってしまいます。また、USBホスト機能は使えません。その点は要注意です。

17 Feb 2015

”m3piのATmega328PにSerial Slaveを書き込む”と有りますが、どのように何を使用してどのように書き込むのでしょうか m3piとPGM03Aを接続しUSBをパソコンに、”Serial Slave”はどこからインポートして,動かすプログラムは、何でしょうか。 mbedにdownloardしての使用方法は判るのですが、この辺の状態が全く判っておりません。ご教授ください。

yasuo yamauchi wrote:

”m3piのATmega328PにSerial Slaveを書き込む”と有りますが、どのように何を使用してどのように書き込むのでしょうか m3piとPGM03Aを接続しUSBをパソコンに、”Serial Slave”はどこからインポートして,動かすプログラムは、何でしょうか。 mbedにdownloardしての使用方法は判るのですが、この辺の状態が全く判っておりません。ご教授ください。

01 Jan 2022

シリアルスレーブプログラムは以下にあります。 10.a. Serial slave program https://www.pololu.com/docs/0J21/10.a

Please log in to post comments.