222浏览
查看: 222|回复: 10

[项目] 【花雕学编程】Arduino动手做(234)---WeMos D1R32控制360舵机

[复制链接]
【花雕学编程】Arduino动手做(234)---WeMos D1R32控制360舵机图1

Wemos D1 ESP32 开发板是一款紧凑而强大的设备,它集成了天线和射频巴伦、功率放大器、低噪声放大器、滤波器和电源管理模块。整个解决方案占用的印刷电路板面积最少。该板采用台积电 40nm 低功耗技术,搭配 2.4GHz 双模 Wi-Fi 和蓝牙芯片,功率和射频性能最佳,安全可靠,可扩展至各种应用。将 WiFi 和蓝牙连接结合在单个 ESP32 芯片上。Wemos D1 ESP32 开发板是基于乐鑫 ESP32 芯片的开发板。它具有 Wi-Fi 和蓝牙连接,以及一系列用于连接传感器、执行器和其他设备的输入和输出引脚。该板具有高性能处理器和广泛的功能,是物联网和家庭自动化项目的理想选择。此外,该板具有易于使用的界面,采用 Arduino UNO 外形尺寸,并与 Arduino 平台兼容,可以轻松开发项目并与其他设备集成。借助 Wemos D1 ESP32 开发板,您可以轻松地为各种应用创建智能、互联的解决方案。该板的一些规格包括:
- 240 MHz 双核 LX6 芯片
- Wi-Fi 802.11 b/g/n 连接
- 蓝牙 4.2 BLE 连接
- 4 MB 闪存
- 520 KB SRAM
- 30 针输入/输出,包括 GPIO、I2C、SPI、UART 和 ADC
- MicroSD支持
- LiPo电池充电支持
该板与 Arduino 平台兼容,可以使用 Arduino IDE 进行编程。此外,它还支持 MicroPython 平台,该平台允许使用 Python 进行编程。


【花雕学编程】Arduino动手做(234)---WeMos D1R32控制360舵机图2

驴友花雕  中级技神
 楼主|

发表于 2024-10-27 10:33:46

【花雕学编程】Arduino动手做(234)---WeMos D1R32控制360舵机

ESP32 SPP(Serial Port Profile)是一种基于蓝牙的经典蓝牙串口通信协议,它允许设备之间通过蓝牙进行串口数据传输。在ESP32中,SPP功能可以通过软件协议栈实现,使得ESP32可以作为一个蓝牙串口服务器或客户端与其他蓝牙设备进行通信。

1、Arduino
Arduino 是一种开源硬件和软件平台,用于制作电子项目和物联网(IoT)设备。它包括一个开发板和一套编程环境,使用户可以通过简单的代码来控制各种电子元件。

2、ESP32
ESP32 是由 Espressif Systems 设计的一款单片机(SoC),集成了 Wi-Fi 和蓝牙功能。它广泛应用于移动设备、可穿戴设备和物联网(IoT)应用。ESP32 提供丰富的外设接口和高性能,非常适合开发各种嵌入式系统。

3、SPP(Serial Port Profile)
SPP(Serial Port Profile) 是蓝牙协议中的一种,它模拟了传统的 RS-232(UART)串行连接。通过 SPP,ESP32 可以通过蓝牙与其他设备进行数据传输,就像通过串行端口一样。

4、Arduino ESP32 SPP
Arduino ESP32 SPP 指的是使用 Arduino 开发环境在 ESP32 上实现蓝牙串行端口协议(SPP)。通过这种方式,你可以编写代码来控制 ESP32 的蓝牙功能,使其能够与其他蓝牙设备进行通信。

5、全面详细的科学解释
1)Arduino 开发环境:Arduino 提供了一套开发环境,包括编译器、IDE(集成开发环境)和各种库,使用户可以通过简单的代码来控制硬件。
2)ESP32 硬件:ESP32 是一款集成了 Wi-Fi 和蓝牙的单片机,具有多个 GPIO 引脚、ADC、DAC、PWM 等功能,适用于各种嵌入式系统开发。
3)SPP 协议:SPP 是蓝牙协议中的一种,通过模拟 RS-232 串行连接,实现无线数据传输。SPP 通常用于替代传统的串行端口,使设备可以通过蓝牙进行通信。
4)Arduino ESP32 SPP 应用:通过 Arduino 开发环境在 ESP32 上实现 SPP,可以编写代码来初始化蓝牙、发现服务、建立连接、发送和接收数据。这种应用广泛用于物联网设备、远程控制和数据传输等场景。


