筆者:米田 聡
小型コンピュータボード「Raspberry Pi」(ラズパイ)向けにさまざまな拡張ボードが発売されています。その拡張ボードとラズパイを組み合わせれば、ラズパイでいろいろなことが簡単に試せます。第10回は、サーボモーターを制御できる拡張基板を扱います。
シェルスクリプトマガジン Vol.77は以下のリンク先でご購入できます。
図6 チャンネル1に接続したSG90を動かすサンプルプログラム(sv.py)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
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) |