项目四 舵机控制#

项目介绍:
舵机是一种位置伺服的驱动器,主要是由外壳、电路板、无核心马达、齿轮与位置检测器所构成。其工作原理是由接收机或者单片机发出信号给舵机,其内部有一个基准电路,产生周期为20ms,宽度为1.5ms 的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。

舵机有很多规格,但所有的舵机都有外接三根线,分别用棕、红、橙三种颜色进行区分,由于舵机品牌不同,颜色也会有所差异,棕色为接地线,红色为电源正极线,橙色为信号线。
舵机的转动的角度是通过调节PWM(脉冲宽度调制)信号的占空比来实现的,标准PWM(脉冲宽度调制)信号的周期固定为20ms(50Hz),理论上脉宽分布应在1ms到2ms之间,但是,事实上脉宽可由0.5ms 到2.5ms之间,脉宽和舵机的转角0°~180°相对应。

对应的舵机角度值如下:

舵机参数:
工作电压:DC 4.8V〜6V
可操作角度范围:大约 About 180°(在 500→2500 μsec)
脉波宽度范围:500→2500 μsec
空载转速:0.12±0.01 sec/60(DC 4.8V) 0.1±0.01 sec/60(DC 6V)
空载电流:200±20mA(DC 4.8V) 220±20mA(DC 6V)
停止扭力:1.3±0.01kg·cm(DC 4.8V) 1.5±0.1kg·cm(DC 6V)
停止电流:≦850mA(DC 4.8V) ≦1000mA(DC 6V)
待机电流:3±1mA(DC 4.8V) 4±1mA(DC 6V)
项目组件:
UNO R3 开发板*1 |
L298P 电机驱动扩展板 V1*1 |
SG90 9G舵机*1 |
|---|---|---|
|
|
|
USB线*1 |
18650双节电池盒 (18650电池*2(电池自配))*1 |
|
|
|
接线图:
⚠️特别注意:坦克智能车已经组装好了,这里不需要把传感器模块和其他的都拆下来又重新组装和接线,这里再次提供接线图,是为了方便您编写代码!

接线注意:舵机连接到G(GND)、V(VCC)、D10,舵机的棕色线是与Gnd(G)相连,红色线与5v(V)相连,橙色线是与数字10相连的。接舵机的时候必须要外接供电,因为驱动舵机的电流要求比较大,一般峰值的情况下接近1A,开发板的电流远远不够。如果不接外接电源,很有可能烧坏开发板。
项目代码:
认识代码块
① 这个代码块,表示当启动ESP32这块开发板时,将运行代码。

② 创建变量。

这是创建“变量”的指令方块,可以声明“全局”或“局部”,还可以设置变量的类型、名称和赋值,item是变量名称。

获取变量item。

设置变量的值

设置变量item模式为每执行一次循环让item加1或每执行一次循环让item减1。

③ 循环语句,顾名思义就是重复做一件事。

④ 有条件的循环控制语句,当满足循环次数时就退出循环,比如:10表示循环执行10次,数字10是可以改成其他数字的。

⑤ 向舵机指定引脚设置输出角度代码块,需要设置对应的引脚、角度和延时,就可以输出对应的角度。

⑥ 将程序的执行暂停一段时间,也就是延时。单位是秒。

组合代码块
(特别提醒:在上传程序代码前,需要把蓝牙模块取下,否则代码会上传失败。需要上传代码成功后,再连接蓝牙模块。)

项目结果:
上传代码成功,上电后,舵机也是在0°到180°角度范围来回摆动。




