树莓派使用python 控制舵机
(2015-09-23 15:59:39)
标签:
股票 |
分类: 树莓派 |
SG90 一共三根线,红线接5v电源,棕线gnd,黄线为数据控制线,该线接到GPIO上,这里使用BCM模式下的21引脚
SG90 脉冲周期为20ms,脉宽0.5ms-2.5ms对应的角度-90到+90,对应的占空比为2.5%-12.5%
注意:(在规定范围内) 给多少占空比 有且只有一个角度和它对应
1.首先安装python库和gpio库
(1) 安装python库
sudo apt-get install python-dev
(2)执行更新
sudo easy_install -U distribute
(3)安装python-pip
sudo apt-get install python-pip
(4)安装pythond 的GPIO库
sudo pip install rpi.gpio
2.基于python 的编程,编写sg90.py
(1)执行 cd ~
(2)执行 sudo mkdir SG90
(3)执行 cd SG90
(4)执行 nano sg90.py
(5)复制以下代码,并按ctl+x 选择Y保存退出
#!/usr/bin/env python
import RPI.GPIO as GPIO
import time
import signal
import atexit
atexit.register(GPIO.cleanup)
servopin=21
GPIO.setmode(GPIO.BCM)
GPIO.setup(servopin,GPIO.OUT,initial=False)
p=GPIO.PWM(servopin,50)
p.start(0)
time.sleep(2)
while(True):
for i in
range(0,360,10):
p.ChangeDutyCycle(12.5-5*i/360)
time.sleep(1)
for i in
range(0,360,10):
p.ChangeCutyCycle(7.5-5*i/360)
time.sleep(1)
注意:
1.在python 语言下 for
里面的两条语句 必须对齐
如:
p.ChangeDutyCycle(12.5-5*i/360)
time.sleep(1)
(N)
p.ChangeDutyCycle(12.5-5*i/360)
time.sleep(1)
(Y)
2.程序中 p.ChangeCutyCycle()是指占空比
通过改变占空比 使得舵机可以“缓慢的”接近最终的角度。
实质上还是利用占空比对应角度,占空比++
=》角度++
SG90 脉冲周期为20ms,脉宽0.5ms-2.5ms对应的角度-90到+90,对应的占空比为2.5%-12.5%
注意:(在规定范围内) 给多少占空比 有且只有一个角度和它对应
1.首先安装python库和gpio库
2.基于python 的编程,编写sg90.py
#!/usr/bin/env python
import RPI.GPIO as GPIO
import time
import signal
import atexit
atexit.register(GPIO.cleanup)
servopin=21
GPIO.setmode(GPIO.BCM)
GPIO.setup(servopin,GPIO.OUT,initial=False)
p=GPIO.PWM(servopin,50)
p.start(0)
time.sleep(2)
while(True):
注意:
1.在python 语言下
2.程序中 p.ChangeCutyCycle()是指占空比

加载中…