Najbolji program na svijetu. Za stvaranje ultrazvucnih slika novorođenčadi.

Committer:
ldelinic
Date:
Wed Dec 09 12:37:26 2015 +0000
Revision:
0:0910b24c9da3
Najbolji program za mjerenje udaljenosti i dioptrije

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ldelinic 0:0910b24c9da3 1 #include "mbed.h"
ldelinic 0:0910b24c9da3 2 #include "HCSR04.h"
ldelinic 0:0910b24c9da3 3
ldelinic 0:0910b24c9da3 4 HCSR04::HCSR04(PinName echoPin, PinName triggerPin): echo(echoPin), trigger(triggerPin){
ldelinic 0:0910b24c9da3 5
ldelinic 0:0910b24c9da3 6 init();
ldelinic 0:0910b24c9da3 7
ldelinic 0:0910b24c9da3 8 }
ldelinic 0:0910b24c9da3 9
ldelinic 0:0910b24c9da3 10 void HCSR04::init(){
ldelinic 0:0910b24c9da3 11
ldelinic 0:0910b24c9da3 12 echo.rise(this, &HCSR04::startTimer); //na rastucem bridu zapocni timer
ldelinic 0:0910b24c9da3 13
ldelinic 0:0910b24c9da3 14 echo.fall(this, &HCSR04::stopTimer); //na padajucem bridu zaustavi timer
ldelinic 0:0910b24c9da3 15
ldelinic 0:0910b24c9da3 16 distance = -1; //pocetna udaljenost
ldelinic 0:0910b24c9da3 17 }
ldelinic 0:0910b24c9da3 18
ldelinic 0:0910b24c9da3 19 void HCSR04::startTimer(){
ldelinic 0:0910b24c9da3 20
ldelinic 0:0910b24c9da3 21 timer.start(); //zapocni brojanje
ldelinic 0:0910b24c9da3 22
ldelinic 0:0910b24c9da3 23 }
ldelinic 0:0910b24c9da3 24
ldelinic 0:0910b24c9da3 25 void HCSR04::stopTimer(){
ldelinic 0:0910b24c9da3 26
ldelinic 0:0910b24c9da3 27 timer.stop();
ldelinic 0:0910b24c9da3 28 }
ldelinic 0:0910b24c9da3 29
ldelinic 0:0910b24c9da3 30 void HCSR04::startMeasurement(){
ldelinic 0:0910b24c9da3 31
ldelinic 0:0910b24c9da3 32 trigger=1;
ldelinic 0:0910b24c9da3 33 wait_us(10);
ldelinic 0:0910b24c9da3 34 trigger=0;
ldelinic 0:0910b24c9da3 35 wait_ms(25);
ldelinic 0:0910b24c9da3 36 distance=timer.read()*1e6/58;
ldelinic 0:0910b24c9da3 37 timer.reset();
ldelinic 0:0910b24c9da3 38 }
ldelinic 0:0910b24c9da3 39
ldelinic 0:0910b24c9da3 40 float HCSR04::getDistance_cm(){
ldelinic 0:0910b24c9da3 41
ldelinic 0:0910b24c9da3 42 startMeasurement();
ldelinic 0:0910b24c9da3 43 return distance;
ldelinic 0:0910b24c9da3 44 }
ldelinic 0:0910b24c9da3 45