我又一次走进实验室,这里还是像往常一样乱,就像我第一次看到一样。我第一次看到实验室是在高一,那时的实验室人很多,正在不知在研究什么,有人做在地上,注视着机器人的一举一动,有人在高声争论着什么。这氛围一下子吸引了我。我很想进实验室,我当时这么想。我永远也不会忘记被录取时我有多兴奋。对着电脑傻笑了半天。
走进实验室,有一张桌子,我就是在这里锯板、打孔、焊接传感器、拼装、编程……许多时间,放学一直留到很晚,一边做机器人,一边说笑,一起度过了很多快乐的时光,因为我们为了同一个梦想而努力。所以,虽然幸苦,但是享受。
桌子上洒着数不胜数的螺丝和小零件。还有几块早已不用的板,是的!这就是第一次比赛用的板,第一次比赛时我和一个学长搭档去的。那块伤痕累累板已不知被我打磨了多少时间,有一次在锯板的时候不小心锯掉了一个角,我心痛了很多时候。在市赛中,我的机器人是唯一一台只有两只轮子的,差点就败北了,最后还是以第一名的成绩出了线。为了加大动力,我不得不锯它,以便装四个轮子。
四个轮子的动力还是不能把我们推出省赛。我们无助,茫然的走出了赛场,他请我喝了一杯奶茶。休息时,我说下次再努力,可是我的搭档却说他没有机会了。我心头一震,是的,他再也没有机会了,他高二下了,没有精力在来对付机器人了。以后再也不能像以前一样一起搭档、一起嬉闹、一起工作、一起讨论机器人……
之后他真的不来了,实验室还是那么乱,只是高二没有在来过。
现在在实验室的是几个新来的高一。我知道,我已经高二下了,我也要退役了,就像上届高二一样,以后我再也不是机器人实验室的一员了。我记念那块和我一起战斗过的主板,记念那把怎么关都关不住的胶枪,记念实验室中那粒最好的传感器,记念所有实验室的成员。
虽然我早已知要离开,但悲伤还是不断,因为这里有我两年的点点滴滴,因为这里有我汗水和努力,因为这里有太多的回忆,
因为,我爱着实验室爱得深沉。
2008年5月31日晚 记
这是我第一次比赛的程序:
#include "HardwareInfo.c"
#include <SetTenthS.h>
#include <GetPhoto.h>
#include <SetMotor.h>
#include <GetCompassB.h>
#include <GetCompoI.h>
#include <GetTouch.h>
int main(void)
{//括号------------1
int f,d,k,tz,ty,z;
while(1)
{//括号------------2
k=js();
f=GetCompoI( _COMPOUNDEYE_f_,8);//复眼读到球的编号
d=GetCompoI( _COMPOUNDEYE_f_ ,9);//最大值
tz=GetTouch( _TOUCH_左边_)+GetTouch( _TOUCH_左边_);//左边的碰撞
ty=GetTouch( _TOUCH_右边_)+GetTouch( _TOUCH_右边_);//左边的碰撞
z=GetCompassB( _COMPASS_z_);//指南针
if(tz+ty!=0&&(z>=270||z<=90))//机器人对着要攻打的门 且撞了墙
{//----------3
if(tz!=0)//左边碰壁了
{
SetMotor( _MOTOR_l_,0,100);//左马达
SetMotor( _MOTOR_r_,2,100);//右马达 向右转
continue; //转下一次循环
}
if(ty!=0)//右边碰壁了
{
SetMotor( _MOTOR_l_,2,100);//左马达
SetMotor( _MOTOR_r_,0,100);//右马达 向左转
continue; //转下一次循环
}
}//----------3
else
{//括号------------5
if(d<30)//当读不到球的时候
{
SetMotor( _MOTOR_l_,0 ,100);
SetMotor( _MOTOR_r_,2 ,100);//向 右 转,速度100 也就是打转
}
if(d>=30)//读到球了
{//括号----------4
if(f==k)//球在前面
{
SetMotor( _MOTOR_l_,0 ,100);
SetMotor( _MOTOR_r_,0 ,100);//向前冲
}
else
{//括号----------6
if(f==k+1)//球在右边一点点,向 右 微转
{
SetMotor( _MOTOR_l_,怎样转,这里是微调数据);//左马达
SetMotor( _MOTOR_r_,怎样转,这里是微调数据);//右马达
}
if(f==k-1)//球在左边一点点,向 右 微转
{
SetMotor( _MOTOR_l_,怎样转,这里是微调数据);//左马达
SetMotor( _MOTOR_r_,怎样转,这里是微调数据);//右马达
}
if(f>k+1)//球在右边
{
SetMotor( _MOTOR_l_,怎样转,这里是数据);//左马达
SetMotor( _MOTOR_r_,怎样转,这里是数据);//右马达
}
if(f<k-1)//球在左边
{
SetMotor( _MOTOR_l_,怎样转,这里是数据);//左马达
SetMotor( _MOTOR_r_,怎样转,这里是数据);//右马达
}
}//括号----------6
}//括号-----------4
}//括号------------5
}//括号------------2
}//括号--------------1
//----主程序到此------
int js()//这是一个计算的程序
{
int f,z,a,p;
f=GetCompoI( _COMPOUNDEYE_f_,8);//复眼读到球的编号
z=GetCompassB( _COMPASS_z_);//指南针
a=GetCompoI( _COMPOUNDEYE_f_ ,9);//最大值
p=jisuan();//获取距离标准
if((z>=270||z<=90)||a<30)//面向敌人的球门 或 没读到球的时候
{
return 4;//用复眼4号去判断
}
if(z<270&&z>90)//面对自己的球门时
{//括号------------7
if(a<p)//如果距离大于 距离标准 时,冲
{
return 4;//用复眼4号去判断
}
else
{//括号-----------8
if(f>4)//球在机器人的右边
{
return 6;//用复眼6号去判断
}
if(f<4)//球在机器人的左边
{
return 2;//用复眼2号去判断
}
if(f==4)//球在机器人的前面 就判断在左半边 还是在右半边
{//括号----------9
if(z>=180)//在右
{
return 6;//用复眼6号去判断
}
if(z<180)
{
return 2;//用复眼2号去判断
}
}//括号----------9
}//括号-----------8
}//括号------------7
}
int jisuan()
{
int p;
if(GetCompoI( _COMPOUNDEYE_f_ ,9)=<200)
{
return 210;
p=1;
}
if(GetCompoI( _COMPOUNDEYE_f_ ,9)>=210)
{
return 200;
p=2;
}
if(GetCompoI( _COMPOUNDEYE_f_ ,9)>200&&GetCompoI( _COMPOUNDEYE_f_ ,9)<210)
{
if(p==2)
{
return 200;
}
if(p==1)
{
return 210;
}
}
}
这是我在实验室的最后一个程序以此纪念在实验室的日子(无技术含量,无学术价值,无版权,仅作留念)
#include "HardwareInfo.c"
#include <GetTouch.h>
#include <GetUltrasound.h>
#include <GetCompoI.h>
#include <GetCompassB.h>
#include <SetMotor.h>
#include <SetLCD3Char.h>
#include <SetLCDBack.h>
#include <GetSysTime.h>
#include <SetSysTime.h>
#include <SetTenthS.h>
int main(void)
{
int f,d,z,j,dp,dm,p,l,r,sl,sr,k,x,a,cz,cy,t;
while(1)
{
if(a-z>4||z-a>=4)
{
a=z;
SetSysTime(0);
}
else
{
if(GetSysTime()>90)
{
l=(z>=0&&z<=180)?2:0;
r=(l==2)?0:2;
SetMotor( _MOTOR_l_,l,100);
SetMotor( _MOTOR_r_,r,100);
SetLCDBack(0);
SetTenthS(5);
SetSysTime(0);
}
}
f=GetCompoI( _COMPOUNDEYE_f_,8);//复眼读到球的编号
d=GetCompoI( _COMPOUNDEYE_f_ ,9);//最大值
z=GetCompassB( _COMPASS_z_);//指南针
cz=GetUltrasound( _ULTRASOUND_z_);
cy=GetUltrasound( _ULTRASOUND_y_);
SetLCDBack(1);
SetLCD3Char(1,t);
dp=(f<7)?GetCompoI( _COMPOUNDEYE_f_,(f+1)):0;
dm=(f>1)?GetCompoI( _COMPOUNDEYE_f_,(f-1)):0;
j=(d>10)?(((dm>dp)?(f+f-1):((dp>dm)?(f+f):0))-1):0;
p=(j>7)?(13-j):((j<6)?j:0);
k=((z<=90||z>=270)||d<x)?4:((f>4)?6:((f<4)?2:((z>180)?6:2)));//((z<=90||z>=270)||d<x)?4:((k==4)?((cz>cy)?6:2):k);
x=(k==4)?130:50;
//l=(k==4)?((t==0)?((j<6)?2:0):((cz>cy&&z>0&&z<90)?1:0)):((f>=k)?0:1);
//r=(k==4)?((t==0)?((j>7)?2:0):((cz<cy&&z>270&&z<360)?1:0)):((f<=k)?0:1);
l=(k==4)?((j<6)?2:0):((f>=k)?0:1);
r=(k==4)?((j>7)?2:0):((f<=k)?0:1);
sl=(k==4)?((p>0)?(110-p*10):((j<6)?95:100)):100;
sr=(k==4)?((p>0)?(110-p*10):((j>7)?95:100)):100;
SetMotor( _MOTOR_l_,l,sl);
SetMotor( _MOTOR_r_,r,sr);
}
}