岡山大学機械システム系学科システムコースの機械工作実習2の授業にて制作するロボットに使用するプログラム
Raspberry PI 2 model B
を使用する.(無線LANの使用も考えているため,Raspberry PI 3 model B
も考慮する)
$ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 9.4 (stretch)
Release: 9.4
Codename: stretch
$ python3 --version
Python 3.5.3
詳細は pinout_manual を参照すること.
下の回路は,設計に問題があり,Raspberry Pi 本体を破壊する恐れがあるため,この設計のままで使用しないこと
以下のコードをコピペする.
mkdir -p $HOME/Git && \
cd $HOME/Git && \
sudo apt install -y python3-pygame python3-gpiozero git && \
git clone https://github.com/sik103/ManufacturingPractice2_A2.git && \
sh ManufacturingPractice2_A2/install.sh
Arduino promini にスケッチをアップロードする.スケッチは ManufacturingPractice2_A2_ard_sketch_GitHub を参照すること.
著作権等の問題により,GitHubへの音源の保存が難しいと思われるため,音源はGoogle Driveに入れ,テスト環境と本番環境を同期化させる.詳細は gdrive_manual を参照すること.
詳細は rpi_manual を参照すること.
- 光(火の元)を開始
- fire_and_conveyor
- スイッチ(センサー1)を押したら
- 音,光(サイレン)を開始:開始時間,動作時間
- 光:豆電球等で,クレーン車の上に
- ベルコン(モータ1)を開始:開始時間,動作時間
- モータドライバ
- 音,光(サイレン)を開始:開始時間,動作時間
- クレーンが倒れる
- クレーンを倒す(モータ2): 開始時間,動作時間
- 糸を緊張させておいて,モータを若干回転させる
- ストッパーを外す(モータ3): 開始時間,動作時間
- サーボモータで制御
- クレーンを倒す(モータ2): 開始時間,動作時間
- スイッチ(センサー1)を押したら
- explode_and_escape
- センサー(センサー2)でスタート
- 音(爆発音)と光(LED2) :開始時間,動作時間
- ジャンプ(モータ4):開始時間,動作時間
- リレーを介して,ゴムを離す -> ガウス砲
- センサー(センサー2)でスタート
- 一定時間後に光(火の元)を停止
太字: setting_time.json
- 開始時間はすべて
センサー
を基準にする.(動作部がボールの動きと一致しないため)
sh start.sh
に使用する.- 詳細
--finishtime
,-t
: 動作時間を計測する.--saveoutput
,-s
: 標準出力をファイルに記録する.--waitforenter
,-e
: Raspberry PI のセンサーの代わりにキーボードのEnter
キーを使用する.--no-loop
,-nl
: スクリプトを一回だけ動作させる.
- 使用例
$ sh start.sh -t -e
: 動作時間を測定し,実行時に出力された標準出力をファイルに記録する.
- モータドライバについて:tb6612fng_manual を参照すること
- Debug 時などに使えるUbuntuのコマンドなど:ubuntu_manualを参照すること
Raspberry Piで音楽(wav/mp3)ファイルを再生する方法 python編
google drive を コマンドから使うgdrive が早くて便利