长春建设局网站处长,crm管理系统排名,响应式网站优点,网站域名不想实名认证1. 功能说明 在机器人车体上安装2个 灰度传感器 #xff0c;实现机器人按照下图所指定的路线进行导航运动#xff0c;来模拟仓库物流机器人按指定路线行进的工作过程。 2. 使用样机
本实验使用的样机为R023e样机。 3. 功能实现
3.1 电子硬件 在这个示例中#xff0c;我们采…1. 功能说明 在机器人车体上安装2个 灰度传感器 实现机器人按照下图所指定的路线进行导航运动来模拟仓库物流机器人按指定路线行进的工作过程。 2. 使用样机
本实验使用的样机为R023e样机。 3. 功能实现
3.1 电子硬件 在这个示例中我们采用了以下硬件请大家参考
主控板Basra兼容Arduino Uno扩展板 SH-01外围电路扩展板与Bigfish扩展板相似 传感器灰度传感器电池7.4V锂电池
电路连接说明
① 电机连在D6D10及D5D9接口上
② 2个灰度传感器分别接在扩展板的传感器接口A0、A4上。 3.2 编写程序 传感器触发情况、小车行驶状态、对应行为策略表
传感器1传感器2小车状态动作01小车左偏向右调整10小车右偏向左调整11到达终点停止00正常前进
① 根据实验内容利用多分支结构设计出程序流程图。 机器人轨迹导航任务流程图② 根据设计好的程序流程图进行编程编写并烧录以下程序blackline_4if.ino该程序将实现演示视频中的动作。
编程环境Arduino 1.8.19
/*------------------------------------------------------------------------------------版权说明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-02-09 https://www.robotway.com/ ------------------------------------------------------------------------------------*/void turnleft_slow();void forward();void carstop();void turnright_slow();void setup(){pinMode( 18, INPUT);pinMode( 14, INPUT);pinMode( 10, OUTPUT);pinMode( 6, OUTPUT);pinMode( 5, OUTPUT);pinMode( 9, OUTPUT);}void loop(){if (( digitalRead(14) digitalRead(18) )){forward();}if (( !( digitalRead(14) ) digitalRead(18) )){turnleft_slow();}if (( digitalRead(14) !( digitalRead(18) ) )){turnright_slow();}if (( !( digitalRead(14) ) !( digitalRead(18) ) )){carstop();delay( 5000 );}}void turnright_slow(){analogWrite(6 , 80);analogWrite(10 , 0);analogWrite(5 , 0);analogWrite(9 , 0);}void carstop(){analogWrite(6 , 0);analogWrite(10 , 0);analogWrite(5 , 0);analogWrite(9 , 0);}void turnleft_slow(){analogWrite(6 , 0);analogWrite(10 , 0);analogWrite(5 , 80);analogWrite(9 , 0);}void forward(){analogWrite(6 , 80);analogWrite(10 , 0);analogWrite(5 , 80);analogWrite(9 , 0);} 也可以使用if…else嵌套写法(blackline_ifelse.ino)。
void stop();void left();void right();void forwards();void setup(){pinMode( 18, INPUT);pinMode( 14, INPUT);pinMode( 10, OUTPUT);pinMode( 6, OUTPUT);pinMode( 5, OUTPUT);pinMode( 9, OUTPUT);}void loop(){if (( !( digitalRead(14) ) digitalRead(18) )){right();}else{if (( digitalRead(14) !( digitalRead(18) ) )){left();}else{if (( !( digitalRead(14) ) !( digitalRead(18) ) )){stop();}else{forwards();}}}}void stop(){analogWrite(5 , 0);analogWrite(9 , 0);analogWrite(6 , 0);analogWrite(10 , 0);}void right(){analogWrite(5 , 150);analogWrite(9 , 0);analogWrite(6 , 0);analogWrite(10 , 150);}void forwards(){analogWrite(5 , 150);analogWrite(9 , 0);analogWrite(6 , 150);analogWrite(10 , 0);}void left(){analogWrite(5 , 0);analogWrite(9 , 150);analogWrite(6 , 150);analogWrite(10 , 0);}
资料内容详见 小型双轮差速底盘-双灰度循迹