test

Dependencies:   RemoteIR mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

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  } */