test

Dependencies:   RemoteIR mbed

main.cpp

Committer:
szh66
Date:
2017-05-09
Revision:
5:5d34a8feffe2
Parent:
4:86927e61e1e3
Child:
6:9f698d1b2996

File content as of revision 5:5d34a8feffe2:

/**
* This is simple program to test usart with IR sensors.
*/
#include "mbed.h"
#include "IRSensor.h"
#include "encoder.h"
//#include "motor.h"
 Serial serial (PA_9, PA_10);
IRSensor testIR_RIGHT(PB_0, PA_4); //emmiter and receiver right most sensor
IRSensor testIR_LEFT(PA_8, PC_5); //emmiter and receiver left most sensor
IRSensor testIR_TOP1(PC_6, PA_7); //emmiter and receiver TOP LEFT sensor
IRSensor testIR_TOP2(PB_10, PA_6); //emmiter and receiver TOP RIGHT sensor
IRSensor testIR_DIAG_LEFT(PC_7, PC_4); //emmiter and receiver DIAG LEFT sensor
IRSensor testIR_DIAG_RIGHT(PB_1, PA_5); //emmiter and receiver DIAG RIGHTsensor
 DigitalOut testLed(PB_12);
 DigitalOut testLed2(PB_13);
 DigitalOut testLed3(PB_14);
 DigitalOut testLed4(PB_15);
 AnalogIn Ain(PA_3);
 AnalogIn gyro(PC_1);
 DigitalOut gyro_sleep(PC_2);
 
//Motor leftMotor(PB_7, PB_6);
//Motor rightMotor(PB_9, PB_8);
// pwm
PwmOut motor_pwm_left_sig(PB_7);
DigitalOut dir_left(PB_6);
//// dir
PwmOut motor_pwm_right_sig(PB_9);
DigitalOut dir_right(PB_8);



Encoder leftEncoder(PC_9, PC_8);
 
 int main ()
 {
     serial.printf ("Start Program\n");
     //leftMotor = 0.1f;
     

//         motor_pwm_left_sig.period(0.001f); 
//         motor_pwm_left_sig.write(0.2f);
//         motor_pwm_right_sig.period(0.001f); 
//         motor_pwm_right_sig.write(0.6f);
//         dir_left = 0;
//         dir_right = 1;
//         
//         wait(7);
//         motor_pwm_right_sig = 0;
//         dir_right = 0;
//         motor_pwm_left_sig = 0;
         

     //double angle 
     
     while (1)
     {
        testLed2 = 1; 
        testLed3 = 1;
         wait (0.2);
         testLed2 = 0;
         testLed3 = 0; 
         wait (0.2); 
         
//         serial.printf("Left sensor: %f\r\n", testIR_LEFT.readIR());
//         serial.printf("Left Diagnal %f\r\n", testIR_DIAG_LEFT.readIR());
         serial.printf("TOP LEFT %f\r\n", testIR_TOP1.readIR());
         serial.printf("TOP RIGHT %f\r\n", testIR_TOP2.readIR());
//         serial.printf("Right Diagnal %f\r\n", testIR_DIAG_RIGHT.readIR());
//         serial.printf("Right sensor: %f\r\n", testIR_RIGHT.readIR());
         wait(1);
         //______________TEST GYRO
        double offset = .4451;
         gyro_sleep = 1;
        double gyro_value = (gyro.read() - offset) * .67 / offset * 600;  // Offset of .4455 measured experimentally
     //   angle += gyro_value * .01;
        wait(.01);
       
        serial.printf("Gyro value: %f\r\n", gyro_value);
         
         
         //______________
         
         
         //serial.printf("voltage value is: %3.3f%%\r\n", Ain.read()*100.0f);
         //serial.printf("normalized: 0x%04X \r\n", Ain.read_u16());

         if(Ain.read() < 0.67f){
             testLed = 1;
             testLed2 = 1;
             testLed3 = 1;
             testLed4 = 1;
             serial.printf("voltage is in danger area, UNPLUG\r\n");
         }
       
         int dist = getEncoderDistance();
         //serial.printf("Encoder %d \r\n", getEncoderDistance());        
     }
 }