raspberrypi servo wiringpi [21,131]
raspberrypiでservo motorを制御します
参考[1]: qiita.com
今回はまだチェックしてないけど, この方のも役立ちそう[2]: qiita.com
wiringpi
wiringpiをインストールします.
参考[3]: raspi.tv
他のでも制御できそうだったけど, [1]で使用していたのがwiringpiだったので使用しただけ.
sudo apt-get update sudo apt-get install python-dev python-pip sudo pip install wiringpi2
でおk.
チェックは,
sudo python import wiringpi2 wiringpi2.piBoardRev()
です.
servoを動かすセッティング
配線:
上でwiringpiが使えるようになったので,
vi servo_motor.py
で
import wiringpi import time import sys servo_pin = 18 param = sys.argv wiringpi.wiringPiSetupGpio() wiringpi.pinMode( servo_pin, 2 ) wiringpi.pwmSetMode(0) wiringpi.pwmSetRange(1024) wiringpi.pwmSetClock(375) move_deg = int(param[1]) print(move_deg) wiringpi.pwmWrite( servo_pin, move_deg )
のコードを作成.
servo制御は18番のpinを使用(wiringpiはRPiのときと違って, ピンの内容で指定するのね).
servoを動かすセッティング
で,
python servo_motor.py 21
や
python servo_motor.py 131
や
python servo_motor.py 76
とかをやっていくと動く.
今はなぜか
21: 0°
131: 180°
に対応している.
内部で調整するように書いても何故かうまくいかない(手元のpythonだとちゃんと計算できるのに, 中に組み込むとうまくいかないという謎レベル)ので, あとで方法を考えねば.
とりあえずこれからは
- RPiでも動かせるようにする
- 他のサーボでも試す
をやりたい.