Raspberry Pi Mouse 研修[2]


こんにちは。seyaです。

本日の開発環境です!

上にモニターもあります。マウスの開発環境がキーボード,マウス、モニター、本体の4つでできるのがとてもいいですね!

手順書6の通り、UI用のledを光らせようとしましたが、rtled0なんてないよとエラーを返されてしまいました。

ラズベリーパイマウスの再起動を行うと、デバイス用ドライバの再インストールが毎回必要になるようです。

起動するたびにドライバのインストールをするためのコマンド打つのが大変なのでシェルスクリプトを書きました。

 #startup.sh
cd
cd RaspberryPiMouse/lib/Pi2B+/4.14.69-v7+/
sudo insmod rtmouse.ko 
sudo chmod 666 /dev/rt*
echo 440 /dev/rtbuzzer0
echo 1  /dev/rtled0
echo 1 /dev/rtled1
echo 1  /dev/rtled2
echo 1  /dev/rtled3
sleep 1
echo 0  /dev/rtled0
echo 0  /dev/rtled1
echo 0  /dev/rtled2
echo 0  /dev/rtled3
echo 0  /dev/rtbuzzer0
  • 使用する際にはecho 数値 /dev/rt*の間に > を入れてください。(例: echo 1 > /dev/rtled0)

ターミナル上で実行することでドライバを使用できるかどうかの 確認まで自動で行うことが可能になりました。どこかでエラーがあった場合は、ターミナル上にエラーが帰ってくるので確認が簡単にできます。

ターミナル上で実行する場合は以下のコマンドを入力することで可能です。

 $ ./startup.sh

 

また、シェルスクリプトをラズベリーパイのスタートアップに追加をすることで、わざわざ自分で実行をしなくとも起動時に自動で実行するようにするということも可能なので後日紹介したいと思います。

 

説明書の手順に戻ります。

今回の内容は以下のことを行いました。

  • led,buzzerがそれぞれ光る、音がなるかの確認
  • 距離センサの値がとれるかどうかの確認
  • ステッピングモーターが回るかどうかの確認
  • c言語,pythonを使用したサンプルコードを動かしてみる

これらすべてを順調に行うことができました!

ステッピングモーターの回るかどうかの確認において、ステッピングモーターを回す際の注意点がいくつか分かったので紹介します。

ステッピングモーターを回すためには物理スイッチ、ソフトウェアスイッチの両方をONにする必要があります。

両方をONにすることでトルクがかかるようになりますが、長時間その状態にしておくと、最大で100度まで上がってしまうことや、モーターが壊れてしまうことがあるので、使わないときには必ず両方のスイッチを切りましょう!

また、ステッピングモーターの特性上遅い速度で回すと熱を持ちやすいので、遅い速度で回し続けるときは気を付けてください。

意外な落とし穴ですが、ステッピングモーターを回す際にはラズベリーパイのマウスの本体を浮かすようにしましょう!そうしないと、状況によってはマウスが机から落ちてしまい、マシンが壊れるという最悪の事態が起きてしまう可能性が浮上します。

 

今後の予定

マイクロマウスの迷路を完走するためには大雑把に以下の内容が必要になるため、これらをひとつずつ進めていきたます。

  • ステッピングモーターを用いて指定した距離進む、超信地旋回をできるようにする
  • マイクロマウスの迷路アルゴリズムを書く
  • 迷路の探索を行うことができる
  • スラロームの実装をする
  • 最短走行を行う

 

次回やること

ここまで、ハードウェアの話をしてきたので次回からはソフトウェアの内容である迷路アルゴリズムの実装をやっていこうと思います。

 

 


Posted in Raspberry Pi Mouse