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 #ifndef HCSR04_H
AlexisCollin 0:586f8f975b8c 2 #define HCSR04_H
AlexisCollin 0:586f8f975b8c 3
AlexisCollin 0:586f8f975b8c 4 #include "mbed.h"
AlexisCollin 0:586f8f975b8c 5
AlexisCollin 0:586f8f975b8c 6
AlexisCollin 0:586f8f975b8c 7
AlexisCollin 0:586f8f975b8c 8 /**
AlexisCollin 0:586f8f975b8c 9 * Sonar HC-SR04 example.
AlexisCollin 0:586f8f975b8c 10 * @code
AlexisCollin 0:586f8f975b8c 11 * #include "mbed.h"
AlexisCollin 0:586f8f975b8c 12 * #include "HCSR04.h"
AlexisCollin 0:586f8f975b8c 13 *
AlexisCollin 0:586f8f975b8c 14 * DigitalOut myled(LED1);
AlexisCollin 0:586f8f975b8c 15 * Serial pc(USBTX,USBRX);
AlexisCollin 0:586f8f975b8c 16 *
AlexisCollin 0:586f8f975b8c 17 * HCSR04 sonar(PTD5, PTA13);
AlexisCollin 0:586f8f975b8c 18 *
AlexisCollin 0:586f8f975b8c 19 * int main() {
AlexisCollin 0:586f8f975b8c 20 * while(1) {
AlexisCollin 0:586f8f975b8c 21 * printf("Distancia detectada pelo sensor Frente %.2f cm \n", sonar.getCm());
AlexisCollin 0:586f8f975b8c 22 * wait_ms(1000);
AlexisCollin 0:586f8f975b8c 23 * }
AlexisCollin 0:586f8f975b8c 24 * }
AlexisCollin 0:586f8f975b8c 25 *
AlexisCollin 0:586f8f975b8c 26 * @endcode
AlexisCollin 0:586f8f975b8c 27 */
AlexisCollin 0:586f8f975b8c 28
AlexisCollin 0:586f8f975b8c 29 class HCSR04 {
AlexisCollin 0:586f8f975b8c 30 public:
AlexisCollin 0:586f8f975b8c 31 /** Constructor, create HCSR04 instance
AlexisCollin 0:586f8f975b8c 32 *
AlexisCollin 0:586f8f975b8c 33 * @param trigger TRIG pin
AlexisCollin 0:586f8f975b8c 34 * @param echo ECHO pin
AlexisCollin 0:586f8f975b8c 35 */
AlexisCollin 0:586f8f975b8c 36 HCSR04(PinName trigger, PinName echo);
AlexisCollin 0:586f8f975b8c 37
AlexisCollin 0:586f8f975b8c 38 /** It make a reading of the sonar Faz uma leitura do sonar
AlexisCollin 0:586f8f975b8c 39 *
AlexisCollin 0:586f8f975b8c 40 * @returns Tempo do pulso echo em microsegundos*/
AlexisCollin 0:586f8f975b8c 41 float readEcho(void);
AlexisCollin 0:586f8f975b8c 42
AlexisCollin 0:586f8f975b8c 43 /** It messures the distance in centimeter "cm"
AlexisCollin 0:586f8f975b8c 44 *
AlexisCollin 0:586f8f975b8c 45 *@returns Distance in centimeter
AlexisCollin 0:586f8f975b8c 46 */
AlexisCollin 0:586f8f975b8c 47 float getCm(void);
AlexisCollin 0:586f8f975b8c 48
AlexisCollin 0:586f8f975b8c 49 /** Mede a distência em polegadas "in"
AlexisCollin 0:586f8f975b8c 50 *
AlexisCollin 0:586f8f975b8c 51 *@returns Distência em in*/
AlexisCollin 0:586f8f975b8c 52 float getIn(void);
AlexisCollin 0:586f8f975b8c 53
AlexisCollin 0:586f8f975b8c 54 private:
AlexisCollin 0:586f8f975b8c 55 float tdist; //Leitura do tempo transcorrido
AlexisCollin 0:586f8f975b8c 56 float distcm; //Guarda o valor da distanciância em centímetros
AlexisCollin 0:586f8f975b8c 57 float distin; //Guarda o valor da distência em polegadas
AlexisCollin 0:586f8f975b8c 58
AlexisCollin 0:586f8f975b8c 59 DigitalOut _t; //Configuração do pino de Trigger
AlexisCollin 0:586f8f975b8c 60 DigitalIn _e; //Configuração do pino de Echo
AlexisCollin 0:586f8f975b8c 61 Timer _tempo; //Cria um objeto timer
AlexisCollin 0:586f8f975b8c 62
AlexisCollin 0:586f8f975b8c 63 };
AlexisCollin 0:586f8f975b8c 64
AlexisCollin 0:586f8f975b8c 65 #endif