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. / | DistanceDistance 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_INITDEVICE_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