WiFi视频遥控履带底盘实现移动功能

电子说

1.2w人已加入

描述

1. 功能描述

    本文提供的示例所实现的功能为:用手机APP,通过WiFi通信遥控203号样机实现移动,包括前进、停止、后退、原地左转、原地右转。

usb

2. 电子硬件

在这个示例中,采用了以下硬件,请大家参考:

Basra主控板(兼容Arduino Uno)、Bigfish2.1扩展板、7.4V锂电池、WiFi无线路由器、2510通信转接板、USB摄像头

 

本部分及后面的APP设置内容,可与 【U011】如何使用探索者通信模块-WiFi无线路由器  一文对照阅读,为样机安装WiFi无线路由器和摄像头。

硬件连接步骤:

(1)在2510通信转接板的4针接口上,按如图方式插上3根杜邦线。

usb

(2)杜邦线的另一端插接在WiFi模块的串口针上。

usb

(3)连接USB线。

usb

(4)连接摄像头。

usb

(5)将整套装置固定在样机上(注意:图中MEGA2560主控板部分与本文所述功能无关,请忽略)。

usb

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

usb

(3)打开“WIFIROBOTS”APP。

usb

(4)选择设置(以V1.06版界面为例,你也可以安装其他版本,设置方法相同)

usb

(5)按照下图所示进行参数配置,点击确定

usb

(6)手机屏幕上可以实时显示摄像头拍摄到的画面,图像显示的分辨率可通过在电脑端调整WiFi分辨率进行设置。通过按钮可以操作控制机器人运动。

usb

5. 资料内容

WiFi视频遥控-例程源代码

WiFi无线路由器-安卓APK文件

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分