【临沂】第三课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()那这个程序就出错了,
【临沂】第三课Python编程——控制舵机图1
出现提示没有给予参数,这样我们就可以意识到在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°舵机也可以实现特定角度的旋转。代码是不是很神奇!!!

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(3)
txm派瑞深山锹🐛🐜🐞🦂
txm派瑞深山锹🐛🐜🐞🦂
学习学习!!
DFrJ5KYVQaH
DFrJ5KYVQaH
在这方面我应该向您学习
DFrJ5KYVQaH
DFrJ5KYVQaH
大大的赞,一边学树莓派,一边学Python
12345上山打老虎
12345上山打老虎
作者
回复DFrJ5KYVQaH
向您学习王老师
- 没有更多了 -