怎样用ESP8266和Arduino构建和开发WiFi控制的机器人
发布时间:1970-01-01 08:00
发布者:[db:作者]
浏览次数:
概述
如果你关注ElectronicsHub一段时间,你会记得我们已经建造了各种机器人,如线跟随机器人,障碍避免机器人,蓝牙控制机器人手臂和射频控制机器人。
前两个机器人,即线跟随器机器人和障碍避免机器人没有对机器人的任何手动控制,即除了编程其主要功能外,不会有来自用户的额外输入。
但是对于其他两个机器人,即蓝牙控制机器人手臂和射频控制机器人,机器人等待用户提供适当的输入。这个输入可以是移动方向,也可以是拿着物体等。
在这个项目中,我建造了一个可以通过WiFi网络控制的简单机器人(机器人汽车),即通过WiFi提供用户对机器人运动方向的输入(借助于简单的HTML页面)。
WiFi控制机器人背后的概念
如果您使用过我们的“WiFi控制LED” ESP8266和Arduino“项目,然后您可以轻松了解WiFi控制机器人的概念。
ESP8266模块负责连接到WiFi网络并充当服务器。来到客户端,会创建一个简单的HTML页面,打开此网页的浏览器将充当客户端。
当您点击该网页时,相应的信息将会被传送到服务器(ESP8266)。 Arduino进一步接收此信息,它控制机器人的电机。
WiFi控制机器人的电路图
使用ESP8266和Arduino的WiFi控制机器人的电路图如下图所示。
注意: ESP8266 WiFi模块加载了AT命令。上述电路的设计考虑到了这一点。
所需组件
ESP8266 [在此处购买]
L298N电机驱动器模块[在此处购买]
Arduino UNO [在此处购买]
机器人底盘[购买]
4 x 5V减速电机[在此处购买]
连接线[在此处购买]
电源(或电池)
电路设计
要记住的第一件重要事情是我将编程Arduino并负责通过串行通信配置ESP8266模块并控制L298N电机驱动器模块。
因此,Arduino的数字引脚2和3使用SoftwareSerial功能配置为RX和TX。这些引脚连接到ESP8266模块的TX和RX引脚。
然后,L298N电机驱动器模块的输入,即IN1,IN2,IN3和IN4连接到Arduino UNO的数字引脚8,9,10和11。
来到机器人底盘,它有4个齿轮电机。因此,我将正确的两个电机并联连接,并将它们连接到电机驱动器的OUT1和OUT2端子。同样,左侧两个电机连接到OUT3和OUT4。
代码
有两个WiFi Controlled Robot项目的代码。一个代码用于Arduino UNO,另一个代码是用于创建网页的HTML代码。
Arduino代码
以下是该项目的Arduino代码。在此代码中,在适当的位置输入WiFi网络的SSID和密码。
此外,代码中还有一个部分负责将静态IP地址分配给ESP8266模块。必须根据您的要求更改此IP地址(以及默认的网关和子网掩码)。
您要分配的静态IP地址不应该是非常重要的与您网络中的任何其他设备冲突,即其他设备不应拥有相同的IP地址。
因此,扫描网络中的所有IP地址并仔细分配IP地址。
HTML代码
为了创建控制网页,可以使用以下HTML代码和JavaScript文件。
下载扩展名为.html的上述代码,并下载 jquery.js 文件。将这两个文件放在一个文件夹中。
工作
一个名为WiFi的简单项目这里实现了使用ESP8266和Arduino的受控机器人。让我解释它的工作原理。
在进行必要的连接和代码更改后上传Arduino代码。如果打开Arduino IDE的串行监视器,则可以看到发送到ESP8266模块的AT命令。
ESP模块连接到WiFi后,它将分配静态IP并创建服务器。创建服务器后,ESP模块正在等待与客户端连接。
现在,如果您打开之前下载的HTML页面,则可以进行简单的布局它由五个按钮组成,名称为FORWARD,REVERSE,RIGHT,LEFT和STOP。
通过查看这些按钮,你可能已经理解了每个按钮的功能。只需单击按钮即可执行该特定操作。就这么简单。
注意:
此WiFi控制机器人在HTML网页的帮助下进行控制(可以使用与ESP8266连接到同一WiFi网络的计算机上的任何网络浏览器进行访问)。
那里很多项目已经实现了类似的概念但是使用了像Blynk这样的应用程序。
我没有使用该应用程序的原因是我觉得你真的这么做不知道实际发生了什么,因为一切都是由库文件完成的。
所以,如果你想知道项目到底发生了什么,那么只有你应该知道试试这个。如果没有,您可以使用Blynk App简单地实现项目。
如果仔细检查这两个代码,您就可以了解浏览器和ESP之间的通信方式模块。
结论与应用
一个简单的WiFi受控机器人在该项目中实施,其中机器人汽车通过WiFi网络使用网页进行控制。
您可以使用集成摄像头和访问相机等高级功能来创建此项目。在浏览器上直播。