文档章节

树莓派控制SG90舵机

沉淀岁月
 沉淀岁月
发布于 2017/03/22 15:57
字数 309
阅读 267
收藏 0

SG90一共三根线,红线接5V电源,棕线GND。黄线为数据控制线,该线接到GPIO上,这里我们是BCM模式的GPIO17

    SG90 脉冲周期为20毫秒(millisecond) 不是20微秒(Microsecond),两者差1000倍呢!也就是说最多1秒钟内可以转动50次,但是考虑到每次转动还要耗时,所以实际达不到50次。PWM控制信号周期20ms,脉宽0.5ms-2.5ms对应的角度-90到+90度,范围180度(3度左右偏差),当脉宽1.5ms时舵机在中立点(0度),我们直接用python的GPIO提供的PWM控制。脉宽0.5ms-2.5ms对应的占空比为2.5% - 12.5% .  理论上,10%的空间可以提供180度的线性分割。

    

下面的代码可以看到舵机不停的从0度转到180度,再转回来到0度。

 

[python] view plain copy

  1. #!/usr/bin/env python    
  2.   
  3.   
  4. import RPi.GPIO as GPIO  
  5. import time  
  6. import signal  
  7. import atexit  
  8.   
  9. atexit.register(GPIO.cleanup)    
  10.   
  11. GPIO.setmode(GPIO.BCM)  
  12. GPIO.setup(17, GPIO.OUT, initial=False)  
  13. p = GPIO.PWM(17,50) #50HZ  
  14. p.start(0)  
  15. time.sleep(2)  
  16.   
  17. while(True):  
  18.   for i in range(0,181,10):  
  19.     p.ChangeDutyCycle(2.5 + 10 * i / 180) #设置转动角度  
  20.     time.sleep(0.02)                      #等该20ms周期结束  
  21.     p.ChangeDutyCycle(0)                  #归零信号  
  22.     time.sleep(0.2)  
  23.     
  24.   for i in range(181,0,-10):  
  25.     p.ChangeDutyCycle(2.5 + 10 * i / 180)  
  26.     time.sleep(0.02)  
  27.     p.ChangeDutyCycle(0)  
  28.     time.sleep(0.2)  

本文转载自:​http://blog.csdn.net/huayucong/article/details/48805111

共有 人打赏支持
沉淀岁月
粉丝 26
博文 257
码字总数 91615
作品 0
朝阳
高级程序员
私信 提问
人脸辨识,用树莓派Raspberry Pi实现舵机云台追踪脸孔

影像辨识作为近年最热门的专业技术之一,广泛用于智慧监视器、车电监控、智慧工厂、生物医疗电子等等;其中,人脸辨识是一个很重要的部分,网络上已经有相当多的资源可供下载使用;于是我们使...

易心Astar
10/07
0
0
其他主流开源硬件简介BeagleBone Black快速入门

其他主流开源硬件简介BeagleBone Black快速入门 1.3 其他主流开源硬件简介 开源硬件种类繁多,但主要有两款开源硬件常与BeagleBone比较。它们就是Arduino和Raspberry Pi(即树莓派)。之所以...

大学霸
2015/02/13
0
0
利用树莓派和 Arduino开发机器人

导读 Thecorpora 的发布的 “Q.bo One” 机器人基于 RPi 3 和 Arduino,并提供立体相机、麦克风、扬声器,以及视觉和语言识别。 2010 年,作为一个开源概念验证和用于探索 AI 在多传感器、交...

问题终结者
2017/10/18
0
0
基于树莓派如何开发机器人(附PPT+视频) | 硬创公开课

导语:树莓派是为学习计算机编程教育而设计的一种微型电脑,其系统是基于Linux的, 虽然只有信用卡大小,但视频、音频等功能通通皆有,可谓是“麻雀虽小,五脏俱全”。因此自问世以来,受到了...

金红
2017/03/09
0
0
预告:基于树莓派如何开发机器人 | 硬创公开课

此前我们收到读者反馈,想听一节关于如何用树莓派开发机器人。树莓派为学习计算机编程教育设计的一种微型电脑,其系统基于Linux, 只有信用卡大小但视频、音频等功能通通皆有,可谓是“麻雀虽...

金红
2017/02/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Ubuntu18.04 安装MySQL

1.安装MySQL sudo apt-get install mysql-server 2.配置MySQL sudo mysql_secure_installation 3.设置MySQL非root用户 设置原因:配置过程为系统root权限,在构建MySQL连接时出现错误:ERROR...

AI_SKI
今天
3
0
3.6 rc脚本(start方法) 3.7 rc脚本(stop和status方法) 3.8 rc脚本(以daemon方式启动)

3.6-3.7 rc脚本(start、stop和status方法) #!/usr/bin/env python# -*- coding: utf-8 -*-# [@Version](https://my.oschina.net/u/931210) : python 2.7# [@Time](https://my.oschina.......

隐匿的蚂蚁
今天
3
0
Cnn学习相关博客

CNN卷积神经网络原理讲解+图片识别应用(附源码) 笨方法学习CNN图像识别系列 深度学习图像识别项目(中):Keras和卷积神经网络(CNN) 卷积神经网络模型部署到移动设备 使用CNN神经网络进行...

-九天-
昨天
5
0
flutter 底部输入框 聊天输入框 Flexible

想在页面底部放个输入框,结果键盘一直遮住了,原来是布局问题 Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text("评论"), ...

大灰狼wow
昨天
4
0
Kernel I2C子系统

备注:所有图片来源于网络 1,I2C协议: 物理拓扑: I2C总线由两根信号线组成,一条是时钟信号线SCL,一条是数据信号线SDA。一条I2C总线可以接多个设备,每个设备都接入I2C总线的SCL和SDA。I...

yepanl
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部