1. 功能说明
本实验使用的样机为R023样机小型双轮差速底盘。在样机前方安装3个近红外传感器 ,实现机器人躲避悬崖、在某平台上移动时不会掉下去的效果。
在这个示例中,我们采用了以下硬件,请大家参考:
主控板 | Basra(兼容Arduino Uno) |
扩展板 | Bigfish2.1 |
传感器 | 近红外传感器 |
电池 | 7.4V锂电池 |
左轮直流电机连在D9,D10接口上;右轮直流电机连在D5,D6接口上;3个近红外传感器从左到右分别连在A0、A4、A3接口上。
3. 示例程序
编程环境:Arduino 1.8.19
编写并烧录以下程序(nine.ino),该程序将实现演示视频中的动作【完整资料请参考https://www.robotway.com/h-col-113.html】
/*------------------------------------------------------------------------------------ 版权说明: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-02-10 https://www.robotway.com/ ------------------------------------------------------------------------------------*/ void Right(); void Left(); void Stop(); void Forward(); void Back(); 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(14)) && ! (digitalRead(17)) ) )) { Forward(); } if (( digitalRead(14) )) { Left(); delay( 300 ); } if (( digitalRead(17) )) { Right(); delay( 300 ); } if (( digitalRead(18) )) { Back(); delay( 1000 ); analogWrite(5 , 100); analogWrite(6 , 0); analogWrite(9 , 0); analogWrite(10 , 100); delay( 1500 ); } } void Right() { analogWrite(5 , 0); analogWrite(6 , 0); analogWrite(9 , 100); analogWrite(10 , 0); } void Forward() { analogWrite(5 , 100); analogWrite(6 , 0); analogWrite(9 , 100); analogWrite(10 , 0); } void Back() { analogWrite(5 , 0); analogWrite(6 , 100); analogWrite(9 , 0); analogWrite(10 , 100); } void Left() { analogWrite(5 , 100); analogWrite(6 , 0); analogWrite(9 , 0); analogWrite(10 , 0); } void Stop() { analogWrite(5 , 0); analogWrite(6 , 0); analogWrite(9 , 0); analogWrite(10 , 0); }
4. 扩展
本实验采用3个近红外传感器,利用的是近红外传感器能够识别到距离较近的桌面,无法识别到距离较远的地面,因此桌面要距离地面远一些。
本实验还可以使用灰度传感器或者白标传感器。利用的是灰度和白标在悬崖处极难收到反射回来的红外线的原理,因此相应的桌面必须是浅色,如果桌面也是深色,灰度和白标传感器就无法区分桌面和悬崖了。
审核编辑黄宇
-
传感器
+关注
关注
2548文章
50647浏览量
751784 -
机器人
+关注
关注
210文章
28187浏览量
206424 -
编程
+关注
关注
88文章
3587浏览量
93582
发布评论请先 登录
相关推荐
评论