WiFi控制的机器人使用ESP8266和Arduino

在以前的ESP8266项目中,我们看到了一些基于WiFi的项目WiFi控制的LEDWiFi受控继电器。将相同的概念提升到该项目的新级别,我将向您展示如何使用ESP8266和Arduino构建和开发WiFi受控机器人。当我说WiFi受控机器人时,我的意思是通过WiFi网络控制的机器人汽车。

概述

如果您关注ElectronicShub一段时间,您会记得我们已经建立了多种机器人线跟随机器人,避免机器人,蓝牙控制机器人臂和RF控制机器人的障碍物。

前两个机器人,即线路的机器人和障碍物避免机器人对机器人没有任何手动控制,即除了编程其主要功能外,用户将没有其他输入。

WiFi控制的机器人图像1

但是,如果其他两个机器人,即蓝牙控制的机器人臂和RF控制的机器人,机器人等待用户提供适当的输入。该输入可以是运动的方向或持有对象等。

在这个项目中,我建立了一个简单的机器人(机器人汽车),该机器人可以通过WiFi网络进行控制,即通过WiFi(在简单的HTML页面)中提供了用于机器人运动方向的用户输入。

WiFi受控机器人背后的概念

如果您遵循了我们的“使用ESP8266和Arduino的WIFI受控LED”项目,那么您可以轻松理解WiFi控制的机器人的概念。

ESP8266模块负责连接到WiFi网络并充当服务器。来到客户端,创建了一个简单的HTML页面,并打开该网页的浏览器充当客户端。

每当您单击网页时,都会将相应的信息传输到服务器(ESP8266)。Arduino进一步收到了此信息,并控制机器人的电动机。

WiFi受控机器人电路图

下图中给出了使用ESP8266和Arduino的WiFi控制机器人的电路图。

WiFi控制的机器人电路图

注意:ESP8266 WiFi模块已加载AT命令。上面的电路始终牢记这一点。

