'

https://os.mbed.com/media/uploads/danijel28/indikatorudaljenostiobjekta.cpp

Committer:
danijel28
Date:
Tue Feb 04 17:57:14 2020 +0000
Revision:
1:6f2201f12897
Parent:
0:86b2086be101
I adjusted HCSR04 and buzzer library for school project

Who changed what in which revision?

UserRevisionLine numberNew contents of line
antoniolinux 0:86b2086be101 1 #include "hcsr04.h"
antoniolinux 0:86b2086be101 2 #include "mbed.h"
danijel28 1:6f2201f12897 3
danijel28 1:6f2201f12897 4 HCSR04::HCSR04(PinName t, PinName e) : triger(t), echo(e) {}
danijel28 1:6f2201f12897 5 long HCSR04::echo_trajanjeImpulsa()
danijel28 1:6f2201f12897 6 {
danijel28 1:6f2201f12897 7
danijel28 1:6f2201f12897 8 timer.reset(); //Resetiranje timera na 0
danijel28 1:6f2201f12897 9 triger=0; // Triger u logičkoj "0"
danijel28 1:6f2201f12897 10 wait_us(2);
danijel28 1:6f2201f12897 11 triger=1; // Triger u logičkoj "1"
antoniolinux 0:86b2086be101 12 wait_us(10);
danijel28 1:6f2201f12897 13 triger=0; // Triger u logičkoj "0"
danijel28 1:6f2201f12897 14 while(!echo);
danijel28 1:6f2201f12897 15 timer.start(); // Timer počinje brojati kada triger pošalje impuls
danijel28 1:6f2201f12897 16 while(echo);
danijel28 1:6f2201f12897 17 timer.stop();
danijel28 1:6f2201f12897 18 return timer.read_us();
danijel28 1:6f2201f12897 19
antoniolinux 0:86b2086be101 20 }
antoniolinux 0:86b2086be101 21
danijel28 1:6f2201f12897 22 //Vraća udaljenost u centimetrima
danijel28 1:6f2201f12897 23 long HCSR04::udaljenost()
danijel28 1:6f2201f12897 24 {
danijel28 1:6f2201f12897 25 trajanjeImpulsa = echo_trajanjeImpulsa();
danijel28 1:6f2201f12897 26 udaljenost_cm = (trajanjeImpulsa/2)/29.1;
danijel28 1:6f2201f12897 27 return udaljenost_cm;
antoniolinux 0:86b2086be101 28 }