文档章节

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

捍卫机密
 捍卫机密
发布于 2016/12/08 23:04
字数 264
阅读 291
收藏 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)
 

© 著作权归作者所有

共有 人打赏支持
捍卫机密
粉丝 5
博文 126
码字总数 45015
作品 0
成都
程序员
pcDuino在使用GPIO控制舵机时能够用多线程吗?

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

e休
2014/04/06
352
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
数码舵机常见问题原理分析

一、数码舵机与模拟舵机的区别 传统模拟舵机和数字比例舵机(或称之为标准舵机)的电子电路中无MCU微控制器,一般都称之为模拟舵机。老式模拟舵机由功率运算放大器等接成惠斯登电桥,根据接收...

酸酸苹果汁
2014/04/03
866
0

没有更多内容

加载失败,请刷新页面

加载更多

初级开发-编程题

` public static void main(String[] args) { System.out.println(changeStrToUpperCase("user_name_abc")); System.out.println(changeStrToLowerCase(changeStrToUpperCase("user_name_abc......

小池仔
今天
6
0
现场看路演了!

HiBlock
昨天
16
0
Rabbit MQ基本概念介绍

RabbitMQ介绍 • RabbitMQ是一个消息中间件,是一个很好用的消息队列框架。 • ConnectionFactory、Connection、Channel都是RabbitMQ对外提供的API中最基本的对象。Connection是RabbitMQ的s...

寰宇01
昨天
9
0
官方精简版Windows10:微软自己都看不过去了

微软宣布,该公司正在寻求解决方案,以减轻企业客户的Windows 10规模。该公司声称,企业客户下载整个Windows 10文件以更新设备既费钱又费时。 微软宣布,该公司正在寻求解决方案,以减轻企业...

linux-tao
昨天
19
0
TypeScript基础入门之JSX(二)

转发 TypeScript基础入门之JSX(二) 属性类型检查 键入检查属性的第一步是确定元素属性类型。 内在元素和基于价值的元素之间略有不同。 对于内部元素,它是JSX.IntrinsicElements上的属性类型...

durban
昨天
12
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部