test

Dependencies:   HMC6352 PID mbed

Fork of ver1_2_2 by ryo seki

Committer:
akudohune
Date:
Sat Mar 09 10:11:06 2013 +0000
Revision:
0:74bf4953c0d1
Child:
1:89408fff7cc9
ver1_2_2;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
akudohune 0:74bf4953c0d1 1
akudohune 0:74bf4953c0d1 2
akudohune 0:74bf4953c0d1 3 #define RATE 0.052
akudohune 0:74bf4953c0d1 4 #define Long 1.0
akudohune 0:74bf4953c0d1 5 #define ENTER 0
akudohune 0:74bf4953c0d1 6 #define EXIT 1
akudohune 0:74bf4953c0d1 7 #define MOT_NUM 4
akudohune 0:74bf4953c0d1 8 #define MOTDRIVER_WAIT 300 //ms
akudohune 0:74bf4953c0d1 9 #define BAUD_RATE 115200
akudohune 0:74bf4953c0d1 10 #define ON 1
akudohune 0:74bf4953c0d1 11 #define OFF 0
akudohune 0:74bf4953c0d1 12
akudohune 0:74bf4953c0d1 13 #define MOT1 1
akudohune 0:74bf4953c0d1 14 #define MOT2 1
akudohune 0:74bf4953c0d1 15 #define MOT3 1
akudohune 0:74bf4953c0d1 16 #define MOT4 1
akudohune 0:74bf4953c0d1 17
akudohune 0:74bf4953c0d1 18 #define OUT_LIMIT 30.0
akudohune 0:74bf4953c0d1 19
akudohune 0:74bf4953c0d1 20 DigitalOut led1(LED1);
akudohune 0:74bf4953c0d1 21 DigitalOut led2(LED2);
akudohune 0:74bf4953c0d1 22 DigitalOut led3(LED3);
akudohune 0:74bf4953c0d1 23 HMC6352 compass(p9, p10);
akudohune 0:74bf4953c0d1 24 Serial driver(p28, p27); // tx, rx
akudohune 0:74bf4953c0d1 25 Serial pc(USBTX, USBRX); // tx, rx
akudohune 0:74bf4953c0d1 26 DigitalIn StartButton(p21);
akudohune 0:74bf4953c0d1 27 DigitalIn CalibEnterButton(p22);
akudohune 0:74bf4953c0d1 28 DigitalIn CalibExitButton(p23);
akudohune 0:74bf4953c0d1 29 PID pid(0.42, 1.0, 0.013, RATE); //30.0 0.35 1.0 0.012
akudohune 0:74bf4953c0d1 30 Ticker pidUpdata;
akudohune 0:74bf4953c0d1 31 Ticker IR;
akudohune 0:74bf4953c0d1 32 Ticker ultrasonic;
akudohune 0:74bf4953c0d1 33 Timer timer1;
akudohune 0:74bf4953c0d1 34 Timer timer2;
akudohune 0:74bf4953c0d1 35 Timer timer_ir; /* 赤外線用タイマー */
akudohune 0:74bf4953c0d1 36
akudohune 0:74bf4953c0d1 37
akudohune 0:74bf4953c0d1 38 int speed[MOT_NUM] = {0};
akudohune 0:74bf4953c0d1 39
akudohune 0:74bf4953c0d1 40 static float lastData = 0.0;
akudohune 0:74bf4953c0d1 41 static float inputPID = 180.0;
akudohune 0:74bf4953c0d1 42 static float standard;
akudohune 0:74bf4953c0d1 43 static float compassPID = 0.0;
akudohune 0:74bf4953c0d1 44
akudohune 0:74bf4953c0d1 45 extern string StringFIN;
akudohune 0:74bf4953c0d1 46
akudohune 0:74bf4953c0d1 47 extern int direction;
akudohune 0:74bf4953c0d1 48 extern int Distance;
akudohune 0:74bf4953c0d1 49 extern int IR_found;
akudohune 0:74bf4953c0d1 50 extern double ball_sankaku[16][2];
akudohune 0:74bf4953c0d1 51 extern uint16_t ultrasonicVal[3];
akudohune 0:74bf4953c0d1 52
akudohune 0:74bf4953c0d1 53 extern void Ultrasonic(void);
akudohune 0:74bf4953c0d1 54 extern void IR_Position(void);
akudohune 0:74bf4953c0d1 55 extern void PidUpdata(void);
akudohune 0:74bf4953c0d1 56 extern void array(int,int,int,int);
akudohune 0:74bf4953c0d1 57
akudohune 0:74bf4953c0d1 58 enum{
akudohune 0:74bf4953c0d1 59 HOME_WAIT,
akudohune 0:74bf4953c0d1 60 DIFFENCE,
akudohune 0:74bf4953c0d1 61 };
akudohune 0:74bf4953c0d1 62