zhouhang shao
/
test
test
Embed:
(wiki syntax)
Show/hide line numbers
main.cpp
00001 #include "mbed.h" 00002 //#include "IRSensor.h" 00003 //#include "encoder.h" 00004 #include "left_motor.h" 00005 00006 /* 00007 Serial serial (PA_9, PA_10); 00008 00009 IRSensor testIR_RIGHT(PB_0, PA_4); //emmiter and receiver right most sensor 00010 IRSensor testIR_LEFT(PA_8, PC_5); //emmiter and receiver left most sensor 00011 IRSensor testIR_TOP1(PC_6, PA_7); //emmiter and receiver TOP LEFT sensor 00012 IRSensor testIR_TOP2(PB_10, PA_6); //emmiter and receiver TOP RIGHT sensor 00013 IRSensor testIR_DIAG_LEFT(PC_7, PC_4); //emmiter and receiver DIAG LEFT sensor 00014 IRSensor testIR_DIAG_RIGHT(PB_1, PA_5); //emmiter and receiver DIAG RIGHTsensor 00015 */ 00016 00017 00018 DigitalOut testLed(PB_12); 00019 DigitalOut testLed2(PB_13); 00020 DigitalOut testLed3(PB_14); 00021 DigitalOut testLed4(PB_15); 00022 00023 /* 00024 AnalogIn Ain(PA_3); 00025 AnalogIn gyro(PC_1); 00026 DigitalOut gyro_sleep(PC_2); 00027 00028 00029 */ 00030 00031 //Motor leftMotor(PB_7, PB_6); 00032 //Motor rightMotor(PB_9, PB_8); 00033 /* 00034 00035 00036 00037 */ 00038 00039 // pwm 00040 /* 00041 PwmOut motor_pwm_left_sig(PB_7); 00042 DigitalOut dir_left(PB_6); 00043 //// dir 00044 PwmOut motor_pwm_right_sig(PB_9); 00045 DigitalOut dir_right(PB_8); 00046 */ 00047 /* 00048 00049 Encoder leftEncoder(PC_9, PC_8); 00050 00051 00052 void battery_helper() { 00053 if(Ain.read() < 0.67f){ 00054 testLed = 1; 00055 testLed2 = 1; 00056 testLed3 = 1; 00057 testLed4 = 1; 00058 serial.printf("voltage is in danger area, UNPLUG\r\n"); 00059 } 00060 } 00061 */ 00062 00063 /* 00064 void toggle() { 00065 testLed2 = 1; 00066 testLed3 = 1; 00067 00068 leftMotor.speed(0.2f); 00069 rightMotor.speed(0.2f); 00070 00071 00072 motor_pwm_left_sig.period(0.001f); 00073 motor_pwm_left_sig.write(0.2f); 00074 motor_pwm_right_sig.period(0.001f); 00075 motor_pwm_right_sig.write(0.6f); 00076 00077 wait(5); 00078 motor_pwm_right_sig = 0; 00079 motor_pwm_left_sig = 0; 00080 00081 00082 } */ 00083 00084 int main () 00085 { 00086 //serial.printf ("Start Program\n"); 00087 testLed2 = 1; 00088 testLed3 = 1; 00089 00090 LeftMotor * motor = new LeftMotor(); 00091 motor->inv_dir(0); 00092 motor->speed(0.9f); 00093 00094 00095 /* 00096 00097 PwmOut motor_pwm_left_sig(PB_7); 00098 DigitalOut dir_left(PB_6); 00099 //// dir 00100 PwmOut motor_pwm_right_sig(PB_9); 00101 DigitalOut dir_right(PB_8); 00102 00103 */ 00104 00105 /* 00106 Motor * leftMotor = new Motor(PB_7, PB_6); 00107 Motor * rightMotor = new Motor(PB_9, PB_8); 00108 00109 leftMotor->speed(0.2f); 00110 rightMotor->speed(0.2f); 00111 */ 00112 00113 //leftMotor = 0.2f; 00114 //rightMotor = 0.2f; 00115 00116 /* 00117 wait(3); 00118 toggle(); 00119 00120 wait(3); 00121 toggle(); 00122 00123 wait(3); 00124 toggle(); 00125 00126 wait(3); 00127 toggle(); 00128 */ 00129 00130 //double angle 00131 /* 00132 while (1) 00133 { 00134 battery_helper(); 00135 00136 testLed2 = 1; 00137 testLed3 = 1; 00138 00139 // wait (0.2); 00140 // testLed2 = 0; 00141 // testLed3 = 0; 00142 //wait (0.2); 00143 00144 00145 motor_pwm_left_sig.period(0.001f); 00146 motor_pwm_left_sig.write(0.2f); 00147 motor_pwm_right_sig.period(0.001f); 00148 motor_pwm_right_sig.write(0.6f); 00149 dir_left = 0; 00150 dir_right = 1; 00151 00152 wait(2); 00153 00154 motor_pwm_right_sig = 0; 00155 dir_right = 0; 00156 motor_pwm_left_sig = 0; 00157 00158 00159 int dist = getEncoderDistance(); 00160 //serial.printf("Encoder %d \r\n", getEncoderDistance()); 00161 } */ 00162 } 00163 00164 00165 /* 00166 void motor_tester() { 00167 00168 } 00169 00170 void sensor_tester() { 00171 // serial.printf("Left sensor: %f\r\n", testIR_LEFT.readIR()); 00172 // serial.printf("Left Diagnal %f\r\n", testIR_DIAG_LEFT.readIR()); 00173 serial.printf("TOP LEFT %f\r\n", testIR_TOP1.readIR()); 00174 serial.printf("TOP RIGHT %f\r\n", testIR_TOP2.readIR()); 00175 // serial.printf("Right Diagnal %f\r\n", testIR_DIAG_RIGHT.readIR()); 00176 // serial.printf("Right sensor: %f\r\n", testIR_RIGHT.readIR()); 00177 wait(1); 00178 00179 } 00180 00181 void voltage_tester() { 00182 serial.printf("voltage value is: %3.3f%%\r\n", Ain.read()*100.0f); 00183 serial.printf("normalized: 0x%04X \r\n", Ain.read_u16()); 00184 } 00185 00186 void gyro_tester() { 00187 double offset = .4451; 00188 gyro_sleep = 1; 00189 double gyro_value = (gyro.read() - offset) * .67 / offset * 600; // Offset of .4455 measured experimentally 00190 angle += gyro_value * .01; 00191 wait(.01); 00192 serial.printf("Gyro value: %f\r\n", gyro_value); 00193 } */
Generated on Sun Sep 11 2022 08:09:41 by 1.7.2