- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
open宝贝车培训--技术讲解-精.ppt
在开始下一部分之前 单片机C语言编程的一些特点总结 While(1),很多时候我们希望单片机能够连续的做一些事情,如让电机运动,不断的扫描I/O口以检测信号,通常在做完一些变量声明,以及初始化工作后我会将控制程序放在一个无限循环中。 Delay函数,单片机很多时候都会用到这个函数以等待一些事情完成,或按照某个时序控制I/O。 利用传感器导航 有了基本的运动基础,现在需要让小车通过传感器来感知外部的世界,并完成智能的运动。 下面的内容包括以下几个方面 通过外部信息来进行智能的运动的构思 使用红外探测传感器 完成红外线避障 总结 利用传感器导航 利用传感器导航 使用红外线探测器 ?感知外部信息 红外线探测器的原理 红外线接收器像机器人的眼睛,它能够“看见” 980 nm波长的红外线通过,接收器里面还带一个滤波器,接受38.5KHZ的电信号。接收到信号后引脚电平由高变低。(1?0) 红外线发射器在接通电源之后发射980nm波长的红外线,所以只要使发射器一秒钟发射38,500次的红外光就能得到接收器能识别的信号。 利用传感器导航 认识需要使用的电子元器件 红外线接收器、发射器 三极管 利用传感器导航 在面包板上搭建好电路 利用传感器导航 编写红外线探测器驱动 使用红外线探测器只要使红外线发射器以38.5khz发射红外线即可。 从时序来分析,只要按照下面的时序来变化引脚电平 利用传感器导航 参照调零的程序来写红外发射驱动 红外线触发信号接在P1_3上面 发射完成马上检查红外线接收器信号 红外线接收器件接在P1_2上 这样就完成了一次收发过程! for(counter=0;counter38;counter++) { P1_3=1; delay_nus(13); P1_3=0; delay_nus(13); } irDetectLeft = P1_2state(); 利用传感器导航 delay_nus函数的不精确性 由于调用函数本身是要消耗时间,所以为了有更精确,我们要修改一下程序的延时部分。 Int i = 39; While(--i) { RightLaunch=1; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); RightLaunch=0; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); } _nop_(); 在intrins.h这个头文件中。表示执行一条空指令。使用一连串的_nop_();来代替delay_nus();即可。记住加入instrins.h这个头文件。 利用传感器导航 完整的函数 void IRLaunch(unsigned char IR) { int counter; if(IR==L) for(counter=0;counter38;counter++)//左边发射 { LeftLaunch=1; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); LeftLaunch=0; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); } if(IR==R) 。。。。。。。。。。 利用传感器导航 测试你的红外线传感器 编译程序,下载程序到教学板。 打开串口调试程序,连接串口线 利用传感器导航 写出完整的程序 现在我们将运动部分的函数加到程序中来 按照之前的构思一步步完成程序 感知外部信息 处理得到的信息 IRLaunch(R); //右边发射 irDetectRight = RightIR;//右边接收 IRLaunch(L); //左边发射 irDetectLeft = LeftIR;//左边接收 利用传感器导航 写出完整的程
您可能关注的文档
最近下载
- 2021年河南中考化学真题及答案.doc VIP
- 4.1水资源及其利用(第1课时保护水资源)课件---2024-2025学年九年级化学人教版(2024)上册.pptx VIP
- 华中科技大学大学物理2014-2015期末考试.pdf VIP
- 果树栽培学完整课件各论苹果.ppt VIP
- 连锁酒店行业2025年扩张策略与风险规避报告.docx
- 国企三项制度改革-10、任期制契约化任期业绩目标责任书(总经理).pdf VIP
- 肝衰竭诊治指南(2024年版)解读.pptx
- 住宅物业管理服务规范DB3505T 17—2024.pdf VIP
- 2024辅警面试问题及答案 .pdf VIP
- 副局长意识形态工作总结.docx VIP
文档评论(0)