- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
- 苏教版科学五下《什么叫机械》教学设计.doc
- 苏教版科学五下《什么叫机械》教案设计.doc
- 苏教版科学五下《什么叫机械》表格式备课教案.doc
- 苏教版科学五下《建桥梁》教学设计.doc
- 苏教版科学五下《形状与结构》全单元教案.doc
- 苏教版科学五下《怎样移动重物》表格教案(第二课时).doc
- 苏教版科学五下《我是怎样出生的》表格式教案.doc
- 苏教版科学五下《搭支架》教案设计.doc
- 苏教版科学五下《日益减少的矿物资源》AB案教案.doc
- 苏教版科学五下《日益减少的矿物资源》教案.doc
- 苏科版初中信息技术选修《灭火机器人》word教案.doc
- 苏科版初中信息技术选修《面向对象程序设计》(第2课时)word教案.doc
- 苏科版初中物理八上2.2《汽化和液化》WORD教案7.doc
- 苏科版初中物理八下10.1《压强》WORD教案3.doc
- 苏科版初中物理八下10.1《压强》WORD教案4.doc
- 苏科版初中物理八下6.1《物体的质量》WORD教案5.doc
- 苏科版初中物理八下6.3《物质的密度》WORD教案2.doc
- 苏科版初中物理八下6.3《物质的密度》WORD教案3.doc
- 苏科版初中物理第十一章《简单机械和功》单元教案1.doc
- 苏科版数学九上1.3《二次根式的加减》word学案.doc
文档评论(0)