制作五接力机器人_第1页
制作五接力机器人_第2页
制作五接力机器人_第3页
制作五接力机器人_第4页
制作五接力机器人_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

制作五接力机器人

—■、任务描述

场地上有机器人跑道,跑道两侧有黑色轨迹,接力区为黑色区域。1号机器人将

接力棒(乒乓球)传递给2号机器人,2号机器人把接力棒(乒乓球)传递给3

号机器人,然后三号机器人再传递给四号机器人,四号机器人冲向终点区,在终

点区停止。场地示意图如图5—1所示:

起跑线,

图5—1场地示意图

二、硬件组装

'机器入需要在跑道内行走并要产生接力,那么机器人最好的行走路线应该在

跑道中间,而跑道两侧有黑色线,能够利用机器人的光电模块探测,保证机器人

在跑道中间行走,机器人需要产生接力,应该有一个传递(接力)装置,机器人

要识别到iA接力区并产生接力需要一个碰撞装置。接力机器人如图5-2所示。

三、任务难点分析

1.保证机否人在跑道中间行走

解决方案:能够在机器人的两侧4光电模块,利用光电模块能够对跑

道两侧的黑线进行检测保证机器:走,考虑到接力区为黑色区域,

因此光电模块应该是检测两条跑i羊能够提高完成任务的成功率。

2.机器人如何明白至।及援

解决方案:在进行接:个机器人的前方与后力2撞传感器,考虑到

有的接力区在跑道的弯道位置,因此接力机器人的前方与后方应分别装上两个碰

撞传感器,并将其并联且接触面尽量扩大(能够提高成功率)

3.如何产生接力

解决方案:当第一台机器人检测到接力信号时启匆传递装置将物体传递给第二台

机器人,第二台机器人的碰撞传感器检测到信号后延时一段时间后再启动行走。

4.机器人停止

解决方案:第四台机器人利用左右两侧的光电模块检测到全黑时说明机器人到达

了停止线,如今让机器人强行前进一段时间后停止,即可让机器人停止在停止区。

四、程序设计

1.输入/输出端口说明

单片机输入/输出对应程序中的位变量引脚功能

引脚

RB0pinO左侧电机正转

RB1pinl左侧电机反转

RB2pin2右侧电机正转

RB3pin3右侧电机反转

RB4pin4电机使能操纵端

RB6pin6前碰撞开关

RB7Pin7后碰撞开关

RC1pin9电机正转(传递装置)

RC2PinlO电机反转(传递装置)

RC4pinl2左侧光电传感器(寻

黑线)

RC5pin13左侧光电传感器(寻

黑线)

RC6pinl4右侧光电传感器(寻

黑线)

RC7pinl5右侧光电传感器(寻

黑线)

2.程序流程图

定义输入输出端口

3.程序清单(仅供参考丽FT-

rem乙2,3号接力机器人程序f

dirb()=%111()000()的停止loo亳秒14号端口为输出端口;5,6;7号

rem:阿,I弋刖,、“阿11

dirbl=%llll0000rem^8^9,10,P且端口为输出端口;12,13,14,

rem电灯就否

pinb0=0rem竹'/及?/术B0清0

pinbl=0--------------------阳〃J晟嘤量PINB1清。

pause100rem阳空芯弘件100毫秒---------

start1:[X=x+1J停止

rem传感器识别到黑色执

rem行左转

if(pin14=1)or(pin15=1)thenyzrem右侧光电模块有—个

rem传感器识别到黑色执

rem行右转

gotoqj

yz:

pinb()=%(X)()11001rem机器人调速右转

pause15

pinb0=0

pause1

gotoa1

zz:

pinb0=%00010110rem机器/调速左转

pause15

pinb0=0

pause1

gotoa1

qj:

pinb0=%00010101rem机器人调速前进

pause1

pinb()=()

pause2

gotoa1

a3:

ifpin6=0thena2rem机器人前碰撞产生信号执行A2

if(pin12=1)or(pin13=1)thenzzlrem左侧光电模块有一个

rem传感器识别到黑色执

rem行左转

if(pinl4=l)or(pin15=1)thenyzlrem右侧光电模块有一个

rem传感器识别到黑色执

rem行右转

gotoqj1

yzl:

pinb0=%00011001rem机调速右转

pause10

pinb0=0

pause1

gotoa3

zzl:

pinb0=%00010110rem机器人调速左转

pause10

pinb0=0

pause1

gotoa3

qjl:

pinb()=%(X)()l()l()lrem机器人调速前进

pause5

pinb0=0

pause1

gotoa3

a2:

pin9=lrem机器人启动传递装置并停止

pin10=0

pause1000

pin9=0

pin10=1

pause1000

pinbl=0

pinb0=0

pause1000()

end

4号接力机器人程序:(仅供参考,数据需要调整)

dirb0=%l1100000rem定义0,1,2,3,4号端口为输出端口;5,6,7号

rem端口为输入端口

dirbl=%l1110000rem定义8,9,10,11号端口为输出端口;12,13,14,

rem15号端口为输入端口

pinb0=0rem将专用变量PINB。清0

pinb1=0rem将专用变量PINB/清0

pause100rem机器人初始停止100毫秒

start1:

ifpin7=0thenstartrem机器人后碰撞产生信号执行S7ART

gotostart1

start:

pinb()=()rem机器人停止2秒

pause2000

al:

x=x+lmn变量X累加

ifpin6=0thena2rem机器人前碰撞产生佶号执行A2

ifx>400thena3rem变量X的值大于400执行N3

if(pinl4=l)and(pin15=1)and(pin12=1)and(pin13=1)thenst

rem左侧&右侧的光电模块

rem都识别到黑色执行ST

if(pin12=1)or(pin13=1)thenzzrem左侧光电模块有一个传感

rem器识别到黑色执行左转

if(pinl4=ljor(pin15=1)thenyzrem右侧光电模块有一个传感器

rem识别到黑色执行右转

goioqj

yz:

pinb0=%00011001rem机器人调速右转

pause15

pinb0=0

pause1

gotoa1

zz:

pinb()=%(X)()l()ll()rem机龄人调速左转

pause15

pinb0=0

pause1

gotoa1

qj-

pinb0=%00010101rem机调速前进

pause1

pinb0=0

pause2

gotoa1

a3:

ifpin6=0thena2rem机器人前碰撞产生信号执行A2

if(pin14=[)and(pin15=1)and(pin12=1)and(pin13=1)thenst

rem左侧与右侧的光电模块都识别到黑色执行ST

if(pin12=1)or(pin13=1)thenzzl

rem左侧光电模块有一个传感器识别到黑色执行左转

if(pin14=1)or(pin15=1)thenyz1

rem右侧光电

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论