#include "RobotLib.h"
unsigned int gi_1=0; /*球相對于機器人的方位標記*/
unsigned int eye_ch_all=0; /*復眼通道*/
unsigned int gi_2=0; /*撥球時間計數(shù)*/
unsigned int gi_3=0; /*防后退卡死計數(shù)1*/
unsigned int gi_4=0; /*防后退卡死計數(shù)2*/
unsigned int gi_5=0; /*防后退卡死計數(shù)3*/
unsigned int gi_6=0; /*防后退卡死計數(shù)4*/
unsigned int ball_light_d=0; /*球的遠近比較域值*/ /*正前或正后方火焰值與之比較的值:得出球的遠近:是否帶上球或碰上球*/
unsigned int backTime_cnt=0; /**后退時計數(shù)比較的域值(相當于時間控制)**/
unsigned int BoQiuTime_cnt=0; /*撥球計數(shù)(時間控制)參數(shù)*/
unsigned int ball_light_jb=0;/*撥球亮度要求*/
unsigned int psdf=0; /*前紅外測距*/
unsigned int psdb=0; /*后紅外測距*/
unsigned int psdl=0; /*左紅外測距*/
unsigned int psdr=0; /*右紅外測距*/
unsigned int back_psd_distance=0; /*后紅外測距B*/
unsigned int ball_distance=0; /*球的遠近*/ /*正前或正后方火焰值*/
int left_right_psddifferrence=0; /*左右紅外測距之差值*/
unsigned int right_psd=0; /*右側(cè)紅外測距*/
unsigned int left_psd=0; /*左側(cè)紅外測距*/
unsigned int front_eye_2ch,front_eye_4ch,back_eye_9ch,back_eye_11ch;/*前偏左、前偏右、反偏左、反偏右復眼單路*/
unsigned int compass_1=0; /*指南針*/
unsigned int eye_1=0; /*復眼亮度最亮值*/
unsigned int psd_ff=0; /*前紅外測距域值*/
unsigned int psd_bb=0; /*后紅外測距域值*/
float time_1=0.0;/*防烏龍轉(zhuǎn)身時間控制*/
float power_speed=0;
unsigned int ball=0;/*有沒有球*/
unsigned int frontball=400;/*前撥球單敏探頭亮度要求*/
unsigned int backball=400;/*后撥球單敏探頭亮度要求*/
unsigned int psd_back_a;
unsigned int psd_back_b;
unsigned int psd_front_a;
unsigned int psd_front_b;
unsigned int psd_back_cum;
unsigned int eye0,eye1,eye2;
unsigned int eye_mnv;//復眼在球處于中近距離閥值 450
int my_EyeChMax()
{
int ch=0;
ch=EyeChMax();
return ch;
}
int time=0;
int key=0;
float fT;
void Run(int sl,int sr) //可設置功率,范圍-100--100 可通過左下和右下按鈕控制電機的停、轉(zhuǎn)
{
SetMoto(0,sl*power_speed);
SetMoto(1,sr*power_speed);
SetMoto(2,-(sl+sr)*power_speed/2);
}
void RunB(int sl,int sr) //可設置功率,范圍-100--100 可通過左下和右下按鈕控制電機的停、轉(zhuǎn)
{
SetMoto(1,-sl*power_speed);
SetMoto(0,-sr*power_speed);
SetMoto(2,(sl+sr)*power_speed/2);
}
#define A_GG_FL 0//AI(0)
#define A_GG_FR 1//AI(1)
#define A_GG_BL 2//AI(2)
#define A_GG_BR 3//AI(3)
#define WHITE 0
#define GREEN 1
#define BLACK 2
typedef struct{
int a;
int b;
}GC;
GC gc[2];
int gs;
int g_v[4];
int g_fl_l;
int g_fl_h;
int g_fr_l;
int g_fr_h;
int g_bl_l;
int g_bl_h;
int g_br_l;
int g_br_h;
int a[10];
void GetGG(void)
{
int i;
if(AI(A_GG_FL)<g_fl_l)g_v[0]=WHITE;
else if(AI(A_GG_FL)<g_fl_h)g_v[0]=GREEN;
else g_v[0]=BLACK;