【临沂】第三课Python编程——控制舵机
2020-04-264587
AI 快速预览详细
本文介绍了如何使用Python编程控制舵机。通过具体的代码示例,展示了如何初始化程序、设置频率、控制舵机正转与反转。文章还分享了调试经验,例如通过修改p.start(0)为p.start(),发现程序出错提示未给予参数,从而理解start中需要写上参数的重要性。通过调节时间与占空比,360°舵机也可以实现特定角度的旋转。
|
舵机咱们前面探讨过,这节课我们主要来敲代码分析代码。 [mw_shl_code=python,false]import RPi.GPIO as pi import time Duoji = 18 pi.setwarnings(False) pi.setmode(pi.BCM) pi.setup(Duoji,pi.OUT)[/mw_shl_code] 初始化程序,没啥技术含量,照搬就可以了。 [mw_shl_code=python,false]p = pi.PWM(Duoji,50)[/mw_shl_code] 设置频率为50HZ,周期为20ms [mw_shl_code=python,false]p.start(0) p.ChangeDutyCycle(5) time.sleep(2) p.ChangeDutyCycle(10) time.sleep(2) p.stop()[/mw_shl_code] 舵机正转与反转 [mw_shl_code=python,false]pi.cleanup()[/mw_shl_code] 清除GPIO占用。 修改程序各地方你就会知道这个代码在某处是啥用处,举个例子,看到p.stop()写成这样,我就把p.start(0)写成p.start()那这个程序就出错了, ![]() 出现提示没有给予参数,这样我们就可以意识到在start中需要写上参数,像这样的例子还有很多,自己动手敲敲代码一个程序就了然于胸了。 [mw_shl_code=python,false]import RPi.GPIO as GPIO import time Duoji = 18 GPIO.setwarnings(False) GPIO.setmode(GPIO.BCM) GPIO.setup(Duoji, GPIO.OUT) p = GPIO.PWM(Duoji, 50) p.start(0) for i in range(5): p.ChangeDutyCycle(6) time.sleep(0.39) p.ChangeDutyCycle(7.18) time.sleep(1) p.stop() GPIO.cleanup() [/mw_shl_code] 调节好时间跟占空比,360°舵机也可以实现特定角度的旋转。代码是不是很神奇!!! |





