加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

树莓派使用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()是指占空比
    通过改变占空比  使得舵机可以“缓慢的”接近最终的角度。
    实质上还是利用占空比对应角度,占空比++    =》角度++

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有