【花雕学编程】Arduino动手做(234)---WeMos D1R32控制360舵机图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-10-27 10:36:00

【花雕学编程】Arduino动手做(234)---WeMos D1R32控制360舵机

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动手做(234)---WeMos D1R32控制360舵机图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-10-27 10:37:44

【花雕学编程】Arduino动手做(234)---WeMos D1R32控制360舵机

安装ESP32Servo库

【花雕学编程】Arduino动手做(234)---WeMos D1R32控制360舵机图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-10-27 10:40:30

【花雕学编程】Arduino动手做(234)---WeMos D1R32控制360舵机

  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
    实验二百三十四:Wemos D1 迷你Arduino Uno R3 D1 R32 ESP32
    Wifi蓝牙无线开发板CH340 4M内存
  {花雕动手做}项目之十五:Esp32 WeMos D1R32蓝牙控制360度舵机正转、反转和停止
  实验接脚:2脚为板载LED,4脚接360度舵机

实验开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.     实验二百三十四:Wemos D1 迷你Arduino Uno R3 D1 R32 ESP32
  4.     Wifi蓝牙无线开发板CH340 4M内存
  5.   {花雕动手做}项目之十五:Esp32 WeMos D1R32蓝牙控制360度舵机正转、反转和停止
  6.   实验接脚:2脚为板载LED,4脚接360度舵机
  7. */
  8. #include <BluetoothSerial.h>
  9. #include <ESP32Servo.h>
  10. BluetoothSerial SerialBT; // 创建一个BluetoothSerial对象
  11. Servo myservo; // 创建一个舵机对象
  12. void setup() {
  13.   Serial.begin(115200);  // 初始化串口通信,波特率设置为115200
  14.   SerialBT.begin("ESP32_Servo_1"); // 设置蓝牙名称为 "ESP32_Servo_Control"
  15.   Serial.println("设备已启动,现在您可以将其与蓝牙设备配对!");
  16.   myservo.attach(4); // 将舵机连接到引脚4
  17. }
  18. void loop() {
  19.   if (SerialBT.available()) {
  20.     char command = SerialBT.read(); // 读取蓝牙发送的字符命令
  21.     if (command == 'F') { // 前进(顺时针旋转)
  22.       myservo.write(180);
  23.       SerialBT.println("正转");
  24.     } else if (command == 'B') { // 后退(逆时针旋转)
  25.       myservo.write(0);
  26.       SerialBT.println("反转");
  27.     } else if (command == 'S') { // 停止
  28.       myservo.write(90);
  29.       SerialBT.println("停止");
  30.     } else {
  31.       SerialBT.println("无效的命令");
  32.     }
  33.   }
  34.   delay(20); // 短暂延时以稳定通信
  35. }
复制代码


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-10-27 10:50:27

【花雕学编程】Arduino动手做(234)---WeMos D1R32控制360舵机

实验串口返回情况

【花雕学编程】Arduino动手做(234)---WeMos D1R32控制360舵机图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-10-27 10:56:15

【花雕学编程】Arduino动手做(234)---WeMos D1R32控制360舵机

在手机端打开蓝牙,连接ESP32

【花雕学编程】Arduino动手做(234)---WeMos D1R32控制360舵机图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-10-27 10:58:29

【花雕学编程】Arduino动手做(234)---WeMos D1R32控制360舵机

在手机端打开《蓝牙串口 SPP》app,连接ESP32,发送信息,控制舵机并在终端取得动态反馈

【花雕学编程】Arduino动手做(234)---WeMos D1R32控制360舵机图1

【花雕学编程】Arduino动手做(234)---WeMos D1R32控制360舵机图2
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-10-27 11:02:20

【花雕学编程】Arduino动手做(234)---WeMos D1R32控制360舵机

方便的键盘控制

【花雕学编程】Arduino动手做(234)---WeMos D1R32控制360舵机图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-10-27 11:06:28

【花雕学编程】Arduino动手做(234)---WeMos D1R32控制360舵机

实验场景图  动态图

【花雕学编程】Arduino动手做(234)---WeMos D1R32控制360舵机图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-10-27 11:07:47

【花雕学编程】Arduino动手做(234)---WeMos D1R32控制360舵机

【花雕学编程】Arduino动手做(234)---WeMos D1R32控制360舵机图1
回复

使用道具 举报

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

本版积分规则

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

硬件清单

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

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

mail