1. 功能描述
本文提供的示例所實現的功能為:用手機APP,通過WiFi通信遙控203號樣機實現移動,包括前進、停止、后退、原地左轉、原地右轉。
![pYYBAGOYGUyAEDD6AAKITnHyI64265.png](https://file.elecfans.com/web2/M00/83/AE/pYYBAGOYGUyAEDD6AAKITnHyI64265.png)
2. 電子硬件
在這個示例中,采用了以下硬件,請大家參考:
Basra主控板(兼容Arduino Uno)、Bigfish2.1擴展板、7.4V鋰電池、WiFi無線路由器、2510通信轉接板、USB攝像頭
本部分及后面的APP設置內容,可與 【U011】如何使用探索者通信模塊-WiFi無線路由器 一文對照閱讀,為樣機安裝WiFi無線路由器和攝像頭。
硬件連接步驟:
(1)在2510通信轉接板的4針接口上,按如圖方式插上3根杜邦線。
![pYYBAGOYGgSARmpJAAG2oCE8SUA540.png](https://file.elecfans.com/web2/M00/83/AE/pYYBAGOYGgSARmpJAAG2oCE8SUA540.png)
(2)杜邦線的另一端插接在WiFi模塊的串口針上。
![pYYBAGOYGjKAcSm_AAOx6YYYw4g191.png](https://file.elecfans.com/web2/M00/83/AE/pYYBAGOYGjKAcSm_AAOx6YYYw4g191.png)
(3)連接USB線。
![poYBAGOYGlyAPqgYAAHdQd8OwOk460.png](https://file.elecfans.com/web2/M00/83/26/poYBAGOYGlyAPqgYAAHdQd8OwOk460.png)
(4)連接攝像頭。
![pYYBAGOYGoGAWyLuAAJmzOtWnPE727.png](https://file.elecfans.com/web2/M00/83/AE/pYYBAGOYGoGAWyLuAAJmzOtWnPE727.png)
(5)將整套裝置固定在樣機上(注意:圖中MEGA2560主控板部分與本文所述功能無關,請忽略)。
![poYBAGOYGqiAXIbdAAJlVG5Mrvw356.png](https://file.elecfans.com/web2/M00/83/26/poYBAGOYGqiAXIbdAAJlVG5Mrvw356.png)
3. 示例程序
編程環境:Arduino 1.6.8
編寫下面的代碼(203_WiFi_Protocol.ino),并在主控板中燒錄(在燒錄程序時,需要將2510通信轉接板取下后再燒錄),使用手機控制機器人實現遠程監控控制。
/**************** wifi protocol ********************* 版權說明:Copyright 2022 Robottime(Beijing) Technology Co., Ltd. All Rights Reserved. Distributed under MIT license.See file LICENSE for detail or copy at https://opensource.org/licenses/MIT by 機器譜 2022-9-28 https://www.robotway.com/ 通信協議: * ff 00 00 00 ff 控制停止的WiFi通信協議 * ff 00 01 00 ff 控制前進的WiFi通信協議 * ff 00 02 00 ff 控制后退的WiFi通信協議 * ff 00 03 00 ff 控制左轉的WiFi通信協議 * ff 00 04 00 ff 控制右轉的WiFi通信協議 ****************************************************/
#include int moveDirection; // 1-forward, 2-backward, 3-left, 4-right, 5-stop int inputData[4]; //data from wifi
void setup() { Serial.begin(9600); }
void loop() { WiFi_Rescue_Robot(); }
void WiFi_Rescue_Robot() { WifiControl(); Move(moveDirection); }
void WifiControl() { //operate wheel if(inputData[0] == 0x00) { if(inputData[1] != moveDirection) { moveDirection = inputData[1]; } } }
void serialEvent() { static int i; static boolean revStart; while (Serial.available()) { //get data from wifi int inData = Serial.read(); if (inData == 0xff && !revStart) { revStart = true; } else if(revStart) { inputData[i] = inData; i++; if(i > 3) { if(inputData[3] == 0xff) { i = 0; revStart = false; } else { i = 0; revStart = false; } } } } }
void Move(int direction) { switch (direction) { case 0x01:MoveForward();break; case 0x02:MoveBackward();break; case 0x03:MoveLeft();break; case 0x04:MoveRight();break; case 0x05:MoveStop();break; default:MoveStop();break; } }
void MoveForward() { //motor_0 clockwise digitalWrite(5, LOW); digitalWrite(6, HIGH); //motor_1 clockwise digitalWrite(9, LOW); digitalWrite(10, HIGH); }
void MoveBackward() { //motor_0 clockwise digitalWrite(5, HIGH); digitalWrite(6, LOW); //motor_1 clockwise digitalWrite(9, HIGH); digitalWrite(10, LOW); }
void MoveRight() { //motor_0 clockwise digitalWrite(5, HIGH); digitalWrite(6, LOW); //motor_1 clockwise digitalWrite(9, LOW); digitalWrite(10, HIGH); }
void MoveLeft() { //motor_0 clockwise digitalWrite(5, LOW); digitalWrite(6, HIGH); //motor_1 clockwise digitalWrite(9, HIGH); digitalWrite(10, LOW); }
void MoveStop() { //motor_0 clockwise digitalWrite(5, HIGH); digitalWrite(6, HIGH); //motor_1 clockwise digitalWrite(9, HIGH); digitalWrite(10, HIGH); } |
4. 安卓手機APP配置及操作
(1)安裝WIFIRobot.apk到安卓手機內。
(2)打開主控板的開關啟動設備,并使用手機連接GL-AR150-xxx(xxx為隨機數字與字母)密碼:goodlife
![poYBAGOYGvmAT5JzAABpPHewHWI085.png](https://file.elecfans.com/web2/M00/83/26/poYBAGOYGvmAT5JzAABpPHewHWI085.png)
(3)打開“WIFIROBOTS”APP。
![poYBAGOYGxuAMaN3AACPNoNF2Lg745.png](https://file.elecfans.com/web2/M00/83/26/poYBAGOYGxuAMaN3AACPNoNF2Lg745.png)
(4)選擇設置(以V1.06版界面為例,你也可以安裝其他版本,設置方法相同)
![pYYBAGOYGz-Afh3pAAGw1yZKLKY579.png](https://file.elecfans.com/web2/M00/83/AF/pYYBAGOYGz-Afh3pAAGw1yZKLKY579.png)
(5)按照下圖所示進行參數配置,點擊確定
![pYYBAGOYG2iAM5wiAAEVyANSg9w212.png](https://file.elecfans.com/web2/M00/83/AF/pYYBAGOYG2iAM5wiAAEVyANSg9w212.png)
(6)手機屏幕上可以實時顯示攝像頭拍攝到的畫面,圖像顯示的分辨率可通過在電腦端調整WiFi分辨率進行設置。通過按鈕可以操作控制機器人運動。
![pYYBAGOYG46Af8LdAAH-WeJcbAQ754.png](https://file.elecfans.com/web2/M00/83/AF/pYYBAGOYG46Af8LdAAH-WeJcbAQ754.png)
5. 資料內容
-
機器人
+關注
關注
211文章
28710瀏覽量
208706 -
usb
+關注
關注
60文章
7990瀏覽量
266304 -
APP
+關注
關注
33文章
1580瀏覽量
72841 -
WIFI
+關注
關注
81文章
5310瀏覽量
204966 -
Arduino
+關注
關注
188文章
6477瀏覽量
187978
發布評論請先 登錄
相關推薦
履帶機器人 金屬底盤
二自由度WIFI 履帶車 PS2 無線控制 手機安卓控制項目計劃(連載)
履帶底盤的結構部分
履帶差速移動機器人底盤平臺
小型平行履帶底盤實現紅外避障功能
![小型平行<b class='flag-5'>履帶</b><b class='flag-5'>底盤</b><b class='flag-5'>實現</b>紅外避障<b class='flag-5'>功能</b>](https://file.elecfans.com//web2/M00/97/23/pYYBAGQJLHKAJvWyAABDIm3XRTA270.jpg)
小型平行履帶底盤實現超聲避障功能
![小型平行<b class='flag-5'>履帶</b><b class='flag-5'>底盤</b><b class='flag-5'>實現</b>超聲避障<b class='flag-5'>功能</b>](https://file.elecfans.com//web2/M00/97/23/pYYBAGQJLP-AWQdeAABGOJA-uts271.jpg)
小型平行履帶底盤實現雙灰度循跡功能
![小型平行<b class='flag-5'>履帶</b><b class='flag-5'>底盤</b><b class='flag-5'>實現</b>雙灰度循跡<b class='flag-5'>功能</b>](https://file.elecfans.com//web2/M00/96/9E/poYBAGQJLbKAJku3AFXIv97RArY795.gif)
評論