360度サーボモータMG-90Dを制御する
黄色 GPIO21 オレンジ 外部電源4.8V-6V 茶色 GND
MG-90Dの仕様は700マイクロ秒から2300マイクロ秒の間(個体差がある)
パルス幅を小さくすると右回転 大きくすると左回転
120度の範囲をパルス幅800から2300μ秒
import time
import pigpio
SERVO_PIN = 21
width = [600,800,1000,1200,1400,1600,1800,2000,2200]
pi = pigpio.pi()
for p_width in width:
print ("Servo set", int(p_width) )
pi.set_servo_pulsewidth(SERVO_PIN,int(p_width) )
time.sleep(1)
pi.stop()
exit(0)
単独で入力の場合
phthon3 servo.py 1500
import sys
import pigpio
SERVO_PIN = 21
args = sys.argv
if ( len( args ) > 1 ):
if ( args[1].isdecimal() ):
p_width = int( args[1] )
if ( p_width >= 800 and p_width <= 2300 ):
print ("Servo set", p_width )
pi = pigpio.pi()
pi.set_servo_pulsewidth(SERVO_PIN, p_width)
else:
print (" PULSE_WHDHT : Pulse range is 800-2300.")
else:
print ("python3 servo.py PULSE_WIDTH")
pi.stop()
exit(0)
リモートの場合は
pi = pigpio.pi()
を
pi = pigpio.pi(‘192.168.0.13’,8888)
にすれば実行