半瓶兄 半瓶兄
中二病模式全开
关注数: 79 粉丝数: 127 发帖数: 16,021 关注贴吧数: 27
各位树莓派领域大神求教连接舵机问题 我这个机械臂是3个MG996R的舵机,用的11、13、15GPIO引脚,但是跑起来没反应,很奇怪,而且提示引脚已被占用,但是我一开机就这样,应该不是占用的问题吧? 报错在这里: /home/pi/servo.py:12: RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings. GPIO.setup(pin, GPIO.OUT) 下面是代码,求求大神帮我看一下吧 import RPi.GPIO as GPIO import time # 设置GPIO模式 GPIO.setmode(GPIO.BCM) # 定义新的GPIO引脚 servo_pins = [11, 13, 15] # 替换为你想要使用的引脚 # 设置GPIO引脚为输出模式 for pin in servo_pins: GPIO.setup(pin, GPIO.OUT) # 创建PWM实例,频率为50Hz(周期20ms) servo_pwm = [GPIO.PWM(pin, 50) for pin in servo_pins] # 启动PWM输出,初始占空比为0 for pwm in servo_pwm: pwm.start(0) # 定义角度到占空比的转换函数 def angle_to_duty_cycle(angle): return 2.5 + (angle / 180.0) * 10.0 try: while True: # 控制舵机转到0度 for pwm in servo_pwm: pwm.ChangeDutyCycle(angle_to_duty_cycle(0)) time.sleep(1) # 控制舵机转到90度 for pwm in servo_pwm: pwm.ChangeDutyCycle(angle_to_duty_cycle(90)) time.sleep(1) # 控制舵机转到180度 for pwm in servo_pwm: pwm.ChangeDutyCycle(angle_to_duty_cycle(180)) time.sleep(1) except KeyboardInterrupt: pass # 停止PWM信号 for pwm in servo_pwm: pwm.stop() # 清理GPIO设置 GPIO.cleanup()连线在这里,用了一个电源供5V和接地,用树莓派GPIO11、13、15引脚连三个信号线
1 下一页