Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp
00001 #include "mbed.h" 00002 00003 DigitalOut TriggerPin(p17); //Sender signal 00004 DigitalOut EchoPin(p18); //Motar signal 00005 DigitalIn Br(p15); 00006 DigitalOut myled(LED1); 00007 00008 Serial pc(USBTX, USBRX); 00009 00010 Timer echo; //Timer for avlesing av echosignal. 00011 00012 int distance; //variable for lagring og utrening av avstand. 00013 int d; 00014 00015 void triggerfunc(); 00016 00017 //Distance (in cm) = (elapsed time * sound velocity (340 m/s)) / 100 / 2 //formel for utregning av avstand, ved bruk av tiden. 00018 00019 00020 int main() 00021 { 00022 while(1) { 00023 pc.printf("Tast 1 for a starte avstandsmaling\n\r"); 00024 pc.scanf("%d", &d); 00025 if(d == 1){ 00026 pc.printf("Triggersignal sendt\n\r"); 00027 triggerfunc(); 00028 myled = 1; //sender ut et triggersignal. 00029 } 00030 while(1) { 00031 if(EchoPin == 1) { 00032 pc.printf("Timer startet\n\r"); //Starter en timer som er aktiv så lenge EchoPin er høy. 00033 echo.start(); 00034 } else { 00035 pc.printf("Timer stoppet\n\r"); 00036 echo.stop(); 00037 distance = (echo.read() * 340) / 100 /2; //340, er lydens hastighet i m/s. Deler på 100 for å få svaret i cm. 00038 pc.printf("Malt avstand er: %.2f\n\r", distance); 00039 echo.reset(); 00040 break; 00041 } //we divide distance by 2 because the sensor returns the round trip time, which doubles the distance measurement. 00042 } 00043 } 00044 } 00045 00046 00047 /* Sender ut ett trigger signal på 10us */ 00048 void triggerfunc() 00049 { 00050 TriggerPin = 1; 00051 wait(10u); 00052 TriggerPin = 0; 00053 }
Generated on Mon Jul 25 2022 10:11:58 by
1.7.2