苏科版初中信息技术选修《机器人走迷宫》word教案.docVIP

苏科版初中信息技术选修《机器人走迷宫》word教案.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
苏科版初中信息技术选修《机器人走迷宫》word教案.doc

走迷宫机器人 实训目的 进一步掌握直流减速电机的运动控制; 掌握光电传感器的应用; 熟悉光电传感器的工作原理; 熟悉机器人调试方法; 掌握C语言条件判断与分支语句的应用; 掌握走迷宫的基本法则:左手法则、右手法则。 实训设备 机器小车一台 PC机一台 光电传感器(TCRT5000)五个 L298驱动板一块 电阻若干 电位器103五个 LM324两个 单片机最小系统板一块 电源 实训原理及内容 光电传感器工作原理:能够分别黑线和白线,在白线上输出低电平、黑线上输出高电平。 路迹识别原理:通过判断左右两边和前面的光电传感器(TCRT5000),来识别路径,然后通过右手法则来实现走迷宫。 实训内容:本次实训的任务是要求机器人能够完成走线性迷宫,通过判断前面和两边的传感器的状态来识别路径,如果前面三个传感器都输入为高电平先右转90度,在右转90度的过程中再判断中间三个传感器的状态变化,来判断是否转对了,如果转完90度后,前面三个传感器全部输入高电平,则再左转180度,这里用右手法则实现走线性迷宫。 传感器(TCRT5000)应用原理图 程序流程图 实训步骤 制作光电传感器模块电路; 将制作好的光电传感器模块电路在线性迷宫的调试; 检查L298驱动板与电机、单片机的连接; 连接光电传感器模块与单片机; 烧写走迷宫机器人的软件HEX文件到单片机中; 上电执行,观察现象。若机器人能够走出线性迷宫,则完成实训。否则要再次调软件和硬件。 实训参考源代码 #includereg52.h //宏定义机器人运动 #define forward 0x2b #define back 0x35 #define left 0x23 #define right 0x29 //定义传感器的位 sbit lefts=P1^0; sbit ins=P1^1; sbit rights=P1^2; sbit ls=P1^3; sbit rs=P1^4; //函数的声明 void rightzhuan(void); void leftzhuan(void); void delay(void); void delay1(void); void delay(void) //延时函数 { unsigned char a,b,c; for(c=123;c0;c--) for(b=116;b0;b--) for(a=9;a0;a--); } void delay1(void) //延时函数 { unsigned char a,b,c; for(c=23;c0;c--) for(b=152;b0;b--) for(a=70;a0;a--); } void rightzhuan() //机器人右转函数 { int i; while(1) { if((lefts==0) (ins==0) (rights==0)) { P2=forward; if(ls==1) P2=right; else if(rs==1) P2=left; } else if(((lefts==1) (ins ==0) (rights==0))) { P2=right; if(ls==1) P2=right; else if(rs==1) P2=left; } else if(((lefts==0) (ins ==0 ) (rights==1))) { P2=left; if(ls==1) P2=right; else if(rs==1) P2=left; } else if((lefts==1) (ins==1) (rights==1)) { for(i=0;i1;i++) { P2=back; delay(); P2=right; delay1(); if((lefts==0) ||(ins==0) || (rights==1)) return; if(ls==1) P2=right; else if(rs==1) P2=left; } } } } void leftzhuan() //机器人左传函数 { int i; while(1) { if((lefts==0) (ins

文档评论(0)

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

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

1亿VIP精品文档

相关文档