マイクロ・マウスを制作するプロジェクトです。
PXL_20220122_103531339_mod.mp4
Tarfは以下の特徴を持ちます。
- 筐体は3Dプリンタで制作
- 制御には、Wio Terminalを使用
- 制御用のFrimwareは、Rustで実装
Ubuntu上で開発しています。
開発に必須のパッケージをインストールします。
sudo apt install build-essential git
Rustのツール・チェーンをインストールします。
rustup の指示に従ってインストールします。
クロスビルド用のツール・チェーンをインストールします。
rustup target add thumbv7em-none-eabihf
Wio Terminal用に必要なパッケージをインストールします。
sudo apt install libusb-1.0-0-dev libsdl2-dev libssl-dev
シリアルデバイスの読み書き権限の設定
sudo adduser $USER dialout
上記で、Wio Terminalにプログラムの書き込みができない場合は以下のファイルを作成します。
/etc/udev/rules.d/99-seeed-boards.rules
ATTRS{idVendor}=="2886", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEM=="usb", ATTRS{idVendor}=="2886", MODE="0666"
SUBSYSTEM=="tty", ATTRS{idVendor}=="2886", MODE="0666"
作成後、以下のコマンドを実行します。
sudo udevadm control --reload-rules
Firmware
ステップ | 内容 |
---|---|
1 | 内蔵LEDでLチカをしてみる。 |
2 | ブレッドボードに接続して、外部のLEDでLチカしてみる。 |
3 | L6470モータドライバを使って、ステッピングモータを駆動させてみる。 |
4 | L6470モータドライバを使って、ステッピングモータをステップ数指定で駆動させてみる。 |
5 | 外部のスイッチからの割込みを受け付ける。 |
6 | ステッピングモータの動作完了を割込みで処理する。 |
7 | A4988モータドライバを使って、ステッピングモータを駆動させてみる。 |
8 | 3つのステッピングモータを駆動させてみる。 |
9 | TimerContorllerの割込みを使って3つのステッピングモータを別々の回転数で駆動させてみる。 |
10 | 試作1号機で往復運動をさせてみる。 |
11 | 往復運動をタイマー割込みでさせてみる。 |
12 | 三角形の軌跡を描くように移動させる。 |
13 | 段々と速度を上げる加速運動をさせる。 |
14 | TOF 距離センサを接続する。 |
15 | LCDに文字を表示する。 |
16 | TOF 距離センサを6つ接続する。 |
17 | TOF 距離センサで連続測定モードで測定する。 |
18 | 2マスの直線だけの迷路を走行する。 |
19 | L字型迷路をデッド・レコニングで走行する。 |
20 | 長い直線迷路を補正しながら走行する。 |
21 | スタート位置で向きと位置を調整してから走行する。 |
22 | 4マスの迷路を走行する。 |
23 | 9マスの渦巻き状の迷路を走行する。 |
23 | 9マスの迷路を描画してみる。 |
23 | 9マスの渦巻き状の迷路を現在地を表示しながら走行する。 |
24 | 9マスの渦巻き状の迷路を側面の壁を表示しながら走行する。 |
25 | BNO055 9軸センサを接続する。 |
26 | UARTにHello, worldを出力する。 |
25 | 9軸センサをI2Cハブに接続する。 |
*** | 以降、設計見直し |
26 | 内蔵LEDでLチカ(その3)をしてみる。 |
Body
ステップ | 内容 |
---|---|
1 | ステッピングモータを固定 |
2 | ステッピングモータを固定の向きを変更 |
3 | ステッピングモータとWio Terminal部分との接続部を追加 |
4 | Wio Terminalとバッテリーの収納部 |
5 | オムニホイールのハブを作成 |
6 | TOF距離センサを搭載 |
7 | Wio Terminalとバッテリーの収納部にI2Cハブを搭載 |
*** | 以降大幅な設計変更 |
8 | TOF距離センサの位置を変更 |
9 | Wio Terminalとバッテリーの格納部の下部の長さ調整 |
curcuit
ステップ | 内容 |
---|---|
1 | 回路図 |