树莓派控制舵机资料

舵机介绍:http://www.51hei.com/mcu/2672.html

树莓派PWM函数介绍:http://shumeipai.nxez.com/2014/11/13/rpi-gpio-module-pwm-basic-function.html

舵机角度和占空比对应的关系动画。

对应关系如下,范围为-90°到+90°。为了方便计算,可以将其映射到0-180°

角度 20ms内脉冲宽度 占空比 映射后角度
-90° 0.5ms 2.5%
-45° 1ms 5.0% 45°
1.5ms 7.5% 90°
45° 2ms 10.0% 135°
90° 2.5ms 12.5% 180°

GPIO库中p.ChangeDutyCycle()需要控制PWM的参数需要的是占空比(确切的说,占空比*100),而我们要调节的是角度,估映射后角度和占空比的对应函数关系为:f = 1/18*角度 + 2.5

根据给出的对应关系,猜测是线性关系。

2.5 = 0*x + b

12.5 = 180*x + b

解二元一次方程 (小学数学 :)) x = 1/18 b=2.5

代码如下

def changeDgree(degree):
    """舵机转到给定到角度"""
    duty_cycle = float(degree)/18 + 2.5
    p.ChangeDutyCycle(duty_cycle)

定要等待,留下足量时间供电,以转到特定角度,即让设置生效

time.sleep(0.5)

时间: 2024-10-10 02:11:44

树莓派控制舵机资料的相关文章

极客大讲堂:手把手教你用树莓派控制红绿灯

涉及硬件:树莓派以及相关套件.LED红绿灯 涉及知识:电路实验板.CanaKit 当准备好以上,我们就可以开始啦.使用树莓派进行LED原型控制. 首先要明白的是,接入所有的电线.电阻器以及工具包附带的指示灯需要谨慎操作,毕竟如果你设置操作不当将有可能损坏你的硬件. 为了简化与树莓派和LED的接触,也为了方便编写控制代码,我决定编写一个叫做Pi交通灯的小玩意,这是用树莓派控制LED的第一步. 有了这个“红绿灯”之后,你要做的就只是把这个小装置直接插到树莓派的GPIO接口上.你不需要担心连接到线路板

利用树莓派控制步进电机——C语言

电路连接方式请看另一篇博文:[利用树莓派控制步进电机--pythony语言] /****************************************************** * File name: stepMotor.c * Author: Jason Dai * Date: 2015/01/26 ******************************************************/ #include <wiringPi.h> #include <

树莓派控制红外线收发

上淘宝买了两个红外线模块,一个是接收器,另一个是发送器. 问了卖家,没有资料,但是根据电路板上打印的信息,似乎是标准的模块.于是先插上树莓派试试看. 看宝贝描述,这个模块是给Arduino用的,于是搜索了一下Arduino相关的资料,发现github上有 Arduino-IRremote这个项目,里面有各种协议包括NEC红外协议的实现. 举个例子,代码里面发送NEC的实现: 这里先发送一个头部,然后按比特发送数据, 比特为1发560us的PWM,然后等待1690us 比特位0的时候发送560us

树莓派3b+ 舵机驱动开发

设备:树莓派 3b+操作系统:Raspbian远程访问:SSH舵机型号:MG90S使用语言:C,使用wiringPi库. 遇到的难点:1. PWM频率计算2. 命令行参数传入C代码时,char向int转换 舵机控制主要用到的函数介绍: wiringPiSetup(); pinMode(1,PWM_OUTPUT); //only wiringPi pin 1 (BCM_GPIO 18) supports PWM pwmSetMode(PWM_MODE_MS); // Set to mode: ma

C#串口控制舵机 &nbsp; arduino源码 及C#源码及界面

1.舵机原理简介 控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压.它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出.最后,电压差的正负输出到电机驱动芯片决定电机的正反转.当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动. 舵机的控制一般需要一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms-2.5ms范围内的角度控制脉冲部分,总间隔为2ms.以180度角度伺服为例,那么

用树莓派控制8*8led矩阵显示红心

话不多说,直接列代码,采用每行扫描显示的方式,led矩阵接口可查参考资料,对应连接相应的树莓派GPIO口. import RPi.GPIO as GPIOimport time PIN_A=11PIN_B=12PIN_C=13PIN_D=15PIN_E=16PIN_F=18PIN_G=22PIN_H=24 PIN_a=29PIN_b=31PIN_c=33PIN_d=35PIN_e=37PIN_f=32PIN_g=36PIN_h=38 GPIO.setmode(GPIO.BOARD) GPIO.s

树莓派控制数码管显示

1. 效果显示 2. 硬件设备 在某宝上买了一个4位共阴数码管.4个数字公用一个阴极,一共12个引脚.其中6,8,9,12是共阴引脚. 每个数字由 a-g 7个二极管和一个点dp.因为是在网上买的没有详细的器件手册,所以只能自己测试引脚与数码管上二极管的对应关系. 通过上图可以看出12号引脚对应的是第一位数字的共阴引脚,1号引脚对应数字e.依次测试,结果如下: 2.

利用树莓派控制步进电机——Python语言

步进电机的优点在于它能够被精确定位,正向或反向一次性转动"一步",并且也能够连续转动. #!/usr/bin/env python ######################################################### # File name: stepMotor.py # Author: Jason Dai # Date: 2015/01/26 ########################################################

树莓派控制WS2812

https://tutorials-raspberrypi.com/connect-control-raspberry-pi-ws2812-rgb-led-strips/ 原文地址:https://www.cnblogs.com/kekeoutlook/p/12638231.html