2671浏览
查看: 2671|回复: 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()那这个程序就出错了,
【临沂】第三课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°舵机也可以实现特定角度的旋转。代码是不是很神奇!!!

DFrJ5KYVQaH  中级技匠

发表于 2020-4-26 15:46:19

大大的赞,一边学树莓派,一边学Python
回复

使用道具 举报

12345上山打老虎  高级技师
 楼主|

发表于 2020-4-26 21:35:18

DFrJ5KYVQaH 发表于 2020-4-26 15:46
大大的赞,一边学树莓派,一边学Python

向您学习王老师
回复

使用道具 举报

DFrJ5KYVQaH  中级技匠

发表于 2020-4-27 08:11:38

在这方面我应该向您学习
回复

使用道具 举报

txm派瑞深山锹  高级技师

发表于 2020-4-27 11:01:47

学习学习!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail