小型双轮差速底盘机器人实现红外跟随功能

1. 功能说明

本文示例将实现R023样机小型双轮差速底盘跟随人移动的功能。在小型双轮差速底盘前方按下图所示安装3个++近红外传感器++,制作一个红外线发射源,实现当红外发射源在机器人的检测范围内任意放置或移动时,机器人能追踪该发射源。

2. 电子硬件

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

|-----|-----------------------------------------------------------------------------------------------|
| 主控板 | Basra主控板(兼容Arduino Uno)‍ |
| 扩展板 | Bigfish2.1扩展板‍ |
| 传感器 | 近红外传感器 |
| 电池 | 7.4V锂电池 |

电路连接:

① 三个近红外传感器从左至右分别连接在Bigfish扩展板的A0,A4,A3端口。

② 左轮直流电机连在Bigfish扩展板的D9,D10接口;右轮直流电机连在Bigfish扩展板的D5,D6接口。

3. 功能实现

**编程环境:**Arduino 1.8.19

下面提供一个小型双轮差速底盘跟随人移动的参考例程(Infrareda_following.ino):

java 复制代码
/*------------------------------------------------------------------------------------
  版权说明: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-07-20 https://www.robotway.com/
  ------------------------------*/
void Right();
void Left();
void Stop();
void Back();
void Forward();

void setup()
{
  pinMode( 17, INPUT);
  pinMode( 18, INPUT);
  pinMode( 14, INPUT);
  pinMode( 10, OUTPUT);
  pinMode( 6, OUTPUT);
  pinMode( 5, OUTPUT);
  pinMode( 9, OUTPUT);
}

void loop()
{
  if (!( digitalRead(18) ))
  {
    Stop();
  }
  if (!( digitalRead(14) ))
  {
    Right();
  }
  if (!( digitalRead(17) ))
  {
    Left();
  }
  if (digitalRead(18))
  {
    Forward();
  }
}

void Left()
{
  analogWrite(5 , 0);
  analogWrite(6 , 0);
  analogWrite(9 , 0);
  analogWrite(10 , 100);
}

void Stop()
{
  analogWrite(5 , 0);
  analogWrite(6 , 0);
  analogWrite(9 , 0);
  analogWrite(10 , 0);
}

void Forward()
{
  analogWrite(5 , 0);
  analogWrite(6 , 125);
  analogWrite(9 , 0);
  analogWrite(10 , 100);
}

void Back()
{
  analogWrite(5 , 125);
  analogWrite(6 , 0);
  analogWrite(9 , 100);
  analogWrite(10 , 0);
}

void Right()
{
  analogWrite(5 , 0);
  analogWrite(6 , 125);
  analogWrite(9 , 0);
  analogWrite(10 , 0);
}

红外跟随-程序源代码资料内容详见 小型双轮差速底盘-红外跟随

相关推荐
遨博学院5 小时前
机器人编程界面
机器人
曹勖之21 小时前
在 UE5 蓝图中配置Actor类型的Asset以作为位置和旋转设置目标
ue5·机器人
曹勖之21 小时前
UE 5 和simulink联合仿真,如果先在UE5这一端结束Play,过一段时间以后**Unreal Engine 5** 中会出现显存不足错误
matlab·ue5·机器人
曹勖之1 天前
撰写脚本,通过发布/joint_states话题改变机器人在Rviz中的关节角度
开发语言·python·机器人·ros2
奔跑吧邓邓子1 天前
DeepSeek 赋能智能养老:情感陪伴机器人的温暖革新
人工智能·机器人·deepseek·智能养老·情感陪伴
VR最前沿1 天前
全新Xsens Animate版本是迄今为止最大的软件升级,提供更清晰的数据、快捷的工作流程以及从录制开始就更直观的体验
人工智能·科技·机器人·自动化
CHOTEST中图仪器1 天前
激光干涉仪:解锁协作机器人DD马达的精度密码
机器人·激光干涉仪
Tisfy1 天前
LeetCode 2434.使用机器人打印字典序最小的字符串:贪心(栈)——清晰题解
leetcode·机器人·字符串·题解·贪心·
敢敢のwings1 天前
论文速读《DexWild:野外机器人策略的灵巧人机交互》
机器人·人机交互
AiTEN_Robotics2 天前
仓库自动化搬运:自动叉车与AGV选型要点及核心技术解析
人工智能·机器人·自动化