走迷宫机器人

走迷宫机器人

ID:37722425

大小:111.00 KB

页数:7页

时间:2019-05-29

走迷宫机器人_第1页
走迷宫机器人_第2页
走迷宫机器人_第3页
走迷宫机器人_第4页
走迷宫机器人_第5页
资源描述:

《走迷宫机器人》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、走迷宫机器人一、实训目的1、进一步掌握直流减速电机的运动控制;2、掌握光电传感器的应用;3、熟悉光电传感器的工作原理;4、熟悉机器人调试方法;5、掌握C语言条件判断与分支语句的应用;6、掌握走迷宫的基本法则:左手法则、右手法则。二、实训设备1、机器小车一台2、PC机一台3、光电传感器(TCRT5000)五个4、L298驱动板一块5、电阻若干6、电位器103五个7、LM324两个8、单片机最小系统板一块9、电源三、实训原理及内容1、光电传感器工作原理:能够分别黑线和白线,在白线上输出低电平、黑线上输出

2、高电平。2、路迹识别原理:通过判断左右两边和前面的光电传感器(TCRT5000),来识别路径,然后通过右手法则来实现走迷宫。3、实训内容:本次实训的任务是要求机器人能够完成走线性迷宫,通过判断前面和两边的传感器的状态来识别路径,如果前面三个传感器都输入为高电平先右转90度,在右转90度的过程中再判断中间三个传感器的状态变化,来判断是否转对了,如果转完90度后,前面三个传感器全部输入高电平,则再左转180度,这里用右手法则实现走线性迷宫。4、传感器(TCRT5000)应用原理图1、程序流程图一、实训步

3、骤1、制作光电传感器模块电路;2、将制作好的光电传感器模块电路在线性迷宫的调试;3、检查L298驱动板与电机、单片机的连接;4、连接光电传感器模块与单片机;5、烧写走迷宫机器人的软件HEX文件到单片机中;1、上电执行,观察现象。若机器人能够走出线性迷宫,则完成实训。否则要再次调软件和硬件。一、实训参考源代码#include//宏定义机器人运动#defineforward0x2b#defineback0x35#defineleft0x23#defineright0x29//定义传感器

4、的位sbitlefts=P1^0;sbitins=P1^1;sbitrights=P1^2;sbitls=P1^3;sbitrs=P1^4;//函数的声明voidrightzhuan(void);voidleftzhuan(void);voiddelay(void);voiddelay1(void);voiddelay(void)//延时函数{unsignedchara,b,c;for(c=123;c>0;c--)for(b=116;b>0;b--)for(a=9;a>0;a--);}voiddel

5、ay1(void)//延时函数{unsignedchara,b,c;for(c=23;c>0;c--)for(b=152;b>0;b--)for(a=70;a>0;a--);}voidrightzhuan()//机器人右转函数{inti;while(1){if((lefts==0)&&(ins==0)&&(rights==0)){P2=forward;if(ls==1)P2=right;elseif(rs==1)P2=left;}elseif(((lefts==1)&&(ins==0)&&(righ

6、ts==0))){P2=right;if(ls==1)P2=right;elseif(rs==1)P2=left;}elseif(((lefts==0)&&(ins==0)&&(rights==1))){P2=left;if(ls==1)P2=right;elseif(rs==1)P2=left;}elseif((lefts==1)&&(ins==1)&&(rights==1)){for(i=0;i<1;i++){P2=back;delay();P2=right;delay1();if((lefts

7、==0)

8、

9、(ins==0)

10、

11、(rights==1))return;if(ls==1)P2=right;elseif(rs==1)P2=left;}}}}voidleftzhuan()//机器人左传函数{inti;while(1){if((lefts==0)&&(ins==0)&&(rights==0)){P2=forward;if(ls==1)P2=right;elseif(rs==1)P2=left;}elseif(((lefts==1)&&(ins==0)&&(rights==0))){P2

12、=right;if(ls==1)P2=right;elseif(rs==1)P2=left;}elseif(((lefts==0)&&(ins==0)&&(rights==1))){P2=left;if(ls==1)P2=right;elseif(rs==1)P2=left;}elseif((lefts==1)&&(ins==1)&&(rights==1)){for(i=0;i<1;i++){P2=back;delay();P2=left;delay1();if((l

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。