本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

基于ESP8266的智能手机控制机器人

发布时间:2022-06-11
分享到:

基于ESP8266的智能手机控制机器人

发布时间:2022-06-11
分享到:

这篇文章是关于我尝试用 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 à 0x00000

4) 单击 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,如涉及侵权,可联系删除。

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论