机器谱 发表于 2023-9-18 13:13:00

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

本帖最后由 机器谱 于 2023-9-18 13:14 编辑

1.功能描述
      本文示例所实现的功能为:采用蓝牙远程遥控双节履带机械臂小车进行运动。
https://28846868.s21i.faiusr.com/2/ABUIABACGAAgrpPgpwYoyJPv7gQwtgo47wU!600x600.jpg.webp

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

https://28846868.s21i.faiusr.com/4/ABUIABAEGAAg-8jfpwYoytnlugEw7AQ4xQQ!400x400.png.webp
3.电子硬件
      在这个示例中,我们采用了以下硬件,请大家参考:


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

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


https://28846868.s21i.faiusr.com/4/ABUIABAEGAAgkqLgpwYondyxIDDQBTiACg!300x300.png
https://28846868.s21i.faiusr.com/4/ABUIABAEGAAg7qLgpwYo_LvKqgcw0AU4gAo!300x300.pnghttps://28846868.s21i.faiusr.com/4/ABUIABAEGAAgwqPgpwYottaDkQIw0AU4gAo!300x300.png
运行蓝牙串口助手等待蓝牙设备扫描点击HC-05(蓝牙模块设备名)
https://28846868.s21i.faiusr.com/4/ABUIABAEGAAg26TgpwYokLbzqAcw0AU4gAo!300x300.png
https://28846868.s21i.faiusr.com/4/ABUIABAEGAAgpqXgpwYoxInZswYw0AU4gAo!300x300.pnghttps://28846868.s21i.faiusr.com/4/ABUIABAEGAAgzaXgpwYo_JrSQTDQBTiACg!300x300.png
输入PIN码:1234第一次连接成功手机退出蓝牙助手主控板重新打开电源重新打开蓝牙串口助手选择键盘模式
https://28846868.s21i.faiusr.com/4/ABUIABAEGAAgl6bgpwYo6NK3wgEw0AU4gAo!300x300.png
https://28846868.s21i.faiusr.com/4/ABUIABAEGAAgsKbgpwYor5HJlAEw0AU4gAo!300x300.pnghttps://28846868.s21i.faiusr.com/4/ABUIABAEGAAgkafgpwYohcqNxAEw0AU4gAo!300x300.png
等待连接成功按手机MENU建,打开菜单在设定IO模式中,选择ASCII(图中是Hex,有误)
https://28846868.s21i.faiusr.com/4/ABUIABAEGAAg76jgpwYoyZ-9-Qcw0AU4gAo!300x300.png
https://28846868.s21i.faiusr.com/4/ABUIABAEGAAgoangpwYooJqV7gcw0AU4gAo!300x300.png

      最后,设置终止符      选择最下面的/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):
/*------------------------------------------------------------------------------------

   版权说明: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-04 https://www.robotway.com/

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

#include <Arduino.h>

#include <Servo.h>

#include <pasta.h>

#include <SignalFilter.h>

#include <EEPROM.h>


String serialString = "";

boolean serialComplete = false;

char stringBuf;

Protocol protocol;

Servo myServo;

int data;

int olddata;

int port = {7,8,12,11,3};

void setup()

{

   Serial.begin(9600);

   

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

    data = 201;

    myServo.attach(port);

   }

   myServo.write(90);

   myServo.write(90);

   myServo.write(10);

   myServo.write(150);

   myServo.write(90);

}


void loop()

{

   if (serialComplete) {

   protocol.Analyze(serialString);

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

       data = protocol.parameter.GetAt(i);   

   serialString = "";

   serialComplete = false;

   

   

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

      if(olddata != data){

      if(data == 201)

          continue;

      else if(data > 0 && data < 180){

          myServo.write(data);

      }   

      olddata = data;   

      }

    }

   }

}


void serialEvent() {

   while (Serial.available()) {

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

    serialString += inChar;

    if (inChar == '\n') {

      serialComplete = true;

    }

   }

}



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


页: [1]
查看完整版本: 双节履带机械臂小车实现蓝牙遥控功能