ESP32 S3 - Capteur à ultrasons - Relais

Ce tutoriel vous montre comment utiliser l'ESP32 S3 avec un capteur à ultrasons pour contrôler automatiquement un relais selon la distance à un objet proche. En combinant la mesure de distance sans contact avec la commutation par relais, vous acquerrez une compréhension pratique de la façon de déclencher des charges de forte puissance en réponse à des données de capteur du monde réel sur l'ESP32 S3.

Ce que vous allez construire :

  1. Un circuit connectant un capteur à ultrasons HC-SR04 et un module relais à l'ESP32 S3
  2. Un sketch qui mesure en continu la distance à un objet à l'aide du capteur à ultrasons
  3. Un système qui allume automatiquement le relais quand un objet entre dans une distance seuil proche et l'éteint quand l'objet s'éloigne
  4. Une base pour construire des systèmes d'automatisation déclenchés par proximité, comme des portes automatiques, des alarmes de sécurité, et des dispositifs de détection d'obstacle

Nous pouvons étendre ce tutoriel pour utiliser le capteur à ultrasons afin de contrôler un ruban de LED, une sirène, une ampoule, ou un moteur en les connectant au relais.

À propos du relais et du capteur à ultrasons

Le capteur à ultrasons HC-SR04 et un relais forment une association puissante pour construire une automatisation contrôlée par proximité avec l'ESP32 S3. Le capteur émet une impulsion ultrasonique et mesure le temps qu'elle met à se réfléchir sur un objet proche, tandis que l'ESP32 S3 convertit cette valeur de temps en une lecture de distance et l'utilise pour commuter un relais qui peut contrôler en toute sécurité des charges haute tension ou fort courant, bien au-delà des capacités des broches GPIO du microcontrôleur lui-même.

Spécifications clés

Nous avons des tutoriels dédiés couvrant chaque composant en profondeur. Chaque tutoriel contient des informations détaillées et des instructions étape par étape sur le brochage matériel, le principe de fonctionnement, la connexion de câblage à l'ESP32 S3, et le code Arduino. Apprenez-en plus aux liens suivants :

Schéma de câblage

Connectez le capteur à ultrasons et le relais à votre ESP32 S3 en suivant le schéma ci-dessous. Vérifiez deux fois toutes les connexions avant la mise sous tension, en particulier le câblage haute tension sur les bornes de sortie du relais.

ESP32 S3 Ultrasonic Sensor Relay Wiring Diagram

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Vous voulez un montage plus propre et plus sûr ? Placez la carte ESP32 S3 sur une carte à bornier à vis pour ESP32 S3, puis serrez chaque fil sous une vis. Les broches ne changent pas. Branchez simplement chaque fil sur le bornier à vis correspondant :

ESP32 S3 Ultrasonic Sensor Relay Wiring Diagram (Screw Terminal)

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Vous préférez des connecteurs à broches plutôt que des vis ? Branchez la carte ESP32 S3 sur une carte d'extension GPIO pour ESP32 S3 :

ESP32 S3 Ultrasonic Sensor Relay Wiring Diagram (GPIO Breakout Board)

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Notes de sécurité

Vérifiez toujours que les bornes COM et NO (ou NC) du relais sont bien fixées et qu'aucun fil dénudé n'est exposé avant de mettre le circuit sous tension. Gardez le câblage de contrôle basse tension vers l'ESP32 S3 physiquement séparé de tout câblage de charge haute tension pour réduire le risque de contact accidentel.

Composant Broche Broche ESP32 S3
Capteur à ultrasons VCC 5V
Capteur à ultrasons GND GND
Capteur à ultrasons Trig GPIO39
Capteur à ultrasons Echo GPIO38
Relais DC- GND
Relais DC+ 5V
Relais IN GPIO12

Code ESP32 S3

Le code suivant déclenche une impulsion ultrasonique sur l'ESP32 S3, mesure le temps d'écho aller-retour, le convertit en distance en centimètres, et active le relais quand la distance mesurée passe en dessous d'un seuil défini. La valeur de seuil peut être ajustée directement dans le code pour s'adapter à différentes exigences de détection de proximité.

/* * Ce code ESP32 S3 a été développé par newbiely.fr * Ce code ESP32 S3 est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp32-s3/esp32-s3-ultrasonic-sensor-relay */ /* * This ESP32-S3 code is created by esp32io.com * * This ESP32-S3 code is released in the public domain * * For more detail (instruction and wiring diagram), visit https://esp32io.com/tutorials/esp32-s3-ultrasonic-sensor-relay */ #define TRIG_PIN 39 // ESP32-S3 pin GPIO39 connected to Ultrasonic Sensor's TRIG pin #define ECHO_PIN 38 // ESP32-S3 pin GPIO38 connected to Ultrasonic Sensor's ECHO pin #define RELAY_PIN 12 // ESP32-S3 pin GPIO12 connected to Relay's pin #define DISTANCE_THRESHOLD 50 // centimeters // variables will change: float duration_us, distance_cm; void setup() { Serial.begin (9600); // initialize serial port pinMode(TRIG_PIN, OUTPUT); // set ESP32-S3 pin to output mode pinMode(ECHO_PIN, INPUT); // set ESP32-S3 pin to input mode pinMode(RELAY_PIN, OUTPUT); // set ESP32-S3 pin to output mode } void loop() { // generate 10-microsecond pulse to TRIG pin digitalWrite(TRIG_PIN, HIGH); delayMicroseconds(10); digitalWrite(TRIG_PIN, LOW); // measure duration of pulse from ECHO pin duration_us = pulseIn(ECHO_PIN, HIGH); // calculate the distance distance_cm = 0.017 * duration_us; if (distance_cm < DISTANCE_THRESHOLD) digitalWrite(RELAY_PIN, HIGH); // turn on Relay else digitalWrite(RELAY_PIN, LOW); // turn off Relay // print the value to Serial Monitor Serial.print("distance: "); Serial.print(distance_cm); Serial.println(" cm"); delay(500); }

Étapes rapides

  1. Nouveau sur ESP32 S3 ? Complétez d'abord notre guide ESP32 S3 - Premiers pas.
  2. Câblez les composants en suivant le schéma de câblage montré ci-dessus.
  3. Connectez la carte ESP32 S3 à votre PC à l'aide d'un câble USB Type-C.
  4. Ouvrez l'Arduino IDE sur votre PC.
  5. Sélectionnez la bonne carte ESP32 S3 et le bon port COM dans le menu Tools.
  6. Copiez le code ci-dessus et collez-le dans l'Arduino IDE.
  7. Cliquez sur le bouton Upload pour compiler et téléverser le code sur l'ESP32 S3.
Arduino IDE Upload Code
  1. Ouvrez le Serial Monitor à 115200 bauds.
  2. Approchez votre main du capteur à ultrasons et observez le relais s'allumer (vous entendrez un clic).
  3. Éloignez votre main du capteur et observez le relais s'éteindre.
  4. Vérifiez le Serial Monitor pour voir les lectures de distance en direct et l'état du relais affichés en temps réel.
  5. Astuce Pro : Essayez d'ajuster la valeur de seuil de distance dans le code pour affiner la sensibilité de détection — un seuil plus bas n'active le relais que pour des objets très proches, tandis qu'une valeur plus élevée le déclenche depuis plus loin, ce qui est utile pour différents scénarios d'automatisation.

Sortie du Serial Monitor

La sortie suivante du Serial Monitor montre l'ESP32 S3 lisant les données de distance depuis le capteur à ultrasons et commutant le relais en temps réel. Chaque ligne affiche la distance mesurée actuelle et l'état du relais correspondant déclenché par le seuil de proximité.

∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32S3 Dev Module' on 'COM15')
New Line
9600 baud
[2026-06-16 10:22:01] Distance: 85 cm | Relay: OFF [2026-06-16 10:22:02] Distance: 42 cm | Relay: OFF [2026-06-16 10:22:03] Distance: 18 cm | Relay: ON [2026-06-16 10:22:04] Distance: 9 cm | Relay: ON
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

Idées d'applications et de projets

Une fois que vous pouvez déclencher un relais à partir d'une lecture de distance à ultrasons sur l'ESP32 S3, vous pouvez étendre ce modèle à une large gamme de projets d'automatisation et de contrôle sensibles à la proximité.

  1. Ouvre-porte automatique : Montez le capteur près d'une porte et activez un relais de solénoïde ou de moteur pour ouvrir la porte quand une personne s'approche à une distance définie.
  2. Alarme de sécurité de proximité : Déclenchez une sirène 12V ou un voyant d'avertissement via le relais chaque fois que quelqu'un entre dans une zone restreinte détectée par le capteur.
  3. Distributeur de liquide sans contact : Activez un relais de pompe quand une main est détectée à quelques centimètres de la buse du capteur, pour une expérience de distribution entièrement sans les mains.
  4. Contrôleur de niveau de liquide : Montez le capteur au-dessus d'un réservoir pour détecter quand le niveau de liquide descend en dessous d'un point critique et activez un relais pour allumer une pompe de remplissage.
  5. Arrêt de moteur déclenché par obstacle : Utilisez le relais pour couper l'alimentation d'un mécanisme en mouvement comme un tapis roulant ou un bras robotisé quand une obstruction est détectée sur son chemin.
  6. Éclairage automatique d'escalier ou de couloir : Allumez une lumière contrôlée par relais quand une personne détectée s'approche et éteignez-la après qu'elle s'éloigne.

Relais vs module MOSFET

Un relais n'est pas le seul moyen de commuter un appareil. Si votre appareil fonctionne en courant continu (DC), comme une serrure à solénoïde 12V, une pompe 12V ou un ventilateur 12V, un module MOSFET peut faire le même travail.

Relais Module MOSFET
Ce qu'il peut faire allumer ou éteindre l'appareil allumer ou éteindre l'appareil, et régler sa puissance (PWM)
Bruit à la commutation un clic à chaque fois aucun bruit
Vitesse de commutation lente, quelques millisecondes très rapide
Durée de vie les contacts s'usent après de nombreuses commutations rien ne bouge, donc il dure longtemps
Type d'alimentation AC ou DC DC uniquement
Alimentation de l'appareil toute tension admise par le relais environ 6V ou plus
Isolation de l'ESP32 S3 oui, entre bobine et contacts oui, par l'optocoupleur PC817
Idéal pour appareils AC, ou simple ON/OFF appareils DC, ou variation de luminosité et de vitesse

Le relais et le module MOSFET s'activent tous les deux quand la broche de l'ESP32 S3 est à l'état HIGH. Le niveau 3.3V de l'ESP32 S3 suffit largement, car la LED de l'optocoupleur PC817 n'a besoin que de quelques milliampères. Donc, pour un simple ON/OFF, le code ci-dessus reste le même. Seul le câblage change. Pour les appareils branchés sur le secteur AC, utilisez toujours le relais.

Pour connaître le brochage, le câblage, le code PWM et les conseils de sécurité du module MOSFET, consultez le tutoriel ESP32 S3 - Module MOSFET.

Tutoriel vidéo

Regardez la vidéo pas à pas de ce projet ESP32 S3 ci-dessous.

Défiez-vous

Maintenant que vous pouvez contrôler un relais avec un capteur à ultrasons sur l'ESP32 S3, essayez ces extensions progressivement plus difficiles pour approfondir votre compréhension et construire des systèmes déclenchés par proximité plus performants.

  1. Débutant : Modifiez la valeur de distance seuil dans le code et observez comment cela change le point d'activation du relais, puis affichez un message de confirmation sur le Serial Monitor montrant quel seuil est actuellement actif.
  2. Débutant : Ajoutez un indicateur LED câblé à une broche GPIO séparée qui s'allume chaque fois que le relais est sous tension, vous donnant une confirmation visuelle basse tension en plus du clic audible du relais.
  3. Intermédiaire : Implémentez une hystérésis dans la logique de seuil afin que le relais s'allume à une distance (par ex. 20 cm) mais ne s'éteigne que lorsque l'objet dépasse une distance plus grande (par ex. 30 cm), évitant un cliquetis rapide du relais près de la limite.
  4. Intermédiaire : Ajoutez un écran OLED I2C pour afficher la lecture de distance en direct et l'état du relais dans un affichage formaté, supprimant la dépendance au Serial Monitor pour la surveillance.
  5. Avancé : Stockez une valeur de seuil configurable dans le stockage non volatile de l'ESP32 S3 (bibliothèque Preferences) afin que le réglage persiste à travers les cycles d'alimentation sans re-téléverser le code.
  6. Avancé : Étendez le projet avec le WiFi afin que le relais puisse être surveillé et le seuil de détection ajusté à distance depuis une page web servie par l'ESP32 S3.

Commentaires

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !