筆者:米田 聡
小型コンピュータボード「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) |