筆者:米田 聡
小型コンピュータボード「Raspberry Pi」(ラズパイ)向けにさまざまな拡張ボードが発売されています。その拡張ボードとラズパイを組み合わせれば、ラズパイでいろいろなことが簡単に試せます。第10回は、サーボモーターを制御できる拡張基板を扱います。
シェルスクリプトマガジン Vol.77は以下のリンク先でご購入できます。![]()
![]()
図6 チャンネル1に接続したSG90を動かすサンプルプログラム(sv.py)
import smbus, SVO
import time
servo = SVO.SVO()
#init
servo.Servo_Switch('b', '0') # 両チャンネルオフ
servo.Set_servo_cycle('20000') # PWMピリオド20ミリ秒
servo.Set_servo_duty_min('b','500') # 最小デューティサイクル0.5ミリ秒
servo.Set_servo_duty_max('b','2400') # 最大デューティサイクル2.4ミリ秒
servo.Set_servo_duty('b', '500') # -90度に初期化
servo.Set_servo_Write() # 初期値を書き込み
# 作動
servo.Servo_Switch('b', '1') # 両チャンネルオン
time.sleep(3)
for r in range(10, 190, 10): # 10度から180度まで
print("r=" + str(r))
sval = str(int( r*1900/180 + 500 ))
servo.Set_servo_duty('1', sval)
servo.Set_servo_Write()
time.sleep(3)