Distance

tools
tools/Distance.h
tool stable stable

Gestion d'un capteur ultrason HC-SR04. Cette classe permet de gérer facilement un capteur ultrason HC-SR04 : /

Méthodes publiques

Méthode Description Paramètres Retour
Distance()
Distance(uint8_t triggerPin, uint8_t echoPin);
Constructeur du capteur de distance. / triggerPin: Broche TRIG du capteur HC-SR04.
echoPin: Broche ECHO du capteur HC-SR04. /
begin()
begin();
Initialise les broches du capteur. Configure la broche TRIG comme sortie et la broche ECHO comme entrée. À appeler une seule fois dans la fonction `setup()`. /
readDistanceCm()
readDistanceCm();
Lit la distance mesurée par le capteur. Envoie une impulsion sur la broche TRIG et mesure le temps de retour sur la broche ECHO. / Distance
Distance mesurée en centimètres (float). /
getStatus()
getStatus() const {
Retourne l'état du capteur. jour ailleurs dans la classe, y compris après begin() — valeur donc toujours figée à son initialisation). / DEVICE_ERROR_INIT
DEVICE_ERROR_INIT (⚠️ _status n'est actuellement jamais mis à jour ailleurs dans la classe, y compris après begin() — valeur donc toujours figée à son initialisation). /

Méthodes privées


            distance(ULTRASONIC_TRIG_PIN, ULTRASONIC_ECHO_PIN);;
begin(115200);;
begin();;
readDistanceCm();;
print("Distance: ");;
print(dist);;
println(" cm");;
delay(500);;

                    

Variables membres


            return _status;

                    

Code source


        #pragma once
#include <Arduino.h>
#include "../StatusDevice.h"
#include "../Settings.h"

/**
 * @namespace crepp::tools
 * @brief Gestion du capteur de distance ultrasonique HC-SR04.
 */
namespace crepp::tools {

/**
 * @class Distance
 * @brief Gestion d'un capteur ultrason HC-SR04.
 *
 * @details
 * Cette classe permet de gérer facilement un capteur ultrason
 * HC-SR04 :
 * - initialisation des broches TRIG et ECHO,
 * - mesure de distance en centimètres.
 *
 * @badge tool
 * @badge stable
 */
class Distance {
public:
    /**
     * @brief Constructeur du capteur de distance.
     *
     * @param triggerPin Broche TRIG du capteur HC-SR04.
     * @param echoPin Broche ECHO du capteur HC-SR04.
     */
    Distance(uint8_t triggerPin, uint8_t echoPin);

    /**
     * @brief Initialise les broches du capteur.
     *
     * @details
     * Configure la broche TRIG comme sortie et la broche ECHO comme entrée.
     * À appeler une seule fois dans la fonction `setup()`.
     */
    void begin();

    /**
     * @brief Lit la distance mesurée par le capteur.
     *
     * @details
     * Envoie une impulsion sur la broche TRIG et mesure
     * le temps de retour sur la broche ECHO.
     *
     * @return Distance mesurée en centimètres (float).
     */
    float readDistanceCm();

    /**
     * @brief Retourne l'état du capteur.
     * @return DEVICE_ERROR_INIT (⚠️ _status n'est actuellement jamais mis à
     *         jour ailleurs dans la classe, y compris après begin() — valeur
     *         donc toujours figée à son initialisation).
     */
    StatusDevice getStatus() const { return _status; }

private:
    uint8_t _triggerPin = crepp::settings::pin::ULTRASONIC_TRIG; /**< Broche TRIG */
    uint8_t _echoPin = crepp::settings::pin::ULTRASONIC_ECHO;    /**< Broche ECHO */

    StatusDevice _status = StatusDevice::DEVICE_ERROR_INIT;
};

/*
@example

@include
#include <crepp/tools/Distance.h>
@end_include

@macro
#define ULTRASONIC_TRIG_PIN 5
#define ULTRASONIC_ECHO_PIN 18
@end_macro

@instance
crepp::tools::Distance distance(ULTRASONIC_TRIG_PIN, ULTRASONIC_ECHO_PIN);
@end_instance

@isr
@end_isr

@function
@end_function
@setup
  Serial.begin(115200);
  distance.begin();
@end_setup

@loop
  float dist = distance.readDistanceCm();
  Serial.print("Distance: ");
  Serial.print(dist);
  Serial.println(" cm");
  delay(500);
@end_loop

@end_example
*/

} // namespace crepp::tools