非专业人士可以做网站编辑的工作吗,网站搭建团队,电商网站模块有哪些,html5教育网站1. 功能说明 本文示例将实现R023样机小型双轮差速底盘悬崖巡检的功能。在小型双轮差速底盘上安装一个检测装置#xff0c;它可以由1个 近红外传感器 和1个 灰度传感器 组成。近红外传感器可以识别桌面#xff0c;灰度传感器可以识别“悬崖”#xff0c;让机器人沿着“悬崖”…1. 功能说明 本文示例将实现R023样机小型双轮差速底盘悬崖巡检的功能。在小型双轮差速底盘上安装一个检测装置它可以由1个 近红外传感器 和1个 灰度传感器 组成。近红外传感器可以识别桌面灰度传感器可以识别“悬崖”让机器人沿着“悬崖”巡逻既不远离也不掉下去。 2. 电子硬件
在这个示例中我们采用了以下硬件请大家参考
主控板 Basra主控板兼容Arduino Uno 扩展板 Bigfish2.1扩展板 传感器 近红外传感器 灰度传感器 电池7.4V锂电池
电路连接 ① 近红外传感器连接在Bigfish扩展板的A0端口灰度传感器连接在Bigfish扩展板的A4端口。 ② 2个直流电机分别连在Bigfish扩展板的910接口和56接口。 3. 功能实现
编程环境Arduino 1.8.19
下面提供一个小型双轮差速底盘悬崖巡检的参考例程Cliff_avoidance_robot.ino
/*------------------------------------------------------------------------------------版权说明Copyright 2023 Robottime(Beijing) Technology Co., Ltd. All Rights Reserved.Distributed under MIT license.See file LICENSE for detail or copy athttps://opensource.org/licenses/MITby 机器谱 2023-07-19 https://www.robotway.com/------------------------------*/
/*************************************************************************************************************************************************
实验需求:
实现悬崖巡检机器人
实现思路
程序的整体思路为用近红外来检测停放小车的桌面用灰度来检测悬崖。
当近红外持续触发时说明小车在桌面小车保持前进如果灰度传感器触发说明小车遇到悬崖
小车先后退350毫秒在左转350毫秒远离悬崖。如果近红外没有触发说明小车也检测到了悬崖。否则小车前进。
*************************************************************************************************************************************************//******************************************************************
实验接线:
近红外传感器接到A0即14引脚
灰度传感器接到A4即18引脚
直流电机1接5,6引脚
直流电机2接9,10引脚
******************************************************************/int _ABVAR_1_Near_infrared_sensor 0 ;
int _ABVAR_2_Grayscale_sensor 0 ;
boolean __ardublockDigitalRead(int pinNumber)
{pinMode(pinNumber, INPUT);return digitalRead(pinNumber);
}void forward();
void back();
void Cliff();
void left();void setup()
{pinMode( 10, OUTPUT);pinMode( 6, OUTPUT);pinMode( 5, OUTPUT);pinMode( 9, OUTPUT);_ABVAR_1_Near_infrared_sensor 14 ;_ABVAR_2_Grayscale_sensor 18 ;}void loop()
{if (__ardublockDigitalRead(_ABVAR_1_Near_infrared_sensor)){Cliff(); //如果近红外没有触发说明小车检测到了悬崖。}if (!( __ardublockDigitalRead(_ABVAR_2_Grayscale_sensor) )){Cliff(); //如果灰度传感器触发说明小车遇到悬崖小车先后退350毫秒在左转350毫秒远离悬崖。}else{forward();}
}void back()
{analogWrite(5 , 0);analogWrite(6 , 100);analogWrite(9 , 0);analogWrite(10 , 100);
}void forward()
{analogWrite(5 , 100);analogWrite(6 , 0);analogWrite(9 , 80);analogWrite(10 , 0);
}void Cliff()
{back();delay( 350 );left();delay( 350 );
}void left()
{analogWrite(5 , 100);analogWrite(6 , 0);analogWrite(9 , 0);analogWrite(10 , 100);
} 悬崖巡检-程序源代码详见 小型双轮差速底盘-悬崖巡检