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


    1. 功能描述

           本文示例所实现的功能为:用手机APP,通过WiFi通信遥控R261样机行星探测车移动,以及打开、关闭行星探测车太阳翼。

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


    2. 电子硬件

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

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

    3. 示例程序

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

    1. /*------------------------------------------------------------------------------------
    2. 版权说明:Copyright 2023 Robottime(Beijing) Technology Co., Ltd. All Rights Reserved.
    3. Distributed under MIT license.See file LICENSE for detail or copy at
    4. https://opensource.org/licenses/MIT
    5. by 机器谱 2023-09-22 https://www.robotway.com/
    6. ------------------------------*/
    7. void serialEvent()
    8. {
    9. static int i;
    10. static boolean revStart;
    11. while (Serial.available())
    12. {
    13. //get data from wifi
    14. int inData = Serial.read();
    15. if (inData == 0xff && !revStart)
    16. {
    17. revStart = true;
    18. }
    19. else if(revStart)
    20. {
    21. inputData[i] = inData;
    22. i++;
    23. if(i > 3)
    24. {
    25. if(inputData[3] == 0xff)
    26. {
    27. dataComplete = true;
    28. i = 0;
    29. revStart = false;
    30. }
    31. else
    32. {
    33. i = 0;
    34. revStart = false;
    35. }
    36. }
    37. }
    38. }
    39. }
    40. //小车主程序
    41. void car_control(){
    42. if(dataComplete){
    43. dataComplete = false;
    44. //控制小车前,后,左,右
    45. if(inputData[0] == 0x00)
    46. {
    47. if(inputData[1] != moveDirection){
    48. moveDirection = inputData[1];
    49. }
    50. }
    51. else if(inputData[0] == 0x02){
    52. if(inputData[1] == 0x01){
    53. if(inputData[2] != DownDireciton){
    54. DownDireciton = inputData[2];
    55. if(DownDireciton == 0 && !isPanelDown){
    56. expandSolarPanelsAndMast();
    57. isPanelDown = true;
    58. }
    59. else if(DownDireciton == 10 && isPanelDown){
    60. stopSolarPanelsAndMast();
    61. isPanelDown = false;
    62. }
    63. }
    64. }
    65. }
    66. Move(moveDirection);
    67. }
    68. else{
    69. //小车自主控制部分
    70. automatic_control();
    71. }
    72. }

    4. 安卓手机APP配置及操作

    ① 将文末资料中的WIFIRobotV1.06.apk下载安装到手机上,并打开按以下参数进行设置。

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

    ② 打开手机wifi并连接GL-AR150-fxx(xx为随机数字与字母),密码:goodlife
    ③ 关闭软件(需清除后台应用)重新进入,点击“开始”,并开始操作。
    ④ 可看到如下所示界面按钮:前、后、左、右。

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

    ⑤ 点击“速度调整”:“左侧速度”为调整直流电机转速;“右侧速度”为打开、关闭行星探测车太阳翼。

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

    ⑥ 关闭“速度调整”,点击“重力感应”,通过调整手机角度可使行星探测车移动。

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

    程序源代码及样机3D文件等资料下载地址:行星探测车-WiFi视频遥控

  • 相关阅读:
    学习分布式第一天(分布式系统原理和概念)
    Linux之V4L2驱动框架
    体系认证服务认证产品认证的相同点与不同点
    Cloudera Manager 安装
    gRPC 的原理 介绍带你从头了解gRPC
    妙用OSGraph:发掘GitHub知识图谱上的开源故事
    c语言贪吃蛇项目的实现
    案例解读华为隐私计算产品TICS如何实现城市跨部门数据隐私计算
    uniapp cli化一键游项目启动报错总结
    docker命令大全英文版在线手册
  • 原文地址:https://blog.csdn.net/Robotway/article/details/133934464