final cup

Dependencies:   HMC6352 PID mbed

Committer:
akudohune
Date:
Mon Apr 29 06:39:53 2013 +0000
Revision:
0:2eebd0301c66
final

Who changed what in which revision?

UserRevisionLine numberNew contents of line
akudohune 0:2eebd0301c66 1
akudohune 0:2eebd0301c66 2
akudohune 0:2eebd0301c66 3 #define RATE 0.052
akudohune 0:2eebd0301c66 4 #define Long 1.0
akudohune 0:2eebd0301c66 5 #define ENTER 0
akudohune 0:2eebd0301c66 6 #define EXIT 1
akudohune 0:2eebd0301c66 7 #define MOT_NUM 4
akudohune 0:2eebd0301c66 8 #define MOTDRIVER_WAIT 300 //ms
akudohune 0:2eebd0301c66 9 #define BAUD_RATE 115200
akudohune 0:2eebd0301c66 10 #define BAUD_RATE2 19200
akudohune 0:2eebd0301c66 11 #define BUT_WAIT 0.3 //s
akudohune 0:2eebd0301c66 12 #define ON 1
akudohune 0:2eebd0301c66 13 #define OFF 0
akudohune 0:2eebd0301c66 14
akudohune 0:2eebd0301c66 15 #define PING_ERROR 0xFFFF
akudohune 0:2eebd0301c66 16
akudohune 0:2eebd0301c66 17 #define MOT1 1.0
akudohune 0:2eebd0301c66 18 #define MOT2 1.0
akudohune 0:2eebd0301c66 19 #define MOT3 1.0
akudohune 0:2eebd0301c66 20 #define MOT4 1.0
akudohune 0:2eebd0301c66 21
akudohune 0:2eebd0301c66 22 #define OUT_LIMIT 20.0
akudohune 0:2eebd0301c66 23 #define MAX_POW 100
akudohune 0:2eebd0301c66 24 #define MIN_POW -100
akudohune 0:2eebd0301c66 25
akudohune 0:2eebd0301c66 26 DigitalOut led1(LED1);
akudohune 0:2eebd0301c66 27 DigitalOut led2(LED2);
akudohune 0:2eebd0301c66 28 DigitalOut led3(LED3);
akudohune 0:2eebd0301c66 29 DigitalOut led4(LED4);
akudohune 0:2eebd0301c66 30 BusOut mbedleds(LED4,LED3,LED2,LED1);
akudohune 0:2eebd0301c66 31 HMC6352 compass(p9, p10);
akudohune 0:2eebd0301c66 32 Serial driver(p28, p27); // tx, rx
akudohune 0:2eebd0301c66 33 Serial device2(p13, p14); // tx, rx
akudohune 0:2eebd0301c66 34 Serial pc(USBTX, USBRX); // tx, rx
akudohune 0:2eebd0301c66 35 DigitalIn StartButton(p21);
akudohune 0:2eebd0301c66 36 DigitalIn CalibEnterButton(p22);
akudohune 0:2eebd0301c66 37 DigitalIn CalibExitButton(p23);
akudohune 0:2eebd0301c66 38 DigitalIn EEPROMButton(p24);
akudohune 0:2eebd0301c66 39 PID pid(0.60, 0.0, 0.010, RATE); //battery is low power version 30.0 0.58 1.0 0.015 battery is high power version 30.0 0.42, 1.0, 0.013 power is low but perfect 20.0 0.45, 0.0, 0.010
akudohune 0:2eebd0301c66 40 Ticker pidUpdata;
akudohune 0:2eebd0301c66 41 Timer timer1;
akudohune 0:2eebd0301c66 42 Timer Ctimer;
akudohune 0:2eebd0301c66 43 LocalFileSystem local("local"); // マウントポイントを定義(ディレクトリパスになる)
akudohune 0:2eebd0301c66 44
akudohune 0:2eebd0301c66 45 enum{
akudohune 0:2eebd0301c66 46 HOME_WAIT,
akudohune 0:2eebd0301c66 47 DIFFENCE,
akudohune 0:2eebd0301c66 48 WARNING,
akudohune 0:2eebd0301c66 49 HOLD,
akudohune 0:2eebd0301c66 50 };
akudohune 0:2eebd0301c66 51
akudohune 0:2eebd0301c66 52
akudohune 0:2eebd0301c66 53 double standTu = 0;
akudohune 0:2eebd0301c66 54 int speed[MOT_NUM] = {0};
akudohune 0:2eebd0301c66 55 uint8_t hold_flag = 0;
akudohune 0:2eebd0301c66 56 uint8_t state = HOME_WAIT;
akudohune 0:2eebd0301c66 57
akudohune 0:2eebd0301c66 58 float inputPID = 180.0;
akudohune 0:2eebd0301c66 59 static double standard;
akudohune 0:2eebd0301c66 60 float compassPID = 0.0;
akudohune 0:2eebd0301c66 61
akudohune 0:2eebd0301c66 62 extern int diff;
akudohune 0:2eebd0301c66 63
akudohune 0:2eebd0301c66 64 extern string StringFIN;
akudohune 0:2eebd0301c66 65
akudohune 0:2eebd0301c66 66 extern uint8_t direction;
akudohune 0:2eebd0301c66 67 extern uint8_t Distance;
akudohune 0:2eebd0301c66 68 extern uint8_t IR_found;
akudohune 0:2eebd0301c66 69
akudohune 0:2eebd0301c66 70 extern void PidUpdata(void);
akudohune 0:2eebd0301c66 71 extern void array(int,int,int,int);
akudohune 0:2eebd0301c66 72
akudohune 0:2eebd0301c66 73 extern void dev_rx(void);
akudohune 0:2eebd0301c66 74 extern void dev_tx(void);
akudohune 0:2eebd0301c66 75
akudohune 0:2eebd0301c66 76 extern uint16_t ultrasonicVal[4];
akudohune 0:2eebd0301c66 77
akudohune 0:2eebd0301c66 78 #define FRONT_SONIC ultrasonicVal[0]
akudohune 0:2eebd0301c66 79 #define BACK_SONIC ultrasonicVal[2]
akudohune 0:2eebd0301c66 80 #define RIGHT_SONIC ultrasonicVal[1]
akudohune 0:2eebd0301c66 81 #define LEFT_SONIC ultrasonicVal[3]
akudohune 0:2eebd0301c66 82
akudohune 0:2eebd0301c66 83