WonderWitch.Com ■TOPネタ
・技その34「ウィッチでロボット制御2」
AIモータを動かす、続報。

“ワンダースワンでマイクロマウスっぽいもの”を目指して作ってみました(まだ作り途中です、すみません)。名付けて「マイクロスワン」です(松原拓也)。

2つの車輪で前進・後退・回転します。モータは ベストテクノロジー の「AI Motor-601」を2個使いました。「AI Motor-601」は秋葉原の ツクモロボット王国 などで入手できます(実売価格1個5000円)。

回路図です。本来、「AI Motor-601」とワンダースワンとは、送信と受信をつなぐ必要があるんですが、カメラ「Treva」を付けたかったので、送信(TX)のみ接続しました。論理を反転させるためにトランジスタを使ってみました。ちなみにスワンの電源は3Vで、「AI Motor-601」側はTTLです。
カメラとの接続は、昔作った回路をそのまま使いました。マイコンにはAVRを使ってます。ファームウェアはこちらです。

◆モータとバッテリ、基板をガムテープでベタベタと貼り合わせて、完成です。

スワン(WonderWitch)側のプログラムです。
【Download】(tre_robo.lzh / 11250 Bytes)
・「AUTO」を選択すると、カメラの撮影と移動を果てしなく繰り返します。
・「RECV」はカメラの撮影テストです。
・「FILE」では撮影データをワークエリア(RAM0)にセーブ・ロードします。保存形式はTrevaからの生データになってます。
・「MOTOR」はモータの動作テストです。
・「TRACKING」は画像認識のテストです。

◆壁に対して、正面を向いた場合。

◆壁が斜めになった場合、、、


撮影結果です。傾きの違いが、いまひとつハッキリしませんね。現状では輝度差から壁の傾きを求め、壁を避けるようにプログラムしてみました。
【Download】(tre_data.lzh / 42971 Bytes) (オマケ)カメラ「Treva」で撮影した生データのバイナリファイルです。エミュレータ「MiracleMage」で確認もできます(“ram0”ディレクトリに格納)。 データのフォーマットは、1画面あたり96x72ピクセル。1ピクセルあたりYUV24ビットです。ただし、1ピクセルおきに、UとVが抜けてます(例えば、V、Y、U、Y、V、Y、U、Y…の順番)。
【Download】treva_vb.lzh(生データをVisualBasicで描画するサンプルプログラム)
◆プログラムを実行してみたんですが、画像を取得するまでが遅いです(4〜5秒かかります)。これはシリアル通信だから、しかたないでしょうか。あと、モータが動いたり動かなかったりする怪現象が。これは、論理の反転回路がマズイのかもしれません。ちゃんと、IC(74HC14とか)を使うべきかも。画像処理のアルゴリズムもなんとかしないといけません。うーむ、問題山積みです。

*スクリーンショット撮影には、ZRYさんの「MiracleMage」を使わせて頂きました。

◆なお、今回の実験で、スワンクリスタルが完全に壊れました(誤って外部端子に11Vの電源を入れてしまったせい。壊れて当たり前ですが。もう電源入りません。ガガーン!!)。いやはや、電子工作をナメてると痛い目に合います。十分注意しましょう。


■TOP ▲BACK >NEXT

2003-12-09 Update /Presented by WonderWitch.Com 運営委員会