网站大量收购独家精品文档,联系QQ:2885784924

Arduino智能避障小车避障程序.docVIP

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
首先建立一个名为的主程序。 ,玩转智能小车主程序 导入舵机库 导入库 对照系统配线方案依次指定各 ; 左电机 ; 左电机正 ; 左电机负 ; 右电机 ; 右电机正 ; 右电机负 ; 定义超声波传感器发射脚为 ; 定义传感器接收脚为 ; 设定传感器最大探测距离。 ; *设定警戒距离。 ; 实际距离读数。 ; 设定传感器平台。 (, , ); 设定传感器引脚和最大读数 系统初始化 () { (); 启用串行监视器可以给调试带来极大便利 (); 把分配给舵机 (, ); 依次设定各属性 (, ); (, ); (, ); (, ); (, ); (, ); (, ); (); 舵机复位至° (); 上电等待后进入主循环 } 主程序 () { (); 调用()函数读出前方距离 (:); (); 串行监视器显示机器人前方距离 ( ) 如果前方距离小于警戒值 { (); 就令机器人紧急刹车 (); 然后左右查看,分析得出最佳路线 (); *此处调用看似多余,但可以确保机器人高速运转下动作的连贯性 } (); 否则就一直向前行驶 } 主程序用到了两个库,库是自带的,库是第三方库,需要下载安装。 接下来建立一个名为的标签。 ,机动模块。 刹车 () { (); 串行监视器显示机器人状态为(停止) 左电机急停(注:和均带有刹车功能,在使能成立的条件下,同时向两相写入高电平可令电机急停,详见芯片手册) (, ); (, ); (, ); 右电机急停 (, ); (, ); (, ); } 前进 () { (); 串行监视器显示机器人状态为(前进) 左电机逆时针旋转 (); 左电机,可微调这个数值使小车左右两侧车轮转速相等,右电机同理 (, ); (, ); 右电机顺时针旋转 (); (, ); (, ); } 原地左转 () { (); 串行监视器显示机器人状态为(向左转) 左电机正转 (); (, ); (, ); 右电机正转 (); *微调这个数值,使转弯时内侧车轮起主导作用。相当于让小车向后打一把轮再拐弯。右转同理 (, ); (, ); (); *延迟,数值以毫秒为单位,调节此值可使机器人动作连贯 } 原地右转 () { (); 串行监视器显示机器人状态为(向右转) 左电机反转 (); (, ); (, ); 右电机反转 (); (, ); (, ); (); *调节此值可使机器人动作连贯 } 原地掉头(暂时用不到) () { ( ); 串行监视器显示机器人状态为 (原地顺时针旋转°) 左电机反转 (); (, ); (, ); 右电机反转 (); (, ); (, ); (); * } ,测距模块 () { (); 声波发送间隔,大约每秒探测次。受系统所限,此值不可小于 () ; 把值(μ)转换为 (); ()返回的数值是 } 最后是驱动云台扫描并分析左右两侧距离的模块。 ,查看模块 () { 测量右前方距离。 *注意舵机旋转方向,为逆时针旋转 (); *舵机右转至°。调节此值会影响传感器扫描区域,夹角越小,机器人转弯越谨慎 (); 延迟待舵机稳定 (); 调用()函数读出右前方距离 (:); (); (); *舵机复位至度。廉价舵机大角度旋转会产生抖动,要加上这两行以求读数准确。 (); 延迟 测量左前方距离 (); 舵机左转至° (); 延迟待舵机稳定。 (); 调用函数读出距离左前方距离。 (:); (); (); 这一行确保只要小车处于行驶状态,传感器就面向正前方 (); 延迟。 分析得出最佳行进路线。 ( ) 如果右前方距离比较大 { (); 就向右转, } (); 否则就向左转 此处也可以加入另一层逻辑:如果左右两侧读数相等就调用()原地掉头。但实际上触发的几率不大。 } 液晶测试程序,版本,库版本 导入液晶库 (); 设定地址及液晶屏参数 () { ();

文档评论(0)

kfcel5889 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档