机器人实训总结Word文档格式.docx

上传人:b****2 文档编号:14949753 上传时间:2022-10-26 格式:DOCX 页数:20 大小:20.02KB
下载 相关 举报
机器人实训总结Word文档格式.docx_第1页
第1页 / 共20页
机器人实训总结Word文档格式.docx_第2页
第2页 / 共20页
机器人实训总结Word文档格式.docx_第3页
第3页 / 共20页
机器人实训总结Word文档格式.docx_第4页
第4页 / 共20页
机器人实训总结Word文档格式.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

机器人实训总结Word文档格式.docx

《机器人实训总结Word文档格式.docx》由会员分享,可在线阅读,更多相关《机器人实训总结Word文档格式.docx(20页珍藏版)》请在冰豆网上搜索。

机器人实训总结Word文档格式.docx

uart.h>

intmain(void)

{

uart_Init();

printf("

TheLEDconnectedtoP1_0isblinking!

\n"

);

while

(1);

P1_0=1;

delay_nus(1500);

P1_0=0;

delay_nus(20000);

}

将程序录入小车并运行,旋转车轮旁的旋钮直至车轮停转便达到了调零的目的。

接下来,我们便要完成实训要求的第一个程序:

控制小车LED灯的亮灭。

通过参考指导书的已

有程序,我们比较顺利的完成了该任务,任务程序如下:

(在试验中需要注意LED灯的正

负极)

while

(1)

P1_1=1;

delay_nms(500);

P1_1=0;

任务二:

机器人触觉导航

该任务要求机器人碰到障碍物时,接触开关会有所察觉,通过编程让机器人避开障碍物。

在安装胡须时,需要注意胡须距传感立柱既不能太远也不能太近,太远会导致机器人碰到障碍物后反应过慢,太近则会使机器人在前方没有障碍物的情况下进行避障操作,影响小车正常行进。

胡须机器人避障程序如下:

intP1_4state(void)〃获取P1_4的状态,右胡须

return(P1&

0x10)?

1:

0;

intP2_3state(void)〃获取P2_3的状态,左胡须

return(P2&

0x08)?

voidForward(void)

delay_nus(1700);

delay_nus(1300);

delay_nms(20);

voidLeft_Turn(void)

inti;

for(i=1;

i<

=26;

i++)

voidRight_Turn(void)

delay_nms(20);

voidBackward(void)

=65;

ProgramRunning!

{if((P1_4state()==0)&

&

(P2_3state()==0))

Backward();

//向后

Left_Turn();

//向左

elseif(P1_4state()==0)

//向后

elseif(P2_3state()==0)

Right_Turn();

//向右

else

Forward();

//向前

任务三:

机器人红外线导航

任务二触须接触导航是依靠接触变形来探测物体,而本任务是依靠红外线探测机器人前进路线,然后确定何时有光线从被探测物体反射回来,通过检测反射回来的红外光就可以确定前方是否有物体。

在本次任务中,我们需要使用三极管9013,这是因为C51的10驱动能力较弱,这里我们加入三极管使其工作在开关状态。

三极管是一种控制元件,主要用来控制电流大小,简单地说,是用小电流去控制大电流。

红外导航避障程序如下:

intrins.h>

#defineLeftIRP1_2//左边红外接收连接到P1_2

#defineRightIRP3_5//右边红外接收连接到P3_5

#defineLeftLaunchP1_3//左边红外发射连接到P1_3

#defineRightLaunchP3_6//右边红外发射连接到P3_6voidIRLaunch(unsignedcharIR)

intcounter;

if(IR=='

L'

for(counter=0;

counter<

38;

counter++)

LeftLaunch=1;

_nop_();

_nop_();

LeftLaunch=0;

R'

counter++)//右边发射

RightLaunch=1;

RightLaunch=0;

voidForward(void)//向前行走子程序

voidLeft_Turn(void)//左转子程序

for(i=1;

voidRight_Turn(void)//右转子程序

delay_nus(1700);

voidBackward(void)//向后行走子程序

delay_nus(1300);

intirDetectLeft,irDetectRight;

printf("

IRLaunch('

//右边发射irDetectRight=RightIR;

//右边接收

//左边发射

irDetectLeft=LeftIR;

//左边接收

两边同时接收到红外线

if((irDetectLeft==0)&

(irDetectRight==0))//

elseif(irDetectLeft==0)//只有左边接收到红外线

elseif(irDetectRight==0)//只有右边接收到红外线{

任务四:

尾随小车

该任务的设计线路与任务三相同,故完成较为简单,试验程序如下:

#include<

#defineLeftIRP1_2//

#defineRightIRP3_5//

#defineLeftLaunchP1_3//

#defineRightLaunchP3_6//

左边红外接收连接到P1_2

右边红外接收连接到P3_5

左边红外发射连接到P1_3

右边红外发射连接到P3_6

voidIRLaunch(unsignedcharIR)

)//左边发射for(counter=0;

counter++){

_nop_()

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 经济学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1