需要组件

  • ESP8266
  • L298N电动机驱动器模块[在这里买这是给予的
  • Arduino uno [在这里买这是给予的
  • 机器人底盘
  • 4 x 5V齿轮电动机
  • 连接电线
  • 电源(或电池)

电路设计

要记住的第一个重要的事情是,我将编程Arduino,并负责通过串行通信配置ESP8266模块,并控制L298N电动机驱动器模块。

因此,Arduino的数字引脚2和3使用软件功能配置为RX和TX。这些引脚连接到ESP8266模块的TX和RX引脚。

然后,L298N电动机驱动器模块的输入,即1,IN2,IN3和IN4的输入与Arduino Uno的数字引脚8、9、10和11连接。

来到机器人底盘上,它有4个齿轮电动机。因此,我并行连接了右两个电动机,并将它们连接到电动机驱动器的OUT1和OUT 2端子。同样,左两个电动机to out3和out4。

代码

WiFi受控机器人项目有两个代码。一个代码是针对Arduino Uno的,另一个代码是用于创建网页的HTML代码。

Arduino代码

以下是该项目的Arduino代码。在此代码中,在适当的位置输入WiFi网络的SSID和密码。

此外,该代码中有一个部分负责将静态IP地址分配给ESP8266模块。必须根据您的要求更改此IP地址(以及默认网关和子网罩)。

非常重要的是,您要分配的静态IP地址不应与网络中的任何其他设备发生冲突,即其他设备不得具有相同的IP地址。

因此,扫描网络中的所有IP地址并仔细分配IP地址。

HTML代码

为了创建控制网页,您可以将以下HTML代码与JavaScript文件一起使用。

使用.html扩展下载上述代码,还下载jQuery.js文件。将这两个文件都放在一个文件夹中。

在职的

这里实现了一个使用ESP8266和Arduino的简单项目,称为WiFi受控机器人。让我解释一下它的工作。

在建立必要的连接和更改代码后,上传Arduino代码。如果打开Arduino IDE的串行监视器,则可以看到发送到ESP8266模块的AT命令。

WiFi控制的机器人串行显示器

ESP模块连接到WiFi之后,它将分配静态IP并创建服务器。创建服务器后,ESP模块正在等待与客户端连接。

现在,如果您打开了先前下载的HTML页面,则可以通过五个按钮向前,反向,右,左和停止组成的简单布局。

WiFi控制的机器人网页

通过查看这些按钮,您可能已经了解了每个按钮的作用。只需单击按钮执行该特定操作即可。它是如此简单。

笔记:

  • 该WiFi控制的机器人由HTML网页进行控制(可以使用与ESP8266连接到同一WiFi网络的计算机上的任何Web浏览器访问该机器人)。
  • 那里有许多项目实现了类似的概念,但是使用Blynk等应用程序。
  • 我没有使用该应用程序的原因是,我觉得您真的不知道正在发生什么,因为库文件都完成了一切。
  • 因此,如果您想确切知道该项目的情况,那么只有您才能尝试。如果没有,您可以简单地使用Blynk应用程序实现该项目。
  • 如果您仔细浏览两个代码,则可以了解浏览器和ESP模块之间的通信如何发生。

结论和应用

  • 在此项目中实现了一个简单的WiFi受控机器人,在该项目中,使用WiFi网络的网页控制机器人汽车。
  • 您可以使用高级功能来制作此项目,例如集成相机并在浏览器上实时访问Feed。

16个回应

  1. 我很难让该网站工作,并且我使用的是L293D而不是L298。在使用HTML文件并使用L293D之前,我应该为HTML文件做什么?谢谢

    1. 下载HTML文件(例如,如WifiroBot.html)和JavaScript文件(作为JQuery.js)。javascript文件的名称(例如jquery.js)应在HTML文件(在脚本的行中)中指定。将这两个文件都放在目录中。现在,使用任何Web浏览器(例如Chrome)打开HTML文件。
      来到运动驱动器,您可以使用L298N或L2983D。
      希望这可以帮助。

        1. 我是一个初学者,最感兴趣的是在无人机中进行项目。.您能帮我知道如何使用Arduino Uno R3板进行WiFi控制的无人机

      1. IDE程序现在在几行代码上给出错误代码:

        :\ users \ jtvazquez \ downloads \ final_project_vazquez \ final_project_vazquez.ino:在函数'void loop()中:

        c:\ users \ jtvazquez \ downloads \ final_project_vazquez \ final_project_vazquez.ino:63:39:警告:不推荐的转换从字符串常数到'char*'[-wwrite-sinings]

        如果(ESP8266Serial.find(“+ipd,”))

        ^

        c:\ users \ jtvazquez \ downloads \ final_project_vazquez \ final_project_vazquez.ino:66:35:警告:不推荐的转换从字符串常数到'char*'[-wwrite-sinings]

        ESP8266Serial.find(“?”);

        ^

          1. 是的。知道了。
            我刚刚编译了您发送的代码和#include“ softwareseial.h”。除此之外,该代码没有错误进行编译。

          2. 非常感谢你的帮助!还有几件事。该代码没有错误,但是串行显示器现在不起作用。另外,我是否需要设置芯片自己的SISP,还是需要使用提供的SISP?

            非常感谢你的帮助。这是无价的!

  2. Hello Friend恭喜我正在尝试编译代码的帖子,并给出了错误(在此范围内没有声明“ ESP8266Data”。
    你能帮我吗 ?谢谢你

  3. 嗨 - 您可以通过Internet控制机器人,还是必须在同一Wi-Fi网络上?如果是这样,控制互联网将有多么困难 - 基本上试图制作我自己的互联网监视机器人!
    谢谢!
    马丁

  4. 您好,我可以在不购买任何硬件的情况下使用任何视觉平台进行此项目吗?如果是,那么我应该选择哪个平台?

发表评论

您的电子邮件地址不会被公开。

电子豪华粉丝
<\/i>","library":""}}" data-widget_type="nav-menu.default">
Baidu
map