スポンサーリンク
どうも、プロコアラです。
ラズパイからモーターを制御する方法を解説します。
カメラの向きを制御したりする際に必要です。
僕の場合は赤ちゃんモニタをラズパイで作っているので、モーターを制御してカメラの向きを変えれば、赤ちゃんがハイハイで動き出した時に対応できますね。
スポンサーリンク
概要
ラズパイをServoblasterというソフトウェアでサーボモーターを制御します。
Servoblasterは擬似的にPWM制御するソフトウェアで、最大で8個のサーボモーターを制御することができます。
ラズパイにはPWMのためのGPIOピンが1ピンしか用意されていないため、タイヤの制御など複数のサーボモーターを制御したい場合にもオススメです。
使用するもの
今回の使用したものはこちらです。
ラズパイ持ってないよという方は、こちらの記事を参考にしてください
ラズパイとは?プログラミングや電子工作にもオススメな格安PC
こんにちは、エンジニアブロガーのプロコアラです。
[word_balloon id="2" position="L...
準備
それでは、準備をしていきましょう。
Servoblasterのインストール
ラズベリーパイに正式対応したServoblasterをインストールしましょう。
git clone git://github.com/richardghirst/PiBits.git cd PiBits/ServoBlaster/user make sudo make install
サーボモーターを接続
今回は、サーボモーター4と5を使用します。
GPIO番号とサーボモーター番号を読み替える必要があります。
サーボ番号 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
GPIO番号 | 4 | 17 | 18 | 21 or 27 | 22 | 23 | 24 | 25 |
ピン番号 | 7 | 11 | 12 | 13 | 15 | 16 | 18 | 22 |
ラズベリーパイを以下のように配線します。
電源(5V) | サーボモーターA/B 電源(赤色) |
GPIO22(サーボ番号4) | サーボモーターA 制御信号(オレンジ色) |
GPIO23(サーボ番号5) | サーボモーターB 制御信号(オレンジ色) |
GND(ピン番号6) | サーボモーターA/B GND(茶色) |
モーターを回すと電源にノイズが入ってくるため、ラズベリーパイから取らずに別電源から取ります。
本当は制御信号に10kΩの抵抗を入れたりしたほうがベターみたいですね。
実行
以下のようにコマンドで制御できます。
# モーター番号4 0度回転 echo 4=0% > /dev/servoblaster # モーター番号4 90度回転 echo 4=50% > /dev/servoblaster # モーター番号5 180度回転 echo 4=100% > /dev/servoblaster
まとめ
Servoblaster 簡単ですね!
8個までサーボモータを制御できるということで
ロボットの関節制御とかに良さそうですね。
では!(^^)/
スポンサーリンク
スポンサーリンク