sasasa

Dependencies:   HMC6352 PID eeprom mbed

Fork of ver1_2_2_1 by ryo seki

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.h Source File

main.h

00001 
00002 
00003 #define RATE    0.052
00004 #define Long    1.0
00005 #define ENTER   0
00006 #define EXIT    1
00007 #define MOT_NUM 4
00008 #define MOTDRIVER_WAIT  300 //ms
00009 #define BAUD_RATE       115200
00010 #define ON      1
00011 #define OFF     0
00012 
00013 #define MOT1    1.0             //60  3.0 0.0 0.5 1.0
00014 #define MOT2    1.0             //120 0.0 3.0 1.0 0.0
00015 #define MOT3    1.0            //240 0.6 0.0 0.0 3.0
00016 #define MOT4    1.0             //300 0.0 0.8 3.0 0.0
00017 
00018 #define OUT_LIMIT   30.0
00019 #define MAX_POW     100
00020 #define MIN_POW     -100
00021 
00022 #define SHINPUKU 40
00023 
00024 #define FULL 0
00025 
00026 #define PI 3.14159265358979
00027 
00028 
00029 
00030 
00031 DigitalOut led1(LED1); 
00032 DigitalOut led2(LED2);
00033 DigitalOut led3(LED3);
00034 DigitalOut led4(LED4);
00035 HMC6352 compass(p9, p10);
00036 Serial driver(p28, p27); // tx, rx 
00037 Serial pc(USBTX, USBRX); // tx, rx 
00038 DigitalIn StartButton(p21);
00039 DigitalIn CalibEnterButton(p22);
00040 DigitalIn CalibExitButton(p23);
00041 DigitalIn EEPROMButton(p24);
00042 PID pid(0.35, 0.0, 0.012, RATE);      //30.0 0.35 1.0 0.012 30.0    0.42 1.0 0.013 
00043 Ticker pidUpdata;
00044 Ticker IR;
00045 Ticker ultrasonic;
00046 Timer timer1;
00047 Timer timer2;
00048 Timer timer_ir;     /* 赤外線用タイマー */
00049 
00050 
00051 int speed[MOT_NUM] = {0};
00052  
00053 static float lastData = 0.0;
00054 static float inputPID = 180.0;
00055 static float standard;
00056 static float compassPID = 0.0;
00057 
00058 extern string StringFIN;
00059 
00060 extern int direction;
00061 extern int Distance;
00062 extern int IR_found;
00063 extern double ball_sankaku[16][2];
00064 extern double turn_sankaku[16][2];
00065 extern double ultrasonicVal[3];
00066 float now_compass =20.0;
00067 float past_compass;
00068 int turn_flag = 0;
00069 
00070 extern void Ultrasonic(void);
00071 extern void IR_Position(void);
00072 extern void PidUpdata(void);
00073 extern void array(int,int,int,int);
00074 
00075 enum{
00076     NONE,
00077     SNAKE,
00078     ATTACK,
00079     SEARCH
00080 };
00081