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

news2024/11/22 16:31:06

1.功能描述

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

2.结构说明

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

3.电子硬件

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

主控板Basra主控板(兼容Arduino Uno)
扩展板Bigfish2.1扩展板
通信

蓝牙串口模块

电池7.4V锂电池

 4.app安装与配置

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

按钮名称发送内容
下撑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[100];

Protocol protocol;

Servo myServo[5];

int data[5];

int olddata[5];

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

void setup()

{

   Serial.begin(9600);

   

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

    data[i] = 201;

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

   }

   myServo[0].write(90);

   myServo[1].write(90);

   myServo[2].write(10);

   myServo[3].write(150);

   myServo[4].write(90);

}


void loop()

{

   if (serialComplete) {

     protocol.Analyze(serialString);

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

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

     serialString = "";

     serialComplete = false;

     

     

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

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

        if(data[i] == 201)

          continue;

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

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

        }   

        olddata[i] = data[i];   

      }

    }

   }

}


void serialEvent() {

   while (Serial.available()) {

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

    serialString += inChar;

    if (inChar == '\n') {

      serialComplete = true;

    }

   }

}


 程序源代码、样机3D文件以及蓝牙串口助手.apk等资料详见  双节履带机械臂小车-蓝牙遥控

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1021164.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

三维模型3DTile格式轻量化压缩文件大小的技术方法研究

三维模型3DTile格式轻量化压缩文件大小的技术方法研究 倾斜摄影三维模型&#xff0c;由于数据量大、复杂度高&#xff0c;轻量化压缩成为其在网络传输和实时渲染中必不可少的环节。以下是几种常用的3DTile格式轻量化压缩技术方法&#xff1a; 几何简化&#xff1a;这是一种最…

Mac中IntelliJ IDEA每次打开立刻“意外退出”的解决方法

本文介绍在Mac电脑中&#xff0c;无法打开IntelliJ IDEA软件&#xff0c;出现“意外退出”的报错提示&#xff0c;且重启软件依然出现这一情况的通用解决思路与方法。 最近&#xff0c;不知道怎么回事&#xff0c;点击图标准备打开IntelliJ IDEA软件时&#xff0c;很快就会出现…

ADB底层原理

介绍 adb的全称为Android Debug Bridge&#xff0c;就是起到调试桥的作用。通过adb我们可以在Eclipse/Android Studio中方便通过DDMS来调试Android程序&#xff0c;说白了就是debug工具。adb是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的and…

【逗老师的无线电】艾德克斯TTL串口转网口

最近手搓了一个可以用于艾德克斯ITECH电源或者电子负载的TTL串口转网口的模块&#xff0c;用上之后&#xff0c;上位机软件就可以配置以太网IP连接设备啦。就像这样。 一、ITECH TTL接口定义 二、整体逻辑 嗯&#xff0c;就这么简单。IT9000控制软件的Ethernet功能就是直接S…

【校招VIP】测试方案分析之压力测试

考点介绍&#xff1a; 软件压力测试是校招面试里面经常会碰到的题型。 基本思路是在计算机数量较少或系统资源匮乏的条件下运行测试。要求面试者了解压力测试的基本概念&#xff0c;压测的目的&#xff0c;压测的要求以及说出实例。 测试方案分析之压力测试-相关题目及解析内容…

从理解js双重递归执行顺序到用递归方式实现二叉树中序遍历

今天在学习力扣上94题二叉树的中序遍历时&#xff0c;js的实现方法之一是递归&#xff0c;但是函数内递归是双重&#xff0c;花了一些时间来理解双重递归调用的执行顺序。 先看如下例子&#xff0c;参考文章&#xff08;双递归的执行过程理解&#xff09; 示例代码如下&#xf…

Vue基础之模板语法介绍

前言 上篇我分享了关于Vue的入门&#xff0c;简单的入了个门。本篇文章将要分享的内容为Vue的模板语法。 一、插值 1.1、文本 1.2、html 1.3、属性 1.4、class、style绑定 1.5、表达式 在Vue的模板语法中&#xff0c;插值是一种常用的方式来动态地将数据渲染到视图中。Vue使用双…

CentOS 7 安装Libevent

CentOS 7 安装Libevent 1.下载安装包 新版本是libevent-2.1.12-stable.tar.gz。&#xff08;如果你的系统已经安装了libevent&#xff0c;可以不用安装&#xff09; 官网&#xff1a;http://www.monkey.org/~provos/libevent/ 2.创建目录 # mkdir libevent-stable 3.解压 …

数字森林:无人机航测技术在林业调查中的应用

林业调查是林业工作的基础&#xff0c;对于森林资源的管理、规划、保护、经济发展和农业种植等方面都具有重要的意义。传统林业调查主要依赖人工进行&#xff0c;存在工作效率低、数据精度低、数据分析困难、受地形限制、无法实时监测等缺陷。 随着科技的不断发展&#xff0c;无…

DJYOS开源往事三:DJYOS源码发布网络实证

在DJYOS经营开发社区的时候&#xff0c;DJYOS的代码更新记录是在自己的官网上。然后散发到各种技术论坛上。这里我实证的举例以第三方网站为数据源头&#xff0c;罗列2009年之后发布的一些源码实证信息。 1、2009年2月2日&#xff1a;djyos含example的0.2.0版本发布了&#xf…

JDK1.8下载

https://www.oracle.com/cn/java/technologies/downloads/#java8-windows

git log和git reflog命令

工作区 版本历史库 ,暂存区 (1)git log (2)git log --oneline (3)git log -n4 --graph (4)git log -n4 --graph --oneline (5)git log --all (6)git log master 查看master分支历史记录(1)HEAD指向当前工作commit,是个变量 (2)git reset HEAD^,git log找不到之前的commi…

函数式编程------JDK8新特性

函数式编程式jdk 8中的语法糖,在许多地方都有用到,以下是一些优点. 能够看懂公司里的代码大数量下处理集合效率高代码可读性高消灭嵌套地狱 Lamda表达式 lamda表达式是函数是编程的基础,先看一个列子 新建一个线程,参数是匿名类内部类(匿名内部类是一个匿名子类对象。这里使…

Web应用系统的小安全漏洞及相应的攻击方式

写作目的 本文讲述一个简单的利用WebAPI来进行一次基本没有破坏力的“黑客”行为。 主要目的如下&#xff1a; 了解什么叫安全漏洞 知道什么是api 了解一些获取api的工具 通过对API的认识了解白盒接口测试基本概念和技术 免责声明&#xff1a; 本文主要是以学习交流为目的&a…

python抠图(去水印)开源库lama-cleaner入门应用实践

1. 关于 Lama Cleaner Lama Cleaner 是由 SOTA AI 模型提供支持的免费开源图像修复工具。可以从图片中移除任何不需要的物体、缺陷和人&#xff0c;或者擦除并替换&#xff08;powered by stable diffusion&#xff09;图片上的任何东西。 特征&#xff1a; 完全免费开源&am…

axios取消上一页面的请求

请求拦截 声明变量用于存放请求请求拦截存放请求导出请求 导航守卫 导入请求集合路由前置守卫中遍历取消所有请求 登录失效取消后续请求

Go学习视频整理(总共59门课程,860GB)

由阿里P8 Golang架构师亲自精心筛选整理的全网最新最具价值的Golang进阶学习课程&#xff01; 培训机构原版教程&#xff01; 课程知识点和一线大厂完美匹配&#xff01; 所有课程资源完整成套&#xff0c;不残缺&#xff0c;不拼凑&#xff0c;不拆开乱发&#xff01; 这系…

深度学习——线性神经网络一

深度学习——线性神经网络一 文章目录 前言一、线性回归1.1. 线性回归的基本元素1.1.1. 线性模型1.1.2. 损失函数1.1.3. 解析解1.1.4. 随机梯度下降1.1.5. 用模型进行预测 1.2. 向量化加速1.3. 正态分布与平方损失1.4. 从线性回归到深度网络 二、线性回归的从零开始实现2.1. 生…

【每日运维】文件系统损坏:shutting down filesystem

问题场景&#xff1a;服务器突发断电导致 处理步骤 先确认属于哪个逻辑卷&#xff1a;ls -l /dev/mapper 通过文件系统命令进行修复&#xff1a;xfs_repair -L /dev/mapper/centos-root 最终修复的预期效果如下&#xff1a; 重启服务器后验证是否正常进入系统

Polygon L2扩容方案揭秘

1. 引言 前序博客&#xff1a; Polygon生态 以太坊扩容是一个几乎与以太坊本身一样古老的问题。扩容任务的复杂性是 以太坊伟大之处的直接结果&#xff1a; 以太坊是有活力的协议&#xff0c;其缓慢进化&#xff0c;以确保链的安全性和去中心化。 当活动的增加刺激了更大的…