Created libraries2

Dependencies:   mbed ultrasonic

main.cpp

Committer:
VegardMidt
Date:
2015-04-16
Revision:
5:b2df25183cb1
Parent:
4:ae7f8a25c748
Child:
6:0d4008544238

File content as of revision 5:b2df25183cb1:

#include "mbed.h"
#include "ultrasonic.h"

PwmOut TX1(D9);                             // Use pin D9
DigitalOut TX2(D8);                         // Use pin D8
DigitalOut HVoff(D6);                       // Use pin D6
InterruptIn signal(D7);                     // Use pin D7
//DigitalOut tresh(D7);
Timeout to1;
Timer t1;
Serial pc(SERIAL_TX, SERIAL_RX);

void TX1_send(){
    HVoff = 0;
    //tresh = 1;
    TX1.period(0.0000252);                  // Set the period of TX1 to 25.2us (39,682kHz)
    TX1.pulsewidth(0.0000116);              // Set the pulsewidth of TX1 to 11.6us (ON)
    wait(0.0002016);                        // Waits 201.6us
    TX1 = 0;
    //tresh =0;
    t1.reset();
    
    HVoff = 1;
    //pc.printf("It writes TX1\r\n");
    to1.attach(TX1_send,0.1);              // Sends for 1000us
    //wait_ms(86);                            // Waits 86ms. Total 100ms
    }


void signal_reciev(){
    
    float time = t1.read();
    float cm = 0;
    
    if (time<0.006 && time>0.0007){
    
        cm = 34613*time/2;                  // Calculate distance
        
        pc.printf("%f\r\n", cm);            // Prints distance
        }
    }

int main() {
     
    t1.start();
    signal.fall(&signal_reciev);
    TX2 = 1;
    TX1_send(); 
    while(1);
    }