极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1595|回复: 0

双节履带机械臂小车实现蓝牙遥控功能

[复制链接]
发表于 2023-9-18 13:13:00 | 显示全部楼层 |阅读模式
本帖最后由 机器谱 于 2023-9-18 13:14 编辑

1.功能描述
      本文示例所实现的功能为:采用蓝牙远程遥控双节履带机械臂小车进行运动。


2.结构说明
      双节履带机械臂小车,采用履带底盘,可适用于任何复杂地形。
      前节履带抬起高度不低于10cm,可用于履带车进行爬楼行进。
      底盘上装有一个两自由度机械臂,可用于排爆等工作。


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

主控板
Basra主控板(兼容Arduino Uno)
扩展板
Bigfish2.1扩展板
通信
蓝牙串口模块
电池
7.4V锂电池

4.app安装与配置
      将文末资料中的“蓝牙串口助手.apk”安装到安卓手机中。将蓝牙模块连接到主控板并打开电源,然后在手机上运行蓝牙串口助手。


运行蓝牙串口助手
等待蓝牙设备扫描
点击HC-05(蓝牙模块设备名)

输入PIN码:1234
第一次连接成功
手机退出蓝牙助手
主控板重新打开电源
重新打开蓝牙串口助手
选择键盘模式

等待连接成功
按手机MENU建,打开菜单
在设定IO模式中,选择ASCII(图中是Hex,有误)



        最后,设置终止符
        选择最下面的/r/n


所有设置完成后,在菜单中点击结束键盘设置,然后任意按动按钮,即可操作。


       如果操作失灵,请关闭手机app,关掉机器人电源。重新打开机器人电源,重新打开app连接蓝牙设备,并选择键盘模式。
在菜单中点击设置键盘

在键盘设置状态下,点击按钮

(各按钮设置内容如下表所示)



按钮名称
发送内容
下撑
0@0:0=0(90,90,201,201,30);@
平铺
0@0:0=0(90,90,201,201,90);@
上撑
0@0:0=0(90,90,201,201,150);@
放下
0@0:0=0(90,90,10,201,201);@
前进
0@0:0=0(70,110,201,201,201);@
抬起
0@0:0=0(90,90,40,201,201);@
左转
0@0:0=0(110,110,201,201,201);@
停止
0@0:0=0(90,90,201,201,201);@
右转
0@0:0=0(70,70,201,201,201);@
打开
0@0:0=0(90,90,201,150,201);@
后退
0@0:0=0(110,70,201,201,201);@
夹取
0@0:0=0(90,90,201,100,201);@


5.功能实现
编程环境:Arduino 1.8.19
      下面提供一个蓝牙远程遥控双节履带机械臂小车运动的参考程序(EODrobot.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-04 https://www.robotway.com/

  6.    ------------------------------*/

  7. #include <Arduino.h>

  8. #include <Servo.h>

  9. #include <pasta.h>

  10. #include <SignalFilter.h>

  11. #include <EEPROM.h>


  12. String serialString = "";

  13. boolean serialComplete = false;

  14. char stringBuf[100];

  15. Protocol protocol;

  16. Servo myServo[5];

  17. int data[5];

  18. int olddata[5];

  19. int port[5] = {7,8,12,11,3};

  20. void setup()

  21. {

  22.    Serial.begin(9600);

  23.    

  24.    for(int i = 0; i < 5; i++){

  25.     data[i] = 201;

  26.     myServo[i].attach(port[i]);

  27.    }

  28.    myServo[0].write(90);

  29.    myServo[1].write(90);

  30.    myServo[2].write(10);

  31.    myServo[3].write(150);

  32.    myServo[4].write(90);

  33. }


  34. void loop()

  35. {

  36.    if (serialComplete) {

  37.      protocol.Analyze(serialString);

  38.      for(int i = 0; i < 5; i++)

  39.        data[i] = protocol.parameter.GetAt(i);   

  40.      serialString = "";

  41.      serialComplete = false;

  42.      

  43.      

  44.      for(int i = 0; i < 5; i++){

  45.       if(olddata[i] != data[i]){

  46.         if(data[i] == 201)

  47.           continue;

  48.         else if(data[i] > 0 && data[i] < 180){

  49.           myServo[i].write(data[i]);

  50.         }   

  51.         olddata[i] = data[i];   

  52.       }

  53.     }

  54.    }

  55. }


  56. void serialEvent() {

  57.    while (Serial.available()) {

  58.     char inChar = (char)Serial.read();

  59.     serialString += inChar;

  60.     if (inChar == '\n') {

  61.       serialComplete = true;

  62.     }

  63.    }

  64. }


复制代码

6.资料下载
资料内容:
①程序源代码
②样机3D文件
③蓝牙串口助手.apk
资料下载地址:双节履带机械臂小车-蓝牙遥控 https://www.robotway.com/h-col-262.html



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-5-2 07:00 , Processed in 0.043175 second(s), 17 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表