WonderWitch.Com
■TOP>ネタ |
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の電源を入れてしまったせい。壊れて当たり前ですが。もう電源入りません。ガガーン!!)。いやはや、電子工作をナメてると痛い目に合います。十分注意しましょう。 |