Code Arduino et vidéo pour le capteur de distance ultrasonique HC-SR04

Code Arduino et vidéo pour le capteur de distance ultrasonique HC-SR04

Dans ce tutoriel, nous verrons comment utiliser le capteur de distance ultrasonique HC-SR04 avec un Arduino. Le HC-SR04 est un moyen économique et efficace de mesurer des distances à l'aide d'ondes ultrasonores. En envoyant un signal et en mesurant le temps que met l'écho à revenir, nous pouvons calculer avec précision la distance jusqu'à un objet.

How HC-SR04 ulrasonic sensor work

Ce projet consiste à configurer le capteur avec un Arduino et à écrire un programme simple pour lire et afficher les mesures de distance. Le programme utilisera la bibliothèque NewPing pour simplifier la communication avec le capteur. Si vous souhaitez une référence visuelle ou des précisions supplémentaires sur certaines étapes, consultez la vidéo (dans la vidéo à 00:00).

Le matériel expliqué

Le capteur ultrasonique HC-SR04 se compose de deux composants principaux : un émetteur et un récepteur. L'émetteur envoie des impulsions ultrasonores à une fréquence supérieure à la plage d'audition humaine, tandis que le récepteur écoute l'écho de ces impulsions après avoir rebondi sur un objet. En calculant le temps écoulé entre l'envoi de l'impulsion et la réception de l'écho, on peut déterminer la distance jusqu'à l'objet.

Le capteur possède deux broches essentielles : la broche de déclenchement et la broche d'écho. La broche de déclenchement sert à lancer la mesure en envoyant une brève impulsion à l'état haut, tandis que la broche d'écho reçoit le signal réfléchi et mesure le temps que met l'écho pour revenir.

Détails de la fiche technique

FabricantHC-SR04
Numéro de pièceHC-SR04
Tension logique/E/S5 V
Tension d'alimentation5 V
Courant de sortie (par canal)15 mA
Courant de crête (par canal)20 mA
Directives sur la fréquence PWMSans objet
Seuils logiques d'entrée0.3 V (bas), 0.7 V (haut)
Chute de tension / RDS(on)/ saturationSans objet
Limites thermiques0 °C à 70 °C
PaquetModule
Notes / variantesPortée maximale 400 cm

  • Assurez-vous d'une alimentation électrique adéquate (5 V).
  • Maintenez le capteur propre pour des mesures précises.
  • Utilisez la broche de déclenchement pour lancer les mesures.
  • Ne dépassez pas la distance maximale pour des résultats fiables.
  • Maintenez un chemin dégagé pour que les ondes ultrasonores puissent être réfléchies.
  • Utilisez des condensateurs de découplage près des broches d'alimentation.
  • Faites attention au bruit ambiant qui pourrait perturber les mesures.
  • Testez différentes distances pour vous familiariser avec le capteur.

Instructions de câblage

Arduino Wiring for HC-SR04 ulrasonic sensor
Arduino Wiring for HC-SR04 ulrasonic sensor
Arduino Wiring for HC-SR04 ulrasonic sensor
Arduino Wiring for HC-SR04 ulrasonic sensor

Pour câbler le capteur ultrasonique HC-SR04 à votre Arduino, suivez ces étapes :

  • Connectez leVCCbroche du HC-SR04 à la broche 5V de l'Arduino.
  • Connectez leGNDbroche du HC-SR04 à une broche de masse sur l'Arduino.
  • Connectez leTRIGla broche du HC-SR04 (qui est généralement bleue) à la broche numérique 12 de l'Arduino.
  • Connectez leECHObroche du HC-SR04 (qui est généralement verte) à la broche numérique 11 de l'Arduino.

Assurez-vous que les connexions sont bien fixées afin d’éviter des mesures intermittentes. Si vous utilisez une configuration différente ou un câblage alternatif, reportez-vous à la vidéo pour des indications supplémentaires (dans la vidéo à 00:00).

Exemples de code et guide pas à pas

Le code suivant initialise la bibliothèque NewPing et configure les broches pour le capteur HC-SR04. Les principaux éléments comprennent la définition des broches de déclenchement et d'écho, ainsi que la distance maximale.

#define TRIGGER_PIN  12  // Trigger pin
#define ECHO_PIN     11  // Echo pin
#define MAX_DISTANCE 200  // Max distance in cm

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // Set up NewPing

Dans cet extrait, leTRIGGER_PINetECHO_PINsont configurés sur les broches numériques 12 et 11, respectivement. LeMAX_DISTANCEest défini comme 200 cm, ce qui correspond à la distance maximale que vous souhaitez mesurer.

Ensuite, nous avons la fonction setup où le moniteur série est initialisé pour afficher les résultats :

void setup() {
  Serial.begin(115200); // Initialize serial monitor
}

Ce code ouvre la communication série à une vitesse de 115200 bauds, ce qui nous permet de voir les mesures de distance dans le moniteur série.

Enfin, la fonction loop mesure la distance et vérifie si elle est inférieure ou égale à 12 cm :

void loop() {
  delay(50); // Wait between pings
  int distance = sonar.ping_cm(); // Measure distance
  if(distance <=12){ // Check distance
    Serial.println("Very close"); // Print if very close
  }
}

Dans leloop(), nous introduisons un délai de 50 millisecondes pour contrôler la fréquence des mesures. La distance est mesurée et, si elle est inférieure ou égale à 12 cm, le moniteur série affiche «Très proche».

Pour le code complet, veuillez vous référer à la section de chargement située sous l'article.

Démonstration / À quoi s'attendre

Lorsque vous exécutez le programme, l'Arduino mesurera en continu la distance jusqu'à l'objet le plus proche. Il doit afficher la distance en centimètres et vous avertir avec « Très proche » lorsqu'un objet est détecté à moins de 12 cm. Si l'objet est trop près, vous pouvez obtenir des mesures inexactes ou aucune mesure, comme indiqué dans la vidéo (dans la vidéo à 10:00).

Assurez-vous que le capteur est correctement positionné et qu'aucun obstacle ne bloque les ondes ultrasonores. Si tout est correctement configuré, vous devriez voir des mesures cohérentes affichées dans le moniteur série.

Horodatages vidéo

  • 00:00- Introduction au HC-SR04
  • 01:30- Câblage du capteur
  • 03:00- Aperçu du code
  • 05:00- Exécution du programme
  • 07:30- Mesurer les distances

Images

Arduino Wiring for HC-SR04 ulrasonic sensor
Arduino Wiring for HC-SR04 ulrasonic sensor
Arduino Wiring for HC-SR04 ulrasonic sensor
Arduino Wiring for HC-SR04 ulrasonic sensor
HC-SR04 ulrasonic sensor
HC-SR04 ulrasonic sensor
How HC-SR04 ulrasonic sensor work
How HC-SR04 ulrasonic sensor work
42-This is the Arduino code for the HC-SR04 ultrasonic distance sensor.
Langue: C++
Copié !

Ce dont vous pourriez avoir besoin

Ressources et références

Fichiers📁

Aucun fichier disponible.