
OK
Revision 0:e49880825aec, committed 2016-03-16
- Comitter:
- Bjorken
- Date:
- Wed Mar 16 11:04:52 2016 +0000
- Commit message:
- Ultralyd
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
mbed.bld | Show annotated file Show diff for this revision Revisions of this file |
diff -r 000000000000 -r e49880825aec main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Wed Mar 16 11:04:52 2016 +0000 @@ -0,0 +1,53 @@ +#include "mbed.h" + +DigitalOut TriggerPin(p17); //Sender signal +DigitalOut EchoPin(p18); //Motar signal +DigitalIn Br(p15); +DigitalOut myled(LED1); + +Serial pc(USBTX, USBRX); + +Timer echo; //Timer for avlesing av echosignal. + +int distance; //variable for lagring og utrening av avstand. +int d; + +void triggerfunc(); + +//Distance (in cm) = (elapsed time * sound velocity (340 m/s)) / 100 / 2 //formel for utregning av avstand, ved bruk av tiden. + + +int main() +{ + while(1) { + pc.printf("Tast 1 for a starte avstandsmaling\n\r"); + pc.scanf("%d", &d); + if(d == 1){ + pc.printf("Triggersignal sendt\n\r"); + triggerfunc(); + myled = 1; //sender ut et triggersignal. + } + while(1) { + if(EchoPin == 1) { + pc.printf("Timer startet\n\r"); //Starter en timer som er aktiv så lenge EchoPin er høy. + echo.start(); + } else { + pc.printf("Timer stoppet\n\r"); + echo.stop(); + distance = (echo.read() * 340) / 100 /2; //340, er lydens hastighet i m/s. Deler på 100 for å få svaret i cm. + pc.printf("Malt avstand er: %.2f\n\r", distance); + echo.reset(); + break; + } //we divide distance by 2 because the sensor returns the round trip time, which doubles the distance measurement. + } + } +} + + +/* Sender ut ett trigger signal på 10us */ +void triggerfunc() +{ + TriggerPin = 1; + wait(10u); + TriggerPin = 0; +}
diff -r 000000000000 -r e49880825aec mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Wed Mar 16 11:04:52 2016 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/87f2f5183dfb \ No newline at end of file