a

Committer:
AlexisCollin
Date:
Tue Jun 28 14:00:35 2022 +0000
Revision:
0:586f8f975b8c
efrei;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AlexisCollin 0:586f8f975b8c 1 #include "HCSR04.h"
AlexisCollin 0:586f8f975b8c 2 #include "mbed.h"
AlexisCollin 0:586f8f975b8c 3
AlexisCollin 0:586f8f975b8c 4
AlexisCollin 0:586f8f975b8c 5 HCSR04::HCSR04(PinName trigger, PinName echo) : _t(trigger), _e(echo) {
AlexisCollin 0:586f8f975b8c 6 wait(0.1);
AlexisCollin 0:586f8f975b8c 7 }
AlexisCollin 0:586f8f975b8c 8
AlexisCollin 0:586f8f975b8c 9 float HCSR04::getCm(void){
AlexisCollin 0:586f8f975b8c 10 distcm = readEcho()/58;
AlexisCollin 0:586f8f975b8c 11 return distcm;
AlexisCollin 0:586f8f975b8c 12 }
AlexisCollin 0:586f8f975b8c 13
AlexisCollin 0:586f8f975b8c 14 float HCSR04::getIn(void){
AlexisCollin 0:586f8f975b8c 15 distin = readEcho()/148;
AlexisCollin 0:586f8f975b8c 16 return distin;
AlexisCollin 0:586f8f975b8c 17 }
AlexisCollin 0:586f8f975b8c 18
AlexisCollin 0:586f8f975b8c 19 float HCSR04::readEcho(void){
AlexisCollin 0:586f8f975b8c 20 _t=1; //Inicio do trigger
AlexisCollin 0:586f8f975b8c 21 wait_us(10); //10us de pulso
AlexisCollin 0:586f8f975b8c 22 _t=0; //Fim do trigger
AlexisCollin 0:586f8f975b8c 23 while(!_e);
AlexisCollin 0:586f8f975b8c 24 _tempo.start();
AlexisCollin 0:586f8f975b8c 25 while(_e);
AlexisCollin 0:586f8f975b8c 26 tdist = _tempo.read_us(); //Leitura do tempo transcorrido
AlexisCollin 0:586f8f975b8c 27 _tempo.stop(); //Paro o temporizador
AlexisCollin 0:586f8f975b8c 28 _tempo.reset(); //Reset para o próximo ciclo
AlexisCollin 0:586f8f975b8c 29 return tdist;
AlexisCollin 0:586f8f975b8c 30 }