aaaaa

Dependencies:   HMC6352 PID QEI Servo mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.h Source File

main.h

00001 #define RATE 0.1
00002 #define MINIMUM -1440
00003 #define MAXIMUM 1440 
00004 
00005 #define PID_CYCLE   0.03    //s
00006 #define COMPASS_CYCLE   0.1
00007 
00008 #define P_GAIN  1.2   //0.78   //zensin 1.5
00009 #define I_GAIN  1000000000.0   
00010 #define D_GAIN  0.0   //0.009
00011 
00012 #define PID_BIAS    0.0
00013 #define REFERENCE   0
00014 
00015 #define OUT_LIMIT 1000
00016 
00017 extern double ultrasonicValue[4];
00018 extern uint16_t ultrasonicVal[4];
00019 extern void Ultrasonic(void);
00020 Timer timer2;
00021 Timer ping_t;
00022 
00023 HMC6352 compass(p28/*sda*/, p27/*scl*/);
00024 Ticker compassUpdata;
00025 
00026 PID pid(P_GAIN,I_GAIN,D_GAIN, RATE); 
00027 PID controller(1.0, 0.0, 0.0, RATE);
00028 Ticker pidUpdata;
00029 
00030 Servo servoR(p23);
00031 Servo servoL(p24);
00032 
00033 DigitalIn  swR(p29);
00034 DigitalIn  swL(p30);
00035 
00036 DigitalOut led1(LED1); 
00037 DigitalOut led2(LED2); 
00038 
00039 QEI wheel1 (p18, p17, NC, 624);
00040 QEI wheel2 (p8, p7, NC, 624);
00041 
00042 #define Convert_dekaruto(a) ((a+1000.0)/2.0/1000.0)
00043 #define CYCLE 705.0
00044 
00045 enum{
00046     WAIT,
00047     STRAIGHT,
00048     TURN,
00049     COMP
00050 };