63浏览
查看: 63|回复: 5

[项目] 【花雕学编程】Arduino动手做(230)--ESP32-CAM MG996R舵机

[复制链接]
ESP32-CAM 是一款非常小的摄像头模块,配备 ESP32-S 芯片。除了 OV2640 摄像头和几个用于连接外围设备的 GPIO 外,它还具有一个 microSD 卡插槽,可用于存储
【花雕学编程】Arduino动手做(230)--ESP32-CAM MG996R舵机图1

使用摄像头拍摄的图像或存储文件以提供给客户。包括乐鑫 ESP32-S Wifi + 蓝牙+BLE 芯片、2MP 摄像头模块 OV2640 和带有 CH340 UART 芯片的 USB 编程适配器。

ESP32-Cam 是一款运行在 ESP32-S 芯片上并使用 OV2640 摄像头的小型摄像头模块。ESP32_Cam 也可以 OV7670 摄像头,但 OV2640 更好(更高的分辨率和内置的 JPEG 编码,这消除了 ESP32-S 的处理任务)。

ESP-32 Cam 规格
ESP-32 系列
它支持 Wi-Fi (802.11b/g/n)
支持蓝牙 (4.2 带 BLE)
内置 LED 闪光灯
9 个 IO 端口
支持 UART、SPI、I2C 和 PWM
内置 micro SD 读卡器
输入电源:3.3V / 5V(据报道,5V 供电比 3.3V 更稳定)

OV2640 摄像头
2 百万像素
阵列尺寸:UXGA (1600 x 1200)
镜头尺寸:1/4 英寸(6.35 毫米)
最大图像传输速率:15 帧/秒

【花雕学编程】Arduino动手做(230)--ESP32-CAM MG996R舵机图2

驴友花雕  中级技神
 楼主|

发表于 3 天前

【花雕学编程】Arduino动手做(230)--ESP32-CAM MG996R舵机

MG996R舵机是一种高性能的舵机,它具有金属齿轮和双轴承设计,能够提供高扭矩和稳定的运行。以下是MG996R舵机的一些主要特性和应用:
1、结构材质:MG996R舵机采用金属齿轮,这使得它比塑料齿轮的舵机更加耐用,能够承受更大的负载。
2、连接线长度:MG996R舵机的连接线长度为30厘米,其中包含信号线(黄线)、电源线(红线)和地线(棕色)。
3、尺寸和重量:其尺寸为40.7mm × 19.7mm × 42.9mm,重量为55克。
4、反应转速:在无负载的情况下,MG996R舵机的速度为0.17秒/60度(在4.8V下)和0.13秒/60度(在6.0V下)。
5、工作死区:MG996R舵机的工作死区为4微秒。
6、工作电压:MG996R舵机的工作电压范围是3.0V到6.0V。
7、工作扭矩:在4.8V的工作电压下,MG996R舵机的工作扭矩为13KG/cm。
8、控制方法:MG996R舵机通过PWM(脉冲宽度调制)信号进行控制。对于360度舵机,PWM信号的周期为20ms,其中脉冲宽度在0.5ms到2.5ms之间。舵机的控制不仅包括方向,还包括速度。舵机正转时,脉冲宽度在0.5ms到1.5ms之间变化,对应不同的速度;舵机反转时,脉冲宽度在1.5ms到2.5ms之间变化。
9、应用:MG996R舵机由于其高扭矩和快速响应的特点,被广泛应用于机器人、遥控飞机、遥控车模以及其他需要精确控制的领域。
10、注意事项:在使用MG996R舵机时,需要注意PWM信号的分辨率应调制到0.1ms,以确保舵机能够平滑地改变方向和速度。
MG996R舵机的这些特性使其成为一个多功能和可靠的执行元件,适用于各种需要精确控制角度和速度的应用。

【花雕学编程】Arduino动手做(230)--ESP32-CAM MG996R舵机图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 3 天前

【花雕学编程】Arduino动手做(230)--ESP32-CAM MG996R舵机

安装ESP32Servo库

【花雕学编程】Arduino动手做(230)--ESP32-CAM MG996R舵机图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 3 天前

【花雕学编程】Arduino动手做(230)--ESP32-CAM MG996R舵机

  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验二百三十:ESP32 CAM开发板 带OV2640摄像头模块 WIFI+蓝牙模块
  项目实验之二十六:使用ESP32-CAM驱动MG 996R舵机(360度)

实验开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验二百三十:ESP32 CAM开发板 带OV2640摄像头模块 WIFI+蓝牙模块
  4.   项目实验之二十六:使用ESP32-CAM驱动MG 996R舵机(360度)
  5. */
  6. #include <ESP32Servo.h>
  7. Servo myservo;  // 创建舵机对象
  8. void setup() {
  9.   Serial.begin(115200);
  10.   myservo.attach(16);  // 将舵机连接到引脚 16
  11.   // 设置初始角度为 0 度
  12.   myservo.write(0);
  13. }
  14. void loop() {
  15.   // 逐渐增加角度,实现顺时针旋转
  16.   for (int angle = 0; angle <= 360; angle += 10) {
  17.     myservo.write(angle);
  18.     delay(100);
  19.   }
  20.   // 逐渐减小角度,实现逆时针旋转
  21.   for (int angle = 360; angle >= 0; angle -= 10) {
  22.     myservo.write(angle);
  23.     delay(100);
  24.   }
  25. }
复制代码


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 3 天前

【花雕学编程】Arduino动手做(230)--ESP32-CAM MG996R舵机

代码解读

1、初始化串口通信:在 setup() 函数中初始化串口通信,为后续调试和数据传输做好准备。

2、绑定信号线:将舵机信号线连接到ESP32-CAM的GPIO16引脚,确保舵机能够正确接收控制信号。

3、设置初始位置:将舵机设置为中间位置(1500微秒),这相当于标准伺服的90度位置。

4、正转和反转控制:通过for循环控制舵机从中间位置旋转到最大位置(2000微秒),然后再反转回中间位置(1500微秒)。

5、延时控制:使用 delay() 函数在每次改变位置后添加延时,使舵机在不同位置停留一段时间,确保平稳旋转。


实验场景图  

【花雕学编程】Arduino动手做(230)--ESP32-CAM MG996R舵机图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 3 天前

【花雕学编程】Arduino动手做(230)--ESP32-CAM MG996R舵机

实验场景图  动态图

【花雕学编程】Arduino动手做(230)--ESP32-CAM MG996R舵机图1
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail