文档详情

制作六 足球机器人

m****
实名认证
店铺
DOCX
194.91KB
约7页
文档ID:387989278
制作六 足球机器人_第1页
1/7

制作六 足球机器人一、任务描述 每个队各自管理两台自主机器人在“足球”场地内“踢球”以进球多少确 定最终成绩场地示意图如图 6-1 所示240 cmwalls 18 cm high50 cm160 cme(*in F曲Bl v Jrf ■、 C rw 图6 — 1场地示意图场地说明: 外框:整个场地围墙高18cm内壁为消光黑色球门:球门位于场地底线的中间,宽60cm,深15cm,门前有一条宽0.8cm 的红色球门线内壁为消光灰色底面:底面是一张黑白渐变纸,大小为160cm X 240cm比赛场地应设在平 整的地板上注意保持底面的水平度和平直度球门区:从球门线两端向中场延伸20cm的矩形区域 点球位:两个半场内距球门线中点垂直距离60cm处 开球点:球场中央点坠球点:经过点球位,与中场线平行,形成2条线;再将球场纵向 4等份, 形成3条线这样,包括中场线在内的6条线所形成的9个交点即为坠球点(见 上图)在真实的场地中坠球点没有明显标志)球:比赛将使用红外线球,外径为W90mm,重130g如图6-2所示图 6-2 比赛用球一、硬件组装 机器人在场地中需要寻找足球,要用到光检测模块,考虑到准确定位和寻找 范围,在足球机器人上加了 3 个光检测模块;另足球比赛中球是任意滚动的,所 以在机器人的前方和后方分别装了 3 个光检测模块;准确定位足球后需要判断场 地方向,机器人上安装了一个模拟光电模块(可以识别渐变色)。

具体的安装方 法如图 6-3所示图 6- 3 足球机器人具体的安装方法 二、程序设计1.输入/输出端口说明单片机输入/输出 引脚对应程序中的位变量引脚功能RB0pinO左侧电机正转RB1pinl左侧电机反转RB2pin2右侧电机正转RB3pin3右侧电机反转RB4pin4电机使能控制端RC2PinlO前方中间光电接收模 块RC3pinll后方中间光电接受模 块RC4pin12前方右侧光电接收模 块RC5pinl3前方左侧光电接收模 块RC6pinl4后方右侧光电接收模 块RC7pin15后方左侧光电接收模 块说明:PIN10 前方中间光电接收模块,为 0 表示找到足球,为 1 表示没找到足球PIN11 后方中间光电接收模块,为 0 表示找到足球,为 1 表示没找到足球PIN12 前方右侧光电接收模块,为 0 表示找到足球,为 1 表示没找到足球PIN13 前方左侧光电接收模块,为 0 表示找到足球,为 1 表示没找到足球PIN14 后方右侧光电接收模块,为 0 表示找到足球,为 1 表示没找到足球PIN15 后方左侧光电接收模块,为 0 表示找到足球,为 1 表示没找到足球ADZH(0) 地面灰度检测1.程序流程图3.程序清单(仅供参考,数据需要调整)dirb0=%11100000rem 定义0, 1, 2, 3, 4 号端口为输出端口;rem 5, 6, 7 号端口为输入端口dirb1=%11111100rem定义8,9号端口为输出端口;rem 10, 11, 12, 13, 14, 15号端口为输入端口pinb0=0pinb1=0 pause 300rem将专用变量PINB0清0rem将专用变量PINB1清0rem机器人初始停止300毫秒pinb0=%00010101 pause 1500 start:rem前进1500毫秒pinb0=0pause 1 rem 停止 1 毫秒test_ball:a二adzh(O) rem读取地面颜色将其转换成数值送给变量if pinl0=0 then a5 rem前方中间光电接收管产生信号执行5if pinll=0 then a6 rem后方中间光电接收管产生信号执行6if (pin13=1) and (pin12=0) then yz rem前方右侧光电接收管有信号, rem左侧没产生信号,执行右转 if (pin13=0) and (pin12=1) then zz rem前方左侧光电接收管有信号, rem右侧没产生信号,执行左转 if (pinl4=l) and (pin15=0) then yz rem后方左侧光电接收管有信 号,rem右侧没产生信号,执行右转 if (pin14=0) and (pin15=1) then zz rem后方右侧光电接收管有信 号,rem左侧没产生信号,执行左转 goto yz rem执行右转a5:pinb0=%00010101pause 200 rem 前进 200 毫秒 a1=adzh(0) rem读取地面颜色将其转换成数值送给变量1pinb0=0pause 200 rem 停止 200 毫秒 if a>=a1 then qj rem变量A大于等于A1执行前进goto zz1 rem执行左转a6:pinb0=%00011010pause 200 rem 后退 200 毫秒a1=adzh(0) rem读取地面颜色将其转换成数值送给变量1pinb0=0pause 200 rem 停止 200 毫秒if a>=a1 then qjx rem变量A大于等于A1执行后退qjx:zz1:yz:qj:qj4:qj5:zz:goto zz1pinb0=%00011010pause 600goto bzrem 执行左转rem 后退600 毫秒pinb0=%00010101pause 50 pinb0=%00010110 rem 前进 pause 300for b2=0 to 20 pinb0=%00011001 pause 30pinb0=%00010101 rem 机器人右转画弧 pause 10nextgoto startif pin10=0 then a5if pin11=0 then a6 pinb0=%00011001pause 20if pin12=0 then qj4 if pin15=0 then qj5goto yzpinb0=%00010101pause 600goto bzpinb0=%00010101pause 20goto startrem前方中间光电接收管产生信号执行5 rem后方中间光电接收管产生信号执行6rem右转rem前方右侧光电接收管有信号执行J4rem后方左侧光电接收管有信号执行J5pinb0=%00011010pause 20 rem 后退goto startif pin10=0 then a5if pin11=0 then a6 pinb0=%00010110pause 20if pin13=0 then qj4if pin14=0 then qj5rem前方中间光电接收管产生信号执行5 rem后方中间光电接收管产生信号执行6rem左转rem前方左侧光电接收管有信号执行J4rem 后方右侧光电接收管有信号执行QJ5goto zzbz:a=adzh(0)if (pin12=0) or (pin13=0) or (pin14=0) or (pin15=0) or (pin10=0) or (pin11=0) then start rem 所有的光电接收管只要有一个有信号rem 执行 STARTpinb0=%00011001pause 30pinb0=%00010101 rem 右转前进pause 10goto bzend。

下载提示
相似文档
正为您匹配相似的精品文档