文档章节

py控制gpio,舵机来回转程序

捍卫机密
 捍卫机密
发布于 2016/12/08 23:04
字数 264
阅读 298
收藏 0
PWM

# 这就是一个控制舵机大概模式  自学记录

# 树莓派上运行精度还行,香蕉派上精度不足,非常不足。控制机器人之类必须要加pwm发生芯片

#!/usr/bin/env python
# -*- coding:utf-8 -*-

import RPi.GPIO as GPIO
import time
import signal
import atexit
import sys

# 清理gpio口
atexit.register(GPIO.cleanup)

# 使用gpio22口
servopin = 22
# 设置gpio模式
GPIO.setmode(GPIO.BCM)
# 设置
GPIO.setup(servopin, GPIO.OUT, initial=False)
# 定义50HZ赫兹
gp = GPIO.PWM(servopin,50)
# 从0 开始
gp.start(0)
# 先休息2毫秒?
time.sleep(2)
x = 0

def l(p):
  """设置0-180度 每15度一算占空比"""
  for i in range(0, 181, 15):
    x1=2.5 + 10 * i / 180
    p.ChangeDutyCycle(x1)
    time.sleep(0.1)
    p.ChangeDutyCycle(0)
    time.sleep(0.2)
    #print i


def r(p):
  """设置180-0度 每15度一算占空比"""
  for i in range(181, 0, -15):
    x2=2.5 + 10 * i / 180
    p.ChangeDutyCycle(x2)
    time.sleep(0.1)
    p.ChangeDutyCycle(0)
    time.sleep(0.2)
    #print i

while(True):
  """循环上面过程。其实就是舵机 180度 来回转"""
  x+=1
  print 'change...', x
  l(gp)
  print 'change...', x + 1
  r(gp)
 

© 著作权归作者所有

共有 人打赏支持
下一篇: PWM
捍卫机密
粉丝 5
博文 126
码字总数 48320
作品 0
成都
程序员
私信 提问
Micropython教程之TPYBoard开发板驱动舵机教程(萝卜学科编程教育)

大家应该都看到过机器人的手臂啊腿脚啊什么的一抽一抽的在动弹吧...是不是和机械舞一样的有节奏,现在很多机器人模型里面的动力器件都是舵机。 但是大家一般见到的动力器件都是像步进电机,直...

bodasisiter
12/08
0
0
pcDuino在使用GPIO控制舵机时能够用多线程吗?

曾经在arduino制作超声波避障小车,在控制动力电机、摇头舵机的同时还要读取超声波测距,最后效果不是特别理想。 pcDuino既然是32位linux系统,不知道能不能在控制GPIO输入输出的时候使用多线...

e休
2014/04/06
368
1
STM32——遥控小车从设计到实现详细记录

这次边做边写,基本上把做proj的整个步骤记录下来,包括中间的思考过程,也挺有意思的 小车主控板思路 主控板需要完成的功能: 1.接受传输过来的数据 2.根据数据控制电机PWM 3.根据数据控制舵...

hustcw98
04/14
0
0
【树莓派+.NET MF打造视频监控智能车】控制篇(.NET MF)

在上一篇《遥控篇》文章中,我们介绍了SonyPS2手柄信号的采集和编程,通过简单的封装,以事件的方式向我们提供按键信息。本篇文章主要介绍.NET Micro Framework系统接受到按键信息后,如何驱...

刘洪峰iot
2014/01/26
0
0
kiwiboard运行demo_servo

这个例子的代码在 https://github.com/kiwiboard/kiwiboard/tree/master/src/demo_servo 通过arduino实现舵机转动的一个小例子,整个过程挺简单的。就是在装usb驱动上费了些劲。 首先下载adk...

blindcat
2013/05/24
0
1

没有更多内容

加载失败,请刷新页面

加载更多

新手也能看懂,消息队列其实很简单

该文已加入开源项目:JavaGuide(一份涵盖大部分Java程序员所需要掌握的核心知识的文档类项目,Star 数接近 16k)。地址:https://github.com/Snailclimb/JavaGuide. 本文内容思维导图: 消息...

阿里云官方博客
24分钟前
3
0
如何在Chrome浏览器中启动deviceready事件(尝试调试phonegap项目)?

我正在开发PhoneGap应用程序,我希望能够在Chrome中调试它,而不是在电话上调试。但是,我在onGetReady()函数中初始化我的代码,该函数在PhoneGap触发“deviceready”事件时触发。由于Chr...

kisshua
今天
9
0
nginx中部署vue打包后的静态文件

如何在nginx中部署静态资源就不描述了, 请看我的这篇博客 将vue脚手架项目打包后的静态文件放到nginx上, 发现有个问题, 即url上有#, 怎么去掉这个#呢. 1 项目中router的mode 路由的mode要为h...

克虏伯
今天
13
0
JS容易理解错误的地方

在这端代码执行的末尾,你会不会hi变量回事函数中的hi了?你会不会认为这不是按引用传递了? 对值传递和引用传递产生质疑了? 1 var hi = {};2 function sayHello(hi) { ...

器石_
今天
10
0
Java开发学习--MongoDB

之前只学过sql,第一次使用非关系型数据库。以前对于关系型数据库与非关系型数据库的概念很模糊,通过这次的学习对这两者有了一个清晰的概念。 主键 在MongoDB中,主键名叫"_id",如果在生成...

微笑向暖wx
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部