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を動かすセッティング

配線: f:id:ksumiya0318:20161214161301p:plain

上で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でも動かせるようにする
  • 他のサーボでも試す

をやりたい.