Wi-Servo:Wi-Fi 浏览器控制的伺服电机
组件和用品
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
应用和在线服务
|
关于这个项目
这个项目展示了如何使用普通的互联网浏览器(例如 Firefox)在 Wi-Fi 网络中远程控制一些伺服电机。这可能用于多种应用:玩具、机器人、无人机、相机平移/倾斜等。
电机连接到 Arduino Uno,它通过 ESP-8266 模块连接 Wi-Fi 网络。控件界面采用HTML和jQuery设计。
Miguel 的教程 (http://allaboutee.com/2015/01/02/esp8266-arduino-led-control-from-webpage/),展示了如何使用 ESP-8266 打开/关闭 LED,为此提供了灵感发布。
这里展示的技术用于我的一个项目:“Robô da Alegria”。您可能会在以下链接之一中找到更多相关信息:
https://hackaday.io/project/12873-rob-da-alegria-joy-robot
https://www.facebook.com/robodaalegria/
https://github.com/ferauche/RoboAlegria
第 1 步:电子产品 图> 图>
对于此项目,您将需要以下组件:
- Arduino Uno(购买)
- ESP8266(购买)
- Protoshield(用于更紧凑的版本)或普通面包板(购买)
- 10 kohm 电阻器 (x3)
- 一些跳线
- SG90 伺服电机 (x2)(购买)
- 一台电脑(用于编译和上传 Arduino 代码)
您不需要特定工具来组装此项目。所有组件都可以在您最喜欢的电子商务商店在线找到。该电路由USB口供电(连接电脑或普通手机充电器),但也可以外接直流电源或电池连接到Arduino电源插孔。
第二步:组装 图>
根据原理图连接所有组件。您需要一些跳线来连接 ESP-8266 模块和伺服电机。您可以使用原型屏蔽(用于更紧凑的电路)、普通面包板,或设计您自己的 Arduino 屏蔽。
将 USB 数据线插入 Arduino Uno 板并继续下一步。
第 3 步:Arduino 代码
安装最新的 Arduino IDE。在这个项目中,servo.h 库用于控制舵机。为避免上传代码时Wi-Fi模块与电脑USB口冲突,softserial
图书馆被使用。与 ESP-8266 模块通信不需要额外的库。请检查您的 ESP8266 的波特率并在代码中正确设置。
一些伺服电机在其位置接近极限(0 度和 180 度)时开始抖动并发出奇怪的噪音。为了避免这种情况,Arduino 代码和控制界面(稍后)中的角度都被限制在 10 到 170 度之间。
不幸的是,servo.h
库和 softserial.h
库使用与微控制器相同的定时器。每当 Arduino 与 ESP-8266 通信时,这可能会导致伺服系统抖动。为避免这种情况,每次执行命令后,舵机都会与 Arduino 分离。您还可以将模块连接到标准串行引脚。这种情况下,每次上传前记得断开模块。
下载 Arduino 代码 (wi-servo.ino
) 并用您的 Wi-Fi 路由器 SSID 替换 XXXXX,用路由器密码替换 YYYYY。将 Arduino 板连接到您的计算机 USB 端口并上传代码。
第四步:界面
为控制伺服电机设计了一个 HTML 界面。在这个例子中,使用了两个伺服系统,但更多的可以添加到 Arduino Uno(我测试了多达四个电机)。
使用文本框形式输入 ESP 模块的 IP 地址。下载Wi-servo.html
和 jquery.js
文件并将它们保存在同一文件夹中。
第五步:使用 图> 图>
当 Arduino 重新启动时,它会尝试自动连接您的 Wi-Fi 网络。使用串行监视器检查连接是否成功,并获取路由器分配给您的 ESP-8266 的 IP。
在 Internet 浏览器 (Firefox) 中打开 html 文件。
在文本框中告知您的 ESP-8266 的 IP 地址,您就可以开始了。使用滑块为每个伺服选择所需的角度。当您松开鼠标按钮时,浏览器会自动向Arduino发送请求,并移动每个舵机。
代码
Github
https://github.com/ferauche/RoboAlegriahttps://github.com/ferauche/RoboAlegria示意图
制造工艺