3115| 4
|
【临沂】第三课Python编程——控制舵机 |
舵机咱们前面探讨过,这节课我们主要来敲代码分析代码。 [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°舵机也可以实现特定角度的旋转。代码是不是很神奇!!! |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed