机器谱 发表于 2023-10-19 20:28:11

机器人制作开源方案 | 行星探测车实现WiFi视频遥控功能

1. 功能描述
       本文示例所实现的功能为:用手机APP,通过WiFi通信遥控R261样机行星探测车移动,以及打开、关闭行星探测车太阳翼。
https://28846868.s21i.faiusr.com/3/ABUIABADGAAgud3TqAYojMLPlgEwsAQ4owM.gif.webp
2. 电子硬件
在这个示例中,我们采用了以下硬件,请大家参考:


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


3. 示例程序
编程环境:Arduino 1.8.19
下面提供一个实现WiFi视频遥控行星探测车移动以及打开、关闭行星探测车太阳翼功能的参考程序(Wifi_Control.ino):
/*------------------------------------------------------------------------------------

版权说明:Copyright 2023 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 机器谱 2023-09-22 https://www.robotway.com/

------------------------------*/

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 = inData;

      i++;

      if(i > 3)

      {

      if(inputData == 0xff)

      {

          dataComplete = true;

          i = 0;

          revStart = false;

      }

      else

      {

          i = 0;

          revStart = false;

      }

      }

    }

}

}



//小车主程序

void car_control(){

if(dataComplete){

    dataComplete = false;

    //控制小车前,后,左,右

    if(inputData == 0x00)

    {

      if(inputData != moveDirection){

      moveDirection = inputData;   

      }

    }


   

    else if(inputData == 0x02){

      if(inputData == 0x01){

          if(inputData != DownDireciton){

            DownDireciton = inputData;



            if(DownDireciton == 0 && !isPanelDown){

            expandSolarPanelsAndMast();

            isPanelDown = true;

            }

            else if(DownDireciton == 10 && isPanelDown){

            stopSolarPanelsAndMast();

            isPanelDown = false;

            }

          }

      }



    }

    Move(moveDirection);

}

else{

    //小车自主控制部分

    automatic_control();

}

}

4. 安卓手机APP配置及操作
① 将文末资料中的WIFIRobotV1.06.apk下载安装到手机上,并打开按以下参数进行设置。
https://28846868.s21i.faiusr.com/4/ABUIABAEGAAgi_LTqAYosPqSngQw8BA4uAg!600x600.png.webp
② 打开手机wifi并连接GL-AR150-fxx(xx为随机数字与字母),密码:goodlife
③ 关闭软件(需清除后台应用)重新进入,点击“开始”,并开始操作。
④ 可看到如下所示界面按钮:前、后、左、右。
https://28846868.s21i.faiusr.com/4/ABUIABAEGAAgvuLTqAYowse7yQcwwAc4nAQ!600x600.png.webp
⑤ 点击“速度调整”:“左侧速度”为调整直流电机转速;“右侧速度”为打开、关闭行星探测车太阳翼。
https://28846868.s21i.faiusr.com/4/ABUIABAEGAAg6eLTqAYo2r6L2wcwwAc4nAQ!600x600.png.webp
⑥ 关闭“速度调整”,点击“重力感应”,通过调整手机角度可使行星探测车移动。
https://28846868.s21i.faiusr.com/4/ABUIABAEGAAglOPTqAYovqT21wMwwAc4nAQ!600x600.png.webp
5. 资料清单
资料内容:
①程序源代码
②样机3D文件
资料下载地址:行星探测车-WiFi视频遥控 https://www.robotway.com/h-col-275.html
页: [1]
查看完整版本: 机器人制作开源方案 | 行星探测车实现WiFi视频遥控功能