ESP32 S3 - Capteur à ultrasons - LCD
Le capteur à ultrasons HC-SR04 combiné à un écran LCD I2C donne à l'ESP32 S3 une station de mesure de distance autonome — aucun ordinateur portable n'est nécessaire une fois le sketch téléversé. Ce tutoriel vous guide à travers le câblage des deux composants à l'ESP32 S3 et l'écriture du code Arduino qui prend des mesures et les affiche à l'écran en temps réel.
Ce que vous allez construire :
- Un circuit connectant un capteur à ultrasons HC-SR04 et un écran LCD I2C à l'ESP32 S3
- Un sketch qui déclenche le capteur, calcule la distance, et met à jour le LCD toutes les 500 millisecondes
- Un télémètre portable et autonome qui affiche les lectures sans avoir besoin d'un Serial Monitor
- Une base que vous pouvez étendre en alarmes de proximité, assistants de stationnement, ou moniteurs de niveau de liquide
Matériel requis
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Démarrage DIYables ESP32 S3 (ESP32 S3 inclus) | |
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
Note d'achat: La plupart des écrans LCD I2C du marché sont des modèles 5V. Ils peuvent fonctionner avec cette carte, mais ce n'est pas sûr et cela risque d'endommager la carte. Nous recommandons vivement d'utiliser l'écran LCD I2C 3.3V recommandé ci-dessus.
À propos du capteur à ultrasons et du LCD
Le capteur à ultrasons HC-SR04 émet une impulsion sonore à haute fréquence et mesure le temps que met l'écho à revenir, permettant à l'ESP32 S3 de calculer la distance à tout objet devant lui sans contact physique. L'associer à un écran LCD I2C transforme le résultat en un affichage continuellement mis à jour, facile à lire d'un coup d'œil, ce qui le rend idéal pour des instruments autonomes et des expositions interactives.
Caractéristiques principales
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 du matériel, le principe de fonctionnement, le câblage vers l'ESP32 S3 et le code Arduino. Apprenez-en plus aux liens suivants :
Schéma de câblage
Connectez le HC-SR04 et l'écran LCD I2C à votre ESP32 S3 en suivant le schéma ci-dessous, et vérifiez bien chaque connexion avant de mettre la carte sous tension. Le capteur à ultrasons et le LCD fonctionnent tous les deux en 5V, donc utilisez la broche 5V (VBUS) de l'ESP32 S3 lors de l'alimentation via USB.

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Un bornier à vis maintient chaque fil bien serré, même quand la carte bouge. La carte ESP32 S3 se branche sur une carte à bornier à vis pour ESP32 S3, qui transforme chaque broche en bornier à vis. Voici le montage avec la carte à bornier à vis :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Ou branchez la carte ESP32 S3 sur une carte d'extension GPIO pour ESP32 S3. Le même câblage ressemble alors à ceci :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Notes de sécurité
Connectez toujours les broches VCC du HC-SR04 et du LCD au rail 5V plutôt qu'au rail 3,3V — les deux composants nécessitent 5V pour fonctionner correctement et produiront des résultats peu fiables à des tensions plus basses. Gardez les fils de signal courts et éloignés des fils d'alimentation pour minimiser le bruit sur la ligne ECHO, qui pourrait produire des lectures de distance erratiques.
| Composant | Broche | Broche ESP32 S3 |
|---|---|---|
| Capteur à ultrasons | VCC | 5V |
| Capteur à ultrasons | GND | GND |
| Capteur à ultrasons | TRIG | GPIO15 |
| Capteur à ultrasons | ECHO | GPIO7 |
| LCD I2C | VCC | 5V |
| LCD I2C | GND | GND |
| LCD I2C | SCL | GPIO9 (Horloge I2C) |
| LCD I2C | SDA | GPIO8 (Données I2C) |
Code ESP32 S3
Le code suivant déclenche le capteur à ultrasons HC-SR04 toutes les 500 millisecondes, lit la durée de l'impulsion d'écho, la convertit en centimètres, et affiche le résultat sur l'écran LCD I2C. Il utilise la bibliothèque DIYables LCD I2C pour garder la logique d'affichage propre et lisible, ne nécessitant que quelques lignes pour initialiser et mettre à jour l'écran.
※ Note:
L'adresse I2C du LCD peut varier selon les fabricants. Dans le code, nous avons utilisé l'adresse 0x27 spécifiée par le fabricant DIYables. Si votre LCD n'affiche rien, essayez l'adresse 0x3F à la place.
Étapes rapides
- Nouveau sur ESP32 S3 ? Terminez d'abord notre guide ESP32 S3 - Premiers pas.
- Câblez le capteur à ultrasons et le LCD I2C à l'ESP32 S3 en suivant le schéma de câblage ci-dessus.
- Connectez la carte ESP32 S3 à votre PC à l'aide d'un câble USB Type-C.
- Ouvrez l'Arduino IDE sur votre PC.
- Sélectionnez la bonne carte ESP32 S3 et le bon port COM dans le menu Tools.
- Cliquez sur l'icône Libraries dans la barre latérale gauche de l'Arduino IDE.
- Tapez "DIYables LCD I2C" dans la zone de recherche, puis recherchez la bibliothèque DIYables_LCD_I2C de DIYables.
- Cliquez sur le bouton Install pour installer la bibliothèque DIYables_LCD_I2C.
- Search for DIYables LCD I2C created by DIYables.io and click the Install button.
- Copiez le code ci-dessus et collez-le dans l'Arduino IDE.
- Cliquez sur le bouton Upload pour compiler et téléverser le code sur votre ESP32 S3.

- Tenez votre main ou un objet à différentes distances devant le capteur.
- Observez la lecture de distance se mettre à jour sur l'écran LCD en temps réel.
- Astuce pro : Si le LCD n'affiche rien, ajustez le potentiomètre de contraste à l'arrière du module LCD et vérifiez que l'adresse I2C dans le code correspond à votre module (essayez 0x3F si 0x27 ne fonctionne pas).
Sortie du moniteur série
La sortie suivante du Serial Monitor montre l'ESP32 S3 lisant la distance depuis le capteur HC-SR04 et mettant à jour le LCD à intervalles réguliers. Chaque ligne est horodatée afin que vous puissiez vérifier la fréquence de mise à jour et voir que les lectures changent lorsque vous rapprochez ou éloignez un objet.
Applications et idées de projets
Une fois que vous avez des lectures de distance qui s'affichent sur le LCD avec votre ESP32 S3, vous pouvez adapter ce projet en une large gamme d'applications pratiques dans la domotique, la robotique et la surveillance industrielle.
- Assistant de stationnement : Montez le capteur dans un garage et affichez la distance en temps réel à mesure qu'un véhicule approche une ligne d'arrêt.
- Moniteur de niveau de liquide : Orientez le capteur vers le bas dans un réservoir et affichez la profondeur mesurée sous forme de pourcentage de remplissage sur le LCD.
- Alarme de proximité : Déclenchez un buzzer lorsque la distance affichée descend sous un seuil configurable.
- Robot de détection d'obstacle : Utilisez la distance affichée sur le LCD dans la logique de navigation pour diriger un véhicule autonome autour des obstacles.
- Compteur de personnes : Détectez quand quelqu'un passe une porte et incrémentez un compteur de visiteurs affiché sur le LCD.
- Station de mesure de hauteur : Montez le capteur au-dessus et affichez la hauteur calculée d'un objet ou d'une personne se tenant en dessous.
Tutoriel vidéo
Regardez le tutoriel vidéo étape par étape pour ce projet ESP32 S3 ci-dessous.
Défiez-vous
Maintenant que vous pouvez afficher des lectures de distance en direct sur le LCD avec votre ESP32 S3, essayez ces défis progressivement plus difficiles pour approfondir votre compréhension et étendre le projet vers quelque chose de plus performant.
- Débutant : Modifiez le sketch pour afficher la distance à la fois en centimètres et en pouces sur des lignes séparées du LCD.
- Débutant : Ajoutez une seconde ligne au LCD qui montre si l'objet détecté est « NEAR » (moins de 20 cm) ou « FAR » (plus de 20 cm).
- Intermédiaire : Implémentez un indicateur de proximité à trois niveaux sur le LCD — « SAFE », « CLOSE », et « DANGER » — avec des couleurs de LED correspondantes en utilisant une LED RVB.
- Intermédiaire : Appliquez une moyenne mobile sur cinq échantillons aux lectures de distance pour atténuer le bruit et produire un affichage LCD plus stable.
- Avancé : Ajoutez un bouton-poussoir qui permet à l'utilisateur de définir un seuil d'alerte personnalisé, stocké en mémoire flash afin qu'il survive à un cycle d'alimentation.
- Avancé : Étendez le projet avec le Wi-Fi afin que l'ESP32 S3 envoie les lectures de distance à un tableau de bord web tout en mettant à jour simultanément le LCD.