littlebot
Published on 2025-04-09 / 0 Visits
0

【源码】基于ESP32和ESPNOW的无线控制系统

项目简介

本项目聚焦于探索ESP32微控制器间的无线通信,借助ESP-NOW技术达成从一个微控制器到另一个微控制器的数据流发送。ESP-NOW是一种快速且无连接的通信技术,支持传输最多150字节的小数据包,适用于远程控制设备、传感器等应用场景,能消除便携式和固定设备间的数据电缆需求。

项目的主要特性和功能

  1. 实现两个ESP32微控制器之间的无线数据传输。
  2. 可通过无线方式对系统操作进行远程控制。
  3. 能无线控制多个直流减速电机,适用于移动机器人的差动驱动系统。
  4. 利用I2C颜色传感器测量物体的RGBC信息。
  5. 可无线传输传感器相关的数据。

安装使用步骤

硬件准备

  • 2个ESP32 DEVKIT-V1开发板
  • 2个ESP32扩展板
  • 2个模块化无焊面包板
  • 2个带编码器的直流减速电机
  • MX1508双直流电机驱动器
  • 3个5mm LED
  • 3个1 kΩ 1/4 W电阻
  • 5 kΩ电位器
  • 4个常开(NO)按钮
  • TCS34725颜色传感器
  • 跳线或杜邦线(M-F)用于连接组件

软件准备

  • 安装Arduino IDE并配置为ESP32。
  • 使用USB - A到USB - micro电缆将ESP32连接到计算机。
  • 通过“Tools → Board → esp32”菜单选择“DOIT ESP32 DEVKIT V1”。
  • 可选择使用VSCode和PlatformIO IDE进行开发。

构建和上传代码

  • 打开Arduino IDE,选择正确的开发板和端口。
  • 复制项目仓库并切换到相应的分支(如exercise1)。
  • 找到并上传Lab5 - controller.ino到控制ESP32,上传Lab5 - drive.ino到驱动ESP32。
  • 在控制代码中更新receiverMacAddress变量为驱动ESP32的MAC地址,反之亦然。

测试和验证

  • 确认内置的“心跳”LED以均匀间隔闪烁。
  • 运行程序并观察串行监视器上的输出,确认MAC地址显示正确。
  • 按下按钮观察直流电机的响应,验证系统的安全行为。

进一步实验

  • 添加电位器控制电机速度。
  • 添加按钮控制左右转向。
  • 添加颜色传感器检测特定颜色的物体并控制LED。

资源

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】