Dependencies:   mbed

Fork of frdm_Distance by Flying Monkeys

main.cpp

Committer:
danderson8814
Date:
2015-06-27
Revision:
6:71c9054f905e
Parent:
5:9fcfddb46a8d
Child:
7:48b6ad2fc7cd

File content as of revision 6:71c9054f905e:

#include "mbed.h"

// Initializing all ins and outs: Program should get distance in cm when switch 2 is pressed and release 
// and change LED from Green to red when Switch 2 is pressed

DigitalOut  led_red(LED_RED);
DigitalOut  led_green(LED_GREEN);
DigitalIn   Re(D13);
DigitalOut  Trig(D12);
DigitalOut  Pwr(D11);
InterruptIn sw2(SW2);
Serial      pc(USBTX, USBRX);
Timer       timer;
long ReEnd;

void sw2_release(void)
{
        Trig = 0;
        timer.reset();
        wait_us(2);
        led_red = 0;
        led_green = 1;
        Trig = 1;
        wait_us(15);
        Trig = 0;
        while (!Re) {
            timer.start();
        }
        
        while (Re){
            timer.stop();
        }
        
    
        ReEnd = timer.read_us();
        pc.printf("Distance is %d cm \r\n" , ReEnd ); 
    
}

void sw2_press(void)
{
    led_red = 1 ;
    led_green = 0;
    
}
    
    
    
int main()
{
    Trig = 0;
    
    Pwr=1;
    
    pc.baud(115200);
    
        
    pc.printf("Board has been reset \r\n");
        while (true) {
           
            sw2.rise(&sw2_release);
    
            sw2.fall(&sw2_press);
    }
}