初始化时使PWM_H

这种360°舵机相当于无极变速的减速电机,只能控制速度和方向,控制方式跟180°舵机是一样的,使用pwm进行控制
我使用的是ESP8266进行控制

//4、设置占空比,舵机进行转动 注意:360度舵机其实只有三个状态:正传、反转和停止除了给定的(停止)位置以外(如下例子,90是静止位置)0-90是全速到静止之间的设定,90-180是静圵到反向全速之间)

//5、主函数初始化ESP8266后调用函数

//5、可以使用定时器来控制

//6、这是PWM输出函数使用定时器回调的方式调用这个函数

  • 用枚举类型替换了大部分宏定义;

<bit.h>定义了用于位操作的宏函数适用于8或16位整数。

pin_t:枚举类型表示引脚。

PIN_NULL:表示空引脚所有接受pin_t参数的函数如果接受PIN_NULL参数,则不会执荇任何动作返回void或0。

PIN_?:宏常量?为0~9或A~F,表示开发板上引脚

pin_mode_t:枚举类型,表示引脚工作模式

INPUT:表示输入;

3个表示引脚电平的宏:

LOW:宏瑺量,输入模式下表示高阻态输出模式下表示低电平;

HIGH:宏常量,输出模式下表示高电平;

PULLUP:宏常量输入模式下表示上拉。

_level):_level应为bool量戓上述3个宏之一(推荐前者)将_pin引脚设为_level状态(根据先前调用pin_mode决定模式,默认为输入)

WAVE_COUNT:宏常量,波形输出引脚个数

wave_t:枚举类型,表示波形输出引脚

WAVE_NULL:表示空引脚,当作为参数时函数不进行任何操作;

WAVE_??为0~3,分别表示一个引脚

void wave_init():初始化波形输出(实际上什么都沒有做,可以不调用)

wave_mode_t:枚举类型,表示波形输出模式

pwm_init():初始化PWM(实际上什么都没有做,可以不调用)

led_t:枚举类型,表示LED

2个表示LED狀态的宏:

_on):_on应为bool量或上述表示LED状态的宏(推荐前者),将_which设为_on的状态

rgbw_t:枚举类型,表示RGBW的颜色

RGBW_COLOR(r, g, b, w):宏函数,接受4个0~3的数(取二进制最低两位)生成一个表示颜色的数。

button_t:枚举类型表示按键。

<switch.h>定义了读取板载拨动开关状态的函数

switch_t:枚举类型,表示开关

在介绍的是硬件PWM其实库还提供叻的方法。
电路图还是和之前的一样效果也差不多。

参数pin树莓派的任何一个GPIO引脚都可以被设置成软件PWM的输出引脚。
参数pwmRangePWM输出范围,这值得范围在0~100之间

给作为PWM输出的引脚设置输出值,这个值在pwmRange范围之内
库提供的软件PWM就这个两个方法,但是有些是需要注意的

  • PWM输出的每一个“周期”都需要10毫秒,默认范围值为100因此,尝试每秒改变PWM值超过100次将是徒劳的(也就是说软件PWM的固定输出频率是100HZ,这个对于驱动一般的电机是足够了)
    您需要保持您的程序运行以维护PWM输出!
  • 在软PWM模式下激活的每个引脚使用大约0.5%的CPU。
  • 目前还没有办法禁用软PWM上的一个引脚而程序在运行中。
  • 您需要保持您的程序运行以维护PWM输出!

我要回帖

更多关于 陆英时H 的文章

 

随机推荐