基于ESP8266的智能手机控制机器人
本帖最后由 Kara 于 2022-10-18 11:25 编辑这篇文章是关于我尝试用 L298N 电机驱动和 AI-Thinker ESP8266 控制 Arduino 机器人的。该机器人被命名为 UTFPRBot 1.0 版。
这个项目解释了如何创建这个 Arduino 机器人。另外,我描述了我个人的步骤,以简化控制这个机器人的程序的部署。组件和用品
[*]ESP8266 – 内部云
[*]Arduino UNO
[*]电机驱动 L298N
[*]无焊面包板屏蔽
[*]跳线(很多)
[*]引领
[*]1K电阻
[*]2个5V直流电机
[*]具有 2 层和 1 个全向层的机器人基地。
[*]手机
关于这个项目
这个项目是经过大量努力构建一个由 ESP8266 控制的简单机器人的结果。我在 Internet 上没有找到描述使用 ESP8266 构建机器人的简单方法的好的资源。此外,我发现很多信息在经验上是不必要的,即使在论坛上发表评论也是如此。该项目旨在简化这一困难的过程。
设置
这是我们的目标:
接线
我在电路中放了一个 LED,只是为了知道 ESP8266 真的是用 3.3V 供电,但你可以用万用表来验证电压。由于有多个连接,我使用了无焊面包板。我尝试使用 Arduino 面包板屏蔽来避免使用无焊面包板,但该模块仅执行直接与 Arduino 板一起部署的软件。ESP8266——Arduino
[*]VCC → 3.3V
[*]CH_PD → 3.3V
[*]GPIO2 → 3.3V
[*]地线 → 地线
[*]GPIO0 →接地
步骤 1) 更新 ESP8266 固件此步骤仅执行一次以确保固件已更新。
a) ESP8266 部署只能在没有ATMega 芯片的情况下工作。但是您可以在 RST 和 GND 中插入 Arduino 单线。然后,将只使用电路板,而不使用 ATMega 芯片。b) 您需要插入 GPIO0 才能部署,并且您需要在草图部署后移除 GPIO0。c) 在部署之前,您需要始终使用 RST pin 来同步您的 ESP。快速与GND RST,观察灯闪烁。如果没有任何反应,请重试,直到看到蓝色闪烁。蓝色闪烁后,取下 RST 线。d) 启动 ESP8266。将 VCC、CH_PD 和 GPIO2 连接到 3.3V。我使用 1K 电阻只是为了避免 LED 的电流过大。e) 您需要插入 Rx→Rx 和 Tx →Tx 以在 ESP8266 中部署固件。f) 部署后,按以下顺序拆线:TX 和 RX、GPIO0、VCC。再次插入 VCC 以验证您的 ESP8266 是否保留您的部署。
软件:
[*]厂商固件:ai-thinker-v1.1.1.bin。(可在:http ://wiki.aprbrother.com/wiki/Firmware_For_ESP8266 获得)
[*]FLASH_DOWNLOAD_TOOLS_v2.4_150924
1) 如图所示进行 ESP8266 模块的接线。2) 打开FLASH_DOWNLOAD_TOOLS_v2.4_150924/ESP_DOWNLOAD_TOOL_V2.4.exe.3) 在 Windows 中打开“设备管理器”以验证插入 USB Arduino 电缆时的 COM 端口连接性。在 FlashDownloadTools 程序中测试您的串行 COM 端口。只需单击开始按钮,但首先取消选中下载路径配置复选框。检测信息和 MAC 地址区域应显示 ESP8266 信息。
3)现在,检查路径框并填写如图所示的字段:esp_iot_sdk_v1.5.0_15_11_27\esp_iot_sdk_v1.5.0\bin\esp_init_data_default.bin à0xfc000
esp_iot_sdk_v1.5.0\bin\blank.bin à 0xfe000
esp_iot_sdk_v1.5.0\bin\boot_v1.4(b1).bin à 0x00000
esp_iot_sdk_v1.5.0\bin\at\512+512\user1.1024.new.2.bin à 0x01000
ai-thinker-0.9.5.2.bin à 0x000004) 单击 START 并等待 SYNC 直到固件文件完全刷新。5) 部署完成后,依次拆线:TX 和 RX、GPIO0、VCC。再次仅插入 VCC 以验证您的 ESP8266 是否保留了已部署的代码。
步骤 2) 使用 Arduino 上传新草图
在这一步,您需要ITEADLIB_Arduino_WeeESP8266-master输入C:\Program Files (x86)\Arduino\libraries. 此外,您需要取消注释以下行ESP8266.h:#define ESP8266_USE_SOFTWARE_SERIAL在这一步,您需要在 Arduino IDE 中启用 ESP8266 模块。(文件 → 首选项:通知 URL:http ://arduino.esp8266.com/package_esp8266com_index.json )。之后,上传 ESP8266 模块(我安装了所有我发现有用并提到 ESP8266 的模块)。在 Arduino IDE 中,选择通用 ESP8266 模块。该值设置如下:
然后上传新草图:Web Server to Receive HTTP Connections 以移动机器人。记住在 ESP8266 中部署草图的布线:
[*]VCC → 3.3V
[*]RST → 接地
[*]GPIO0 → 接地
[*]地线 → 地线
[*]TX → TX 和 RX → RX
记住部署后要移除的接线:
[*]发送和接收
[*]GPIO0
[*]RST
[*]VCC
[*]
现在,再次插入 VCC 以确保您的草图已部署。使用 Code1(附件)来: 创建一个 WiFi 接入点并在其上提供一个 Web 服务器来移动机器人。
步骤 3) 部署 Arduino Sketch 从 SoftwareSerial 读取 ESP8266 数据现在,您需要将代码部署到 Arduino ATMega 芯片。请注意,我使用的是无焊面包板屏蔽。为避免多次移除/放置 ATMega 芯片,现在您只需从 GND 移除 RST 线。
重要提示:要从 SoftwareSerial 读取数据,请反转 ESP8266 用于连接到 Arduino 的 RX/TX 接线的连接。接线
[*]解析来自 ESP8266 的串行数据和
[*]移动由 L298N 电机驱动控制的电机。
步骤 4 )用 L298N 和 Arduino 接线:
接线
步骤 5)测试
[*]在 ESP8266 无线 AP 中连接您的智能手机(无需更改您的智能手机或连接到 ESP8266 的任何主机的 IP 地址)。
[*]访问网址:http: //192.168.4.1
[*]只需选择选项
如果您对此项目有任何想法、意见或问题,请在下方留言。
以上内容翻译自网络,原作者:luciorocha,如涉及侵权,可联系删除。
页:
[1]