環境
・windows10
・raspberrypi-zero
・sg90
したいこと
単純にサーボモータを回したい
回路図(写真)
接続;windows→raspi→sg90→外部電源
gpio24番とgndを接続
コード
python
1import RPi.GPIO as GPIO 2from time import sleep 3 4# PLACE 5SV_PORT = 24 6SV_FREQ = 50 # 50Hz 7SV_DUTY_OFFSET = 0.025 8SV_DUTY_RES = (2.4 - 0.5) / 20 / 180 9 10GPIO.setmode(GPIO.BCM) 11GPIO.setup(SV_PORT, GPIO.OUT) 12 13#pwm 14servo = GPIO.PWM(SV_PORT, SV_FREQ) 15servo.start(0) 16 17# roll angle function 18def set_angle(angle): 19 degree = angle + 90 20 duty = (SV_DUTY_OFFSET + SV_DUTY_RES * degree)* 100 21 print("angle=", angle,"duty=",int(duty)) 22 servo.ChangeFrequency(SV_FREQ) 23 servo.ChangeDutyCycle(duty) 24 25# actually roll 26while True: 27 try: 28 set_angle(90) 29 sleep(1) 30 31 set_angle(0) 32 sleep(1) 33 34 set_angle(-90) 35 sleep(1) 36 37 set_angle(0) 38 sleep(1) 39 except KeyboardInterrupt: 40 break 41 42GPIO.cleanup() 43
結果
('angle=', 90, 'duty=', 12) ('angle=', 0, 'duty=', 7) ('angle=', -90, 'duty=', 2) ('angle=', 0, 'duty=', 7) ('angle=', 90, 'duty=', 12) ('angle=', 0, 'duty=', 7) ('angle=', -90, 'duty=', 2) ('angle=', 0, 'duty=', 7) ('angle=', 90, 'duty=', 12) ('angle=', 0, 'duty=', 7) ('angle=', -90, 'duty=', 2) ('angle=', 0, 'duty=', 7) ('angle=', 90, 'duty=', 12)
特にエラーが出るわけではなくサーボが回りません
試したこと
・sg90を複数を持っているのでいろいろためしました。
・ky66でも試しましたがだめです。
・電力供給がたりないと思い外部電源もつなげましたがだめでした
参考にした記事
・こちら
解決したいこと
コードのレビューまたは、回路図の指摘をしていただいて、サーボが回るよなアドバイスをしてほしいです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/24 11:39
2020/03/25 06:10
2020/03/25 06:12
2020/03/25 13:14