hello

Committer:
akudohune
Date:
Sat May 04 23:56:15 2013 +0000
Revision:
0:79ccc03117ea
cuppppp

Who changed what in which revision?

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