raspberrypi サーボモータMG-90D

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)
にすれば実行

カテゴリー iot