test

Dependencies:   HMC6352 PID mbed

Fork of ver1_2_2 by ryo seki

Committer:
akudohune
Date:
Sun Mar 10 07:31:31 2013 +0000
Revision:
1:89408fff7cc9
Parent:
0:74bf4953c0d1
new_cup;

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 1:89408fff7cc9 13 #define MOT1 1.0
akudohune 1:89408fff7cc9 14 #define MOT2 1.0
akudohune 1:89408fff7cc9 15 #define MOT3 1.0
akudohune 1:89408fff7cc9 16 #define MOT4 1.0
akudohune 0:74bf4953c0d1 17
akudohune 1:89408fff7cc9 18 #define OUT_LIMIT 30.0
akudohune 1:89408fff7cc9 19 #define MAX_POW 100
akudohune 1:89408fff7cc9 20 #define MIN_POW -100
akudohune 0:74bf4953c0d1 21
akudohune 0:74bf4953c0d1 22 DigitalOut led1(LED1);
akudohune 0:74bf4953c0d1 23 DigitalOut led2(LED2);
akudohune 0:74bf4953c0d1 24 DigitalOut led3(LED3);
akudohune 1:89408fff7cc9 25 DigitalOut led4(LED4);
akudohune 0:74bf4953c0d1 26 HMC6352 compass(p9, p10);
akudohune 0:74bf4953c0d1 27 Serial driver(p28, p27); // tx, rx
akudohune 0:74bf4953c0d1 28 Serial pc(USBTX, USBRX); // tx, rx
akudohune 0:74bf4953c0d1 29 DigitalIn StartButton(p21);
akudohune 0:74bf4953c0d1 30 DigitalIn CalibEnterButton(p22);
akudohune 0:74bf4953c0d1 31 DigitalIn CalibExitButton(p23);
akudohune 1:89408fff7cc9 32 PID pid(0.59, 1.0, 0.015, RATE); //30.0 0.35 1.0 0.012 30.0 0.42 1.0 0.013
akudohune 0:74bf4953c0d1 33 Ticker pidUpdata;
akudohune 0:74bf4953c0d1 34 Ticker IR;
akudohune 0:74bf4953c0d1 35 Ticker ultrasonic;
akudohune 0:74bf4953c0d1 36 Timer timer1;
akudohune 0:74bf4953c0d1 37 Timer timer2;
akudohune 0:74bf4953c0d1 38 Timer timer_ir; /* 赤外線用タイマー */
akudohune 0:74bf4953c0d1 39
akudohune 0:74bf4953c0d1 40
akudohune 0:74bf4953c0d1 41 int speed[MOT_NUM] = {0};
akudohune 1:89408fff7cc9 42
akudohune 0:74bf4953c0d1 43 static float lastData = 0.0;
akudohune 0:74bf4953c0d1 44 static float inputPID = 180.0;
akudohune 0:74bf4953c0d1 45 static float standard;
akudohune 0:74bf4953c0d1 46 static float compassPID = 0.0;
akudohune 0:74bf4953c0d1 47
akudohune 0:74bf4953c0d1 48 extern string StringFIN;
akudohune 0:74bf4953c0d1 49
akudohune 0:74bf4953c0d1 50 extern int direction;
akudohune 0:74bf4953c0d1 51 extern int Distance;
akudohune 0:74bf4953c0d1 52 extern int IR_found;
akudohune 0:74bf4953c0d1 53 extern double ball_sankaku[16][2];
akudohune 1:89408fff7cc9 54 extern double ultrasonicVal[3];
akudohune 0:74bf4953c0d1 55
akudohune 0:74bf4953c0d1 56 extern void Ultrasonic(void);
akudohune 0:74bf4953c0d1 57 extern void IR_Position(void);
akudohune 0:74bf4953c0d1 58 extern void PidUpdata(void);
akudohune 0:74bf4953c0d1 59 extern void array(int,int,int,int);
akudohune 0:74bf4953c0d1 60
akudohune 0:74bf4953c0d1 61 enum{
akudohune 0:74bf4953c0d1 62 HOME_WAIT,
akudohune 0:74bf4953c0d1 63 DIFFENCE,
akudohune 0:74bf4953c0d1 64 };
akudohune 0:74bf4953c0d1 65