aa
Dependencies: HMC6352 QEI Servo mbed
Fork of walkROBO by
main.h
00001 #include "mbed.h" 00002 00003 Timer timer2; 00004 00005 extern double ultrasonicValue[4]; 00006 extern uint16_t ultrasonicVal[4]; 00007 extern void Ultrasonic(void); 00008 00009 /* robocup */ 00010 00011 #define RATE 0.052 00012 #define Long 1.0 00013 #define ENTER 0 00014 #define EXIT 1 00015 #define X 0 00016 #define Y 1 00017 #define MOT_NUM 4 00018 #define MOTDRIVER_WAIT 300 //ms 00019 #define BAUD_RATE 115200 00020 #define BAUD_RATE2 19200 00021 #define BUT_WAIT 0.3 //s 00022 #define ON 1 00023 #define OFF 0 00024 00025 #define PING_ERROR 0xFFFF 00026 #define PI 3.14159265 00027 00028 #define MOT1 1.0 00029 #define MOT2 1.0 00030 #define MOT3 1.0 00031 #define MOT4 1.0 00032 00033 #define PID_BIAS 0.0 00034 #define REFERENCE 180.0 00035 #define MINIMUM 0.0 00036 #define MAXIMUM 360.0 00037 00038 #define PID_CYCLE 0.06 //s 00039 00040 #define P_GAIN 0.75 //0.78 00041 #define I_GAIN 0.0 //0.0 00042 #define D_GAIN 0.006 //0.009 00043 00044 #define OUT_LIMIT 30.0 00045 #define MAX_POW 100 00046 #define MIN_POW -100 00047 00048 DigitalOut led1(LED1); 00049 DigitalOut led2(LED2); 00050 DigitalOut led3(LED3); 00051 DigitalOut led4(LED4); 00052 BusOut mbedleds(LED4,LED3,LED2,LED1); 00053 HMC6352 compass(p28, p27); 00054 //Serial driver(p28, p27); // tx, rx 00055 Serial device2(p13, p14); // tx, rx 00056 Serial pc(USBTX, USBRX); // tx, rx 00057 //DigitalIn StartButton(p21); 00058 //DigitalIn CalibEnterButton(p22); 00059 DigitalIn CalibExitButton(p23); 00060 DigitalIn EEPROMButton(p24); 00061 //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 00062 Ticker pidUpdata; 00063 Ticker irDistanceUpdata; 00064 Timer timer1; 00065 Timer Survtimer; 00066 LocalFileSystem local("local"); // マウントポイントを定義(ディレクトリパスになる) 00067 00068 enum{ 00069 NORMAL, 00070 LEFT_OUT, 00071 RIGHT_OUT, 00072 FRONT_OUT, 00073 BACK_OUT, 00074 }; 00075 00076 enum{ 00077 HOME_WAIT, 00078 DIFFENCE, 00079 WARNING, 00080 HOLD, 00081 }; 00082 00083 PinName adc_num[6] = { 00084 p15, 00085 p16, 00086 p17, 00087 p18, 00088 p19, 00089 p20, 00090 }; 00091 double standTu = 0; 00092 int speed[MOT_NUM] = {0}; 00093 uint8_t hold_flag = 0; 00094 uint8_t state = HOME_WAIT; 00095 uint8_t lineState = NORMAL; 00096 00097 double inputPID = 180.0; 00098 static double standard; 00099 double compassPID = 0.0;
Generated on Fri Jul 15 2022 07:45:33 by 1.7.2