输入输出接口与红外线导航

上传人:mg****85 文档编号:49837775 上传时间:2018-08-03 格式:PPT 页数:18 大小:405.50KB
返回 下载 相关 举报
输入输出接口与红外线导航_第1页
第1页 / 共18页
输入输出接口与红外线导航_第2页
第2页 / 共18页
输入输出接口与红外线导航_第3页
第3页 / 共18页
输入输出接口与红外线导航_第4页
第4页 / 共18页
输入输出接口与红外线导航_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《输入输出接口与红外线导航》由会员分享,可在线阅读,更多相关《输入输出接口与红外线导航(18页珍藏版)》请在金锄头文库上搜索。

1、Slide 1深圳市德普施科技有限公司 SHENZHEN DEPUSH TECHLONOGY CO.,LTDC51输入输出接口与红外线导航第五章DEPUSHC51输入输出接口与红外线导航Slide 2本讲摘要1.搭建并测试IR发射和探测器对2.探测和避开障碍物3.高性能IR导航4.边沿探测DEPUSHC51输入输出接口与红外线导航Slide 3使用红外线发射和接收器件探测道路非接触式导航,探测距离更远输出:红外LED,38.5kHz左右输入:红外接收器DEPUSHC51输入输出接口与红外线导航Slide 4搭建并测试IR发射和探测器对左侧和右侧IR组原理图搭建电路三极管工作在开关状态三极管管脚

2、图DEPUSHC51输入输出接口与红外线导航Slide 5搭建并测试IR发射和探测器对测试电路让每个IR LED探测器组工作的关键是发送1毫秒、频率为38.5kHz的红外信号, 然后立刻将IR探测器的输出存储到一个变量中。 for(counter=0;counter#includeint main(void)int counter;uart_Init();printf(“Program Running!n“);int P1_2state(void)return (P1int irDetectRight;irDetectRight=P3_5state();printf(“irDetectRigh

3、t=%dn“,irDetectRight);int P3_5state(void)return (P3搭建并测试IR发射和探测器对例程:TestLeftIrPair.cwhile(1)for(counter=0;counter#include#include#define LeftIR P1_5 /左边红外接收连接到P15#define RightIR P3_6 /右边红外接收连接到P36#define LeftLaunch P1_4 /左边红外发射连接到P14#define RightLaunch P3_3 /右边红外发射连接到P33int IRLaunch(unsigned char IR

4、) /行走子函数int main(void)bit irDetectLeft,irDetectRight; while(1)IRLaunch(R); irDetectRight = RightIR;/右边接收IRLaunch(L); irDetectLeft = LeftIR;/左边接收 /行为控制,与胡须类似DEPUSHC51输入输出接口与红外线导航Slide 13高性能的IR导航胡须传感器式导航策略:if(irDetectLeft=0)Left_Turn();Left_Turn(); else if(irDetectLeft=0)/只有左边接收到红外线 Backward();Right_T

5、urn(); else if(irDetectRight=0)/只有右边接收到红外线 Backward();Left_Turn(); else Forward();缺点:动作比较迟钝改进:在每个脉冲之间采样DEPUSHC51输入输出接口与红外线导航Slide 14高性能的IR导航例程:FastIrRoaming.c int main(void)doif(irDetectLeft=0)pulseRight=1700;else if(irDetectLeft=0)pulseRight=1700;else if(irDetectLeft=1)pulseRight=1300; else /前进puls

6、eLeft=1700;pulseRight=1300;P1_1=1;delay_nus(pulseLeft); P1_1=0;P1_0=1;delay_nus(pulseRight);P1_0=0;delay_nms(20);while(1);if.else语句设置脉冲持续 时间并非调用导航程序DEPUSHC51输入输出接口与红外线导航Slide 15高性能的IR导航do.while语句当型循环控制语句:while(表达式) 语句;直到型循环控制语句:dowhiledo 语句 while(表达式);语句通常为复合语句,用“ ”括起来,称为循环体。特点:先执行后判断,即循环体至少被执行一次。DE

7、PUSHC51输入输出接口与红外线导航Slide 16边沿俯视探测机器人没有检测到障碍物(irDetectLeft、irDetectRight=1)表示什么?1、畅通无阻2、边沿俯视的探测器模拟桌面边沿DEPUSHC51输入输出接口与红外线导航Slide 17边沿俯视探测例程:AvoidTableEdge.c与FastIrRoaming.c不同之外:1. irDetectLeft或irDetectRight为0时,表明在桌面上;为1时,表明靠近边沿;2.调整两次检测之间的脉冲响应个数,有利于导航。if(irDetectLeft=0)pulseLeft=1700;pulseRight=1300;

8、else if(irDetectLeft=1)pulseLeft=1300;pulseRight=1300;else if(irDetectLeft=0)pulseLeft=1700;pulseRight=1700; else /后退pulseCount=15;pulseLeft=1300; pulseRight=1700;for(i=0;ipulseCount;i+)P1_1=1;delay_nus(pulseLeft);P1_1=0;P1_0=1;delay_nus(pulseRight);P1_0=0;delay_nms(20);DEPUSHC51输入输出接口与红外线导航Slide 18本章小结红外传感器作为输入反馈与单片机的编程实现空函数_nop_()的使用单片机机器周期的计算 C语言#define指令的使用 dowhile循环控制语句的使用高性能红外线导航及边沿探测的实现DEPUSHC51输入输出接口与红外线导航

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号