a

Dependencies:   HMC6352 PID mbed

Committer:
akudohune
Date:
Fri Apr 19 09:13:32 2013 +0000
Revision:
0:8215f0743d86
to yusuke

Who changed what in which revision?

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