Skip to Content

Interface ESP32 et capteur ultrasonique étanche JSN-SR04T – Un tutoriel approfondi

Interface ESP32 et capteur ultrasonique étanche JSN-SR04T – Un tutoriel approfondi

Dans cet article, je vais vous montrer comment utiliser le capteur ultrasonique étanche JSN-SR04T avec un microcontrôleur ESP32.

Le capteur JSN-SR04T est utilisé dans diverses applications, notamment la conduite autonome, l’évitement de collisions, la détection de mouvement, et bien plus encore. 

Ses caractéristiques étanches supplémentaires en font un capteur adapté à une utilisation en extérieur, vous permettant de réaliser encore plus de projets sans limiter le champ d’application. 

Vous apprendrez tout sur le capteur JSN-SR04T, je vous expliquerai comment le connecter à un ESP32, je fournirai un code fonctionnel pour tester le capteur avec l’ESP32, et je répondrai également aux questions les plus fréquentes à son sujet.

Vous trouverez les principes de fonctionnement de base, les caractéristiques électriques, les applications, ainsi que des astuces et conseils pour vos projets impliquant le JSN-SR04T. 

Commençons !

Composants nécessaires pour réaliser un projet ESP32 et capteur JSN-SR04T

Composants matériels

Logiciel

Guide

Makerguides.com participe au programme Amazon Services LLC Associates, un programme de publicité affiliée conçu pour permettre aux sites de percevoir des commissions publicitaires en faisant la promotion et en créant des liens vers des produits sur Amazon.com.

Principes fondamentaux du capteur JSN-SR04T

Comprenons le principe de fonctionnement de base, les caractéristiques, les broches et les applications du capteur ultrasonique étanche JSN-SR04T. Connaître ces détails vous donnera confiance pour réaliser des projets durables.

À la fin de cet article, vous serez capable de concevoir et de déboguer des projets avec le capteur ultrasonique JSN-SR04T.

Les capteurs JSN-SR04T couramment disponibles sont montrés sur l’image ci-dessous. Le capteur ne fait pas partie directement du circuit imprimé mais est détachable. Cela vous permet de placer confortablement le capteur (pare-chocs de véhicule) et de protéger le PCB des environnements difficiles.

JSN-SR04T sensor module
Module capteur JSN-SR04T

Le capteur est étanche, ce qui vous permet de le sceller pour une utilisation dans des conditions humides difficiles. 

Le capteur JSN-SR04T est unique. Il supporte plusieurs modes de fonctionnement. L’un des modes est le célèbre mode HC-SR04, qui accepte un signal de déclenchement et fournit une impulsion d’écho correspondant au temps que le son met pour voyager et rebondir sur un objet. 

Vous pouvez utiliser la référence ci-dessous pour consulter rapidement le brochage du module capteur ultrasonique étanche JSN-SR04T.

JSN-SR04T waterproof ultrasonic sensor module pinout
Brochage du module capteur JSN-SR04T

Le JSN-SR04T supporte également d’autres modes, comme expliqué dans la section suivante. 

Modes de fonctionnement du JSN-SR04T

Mode 0 du capteur JSN-SR04T

En mode 0, le capteur imite le fonctionnement du capteur ultrasonique HC-SR04. C’est le mode par défaut du PCB à la livraison. 

Mode 1 du capteur JSN-SR04T

Que diriez-vous d’un capteur ultrasonique qui calcule lui-même la distance et vous communique la valeur mesurée en série ? C’est ce que fait le mode 1. Aucun effort requis de l’ESP32. 

Rien à calculer. Il suffit de recevoir la distance mesurée directement depuis le capteur via le port série. 

Pour activer le mode 1, reliez les petites pastilles correspondant à la pastille M1.

Mode 1 of JSN-SR04T Sensor
En-tête Donnée 1 Donnée 0 Checksum
0xFF, indique le début du bloc de données Octet supérieur des données 16 bits Octet inférieur des données 16 bits Somme des trois octets

Mode 2 du capteur JSN-SR04T

Ce mode est identique au mode 1. Ici, les données ne sont pas envoyées automatiquement par le capteur. Vous devez envoyer une requête via le port série. 

Pour activer le mode 2, reliez les petites pastilles correspondant à la pastille M2. 

Mode 3 du capteur JSN-SR04T

Le mode 3 est identique au mode 1 (mode HC-SR04). Ici, il n’attend pas le signal de déclenchement de l’hôte (ESP32). Il se déclenche automatiquement toutes les 200 ms et vous fournit l’impulsion sur l’entrée écho. 

Pour activer le mode 3, placez une résistance de 200 K ohms sur la pastille « mode ».

Mode 4 du capteur JSN-SR04T

Le mode 4 est identique au mode 1 (mode HC-SR04) avec une consommation d’énergie ultra-faible.

Pour activer le mode 4, placez une résistance de 360 K ohms sur la pastille « mode ».

Mode 5 du capteur JSN-SR04T

Le mode 5 agit comme un interrupteur préconfiguré. La broche écho bascule lorsque le capteur détecte un objet à moins de 1,5 mètre.

Pour activer le mode 5, placez une résistance de 470 K ohms sur la pastille « mode ».

Caractéristiques du capteur JSN-SR04T

Voici un résumé des caractéristiques du capteur JSN-SR04T sous forme de tableau.

Paramètre Portée
Tension de fonctionnement DC 3 V à 5,5 V
Courant de fonctionnement Moins de 8 mA
Fréquence de sonde 40 kHz
Portée maximale 600 cm
Portée minimale 20 cm
Précision de distance 10 mm
Résolution 1 mm
Angle de mesure 75°
Température de fonctionnement -20 °C à 70 °C

Applications du capteur JSN-SR04T

Les capteurs ultrasoniques sont utilisés dans diverses applications. Ils permettent d’économiser de l’énergie, d’améliorer l’expérience utilisateur, et d’ajouter confort et sécurité. Voici quelques applications courantes :

Mesure de distance : La mesure de distance est une fonction essentielle du capteur ultrasonique, utile pour l’aide au stationnement, la navigation robotique, et l’automatisation industrielle.

Détection d’objets : Vous pouvez utiliser le capteur JSN-SR04T pour détecter des objets, les mouvements d’animaux domestiques, des systèmes de sécurité pour détecter des personnes dans des zones restreintes, etc.

Mesure de niveau : Vous pouvez utiliser le capteur pour mesurer le niveau de liquide dans des réservoirs, des chaudières industrielles, ou le nombre d’articles restants dans des contenants. 

Par exemple, vous pouvez construire une poubelle intelligente qui ouvre automatiquement son couvercle. 

Vous pouvez aussi installer des capteurs ultrasoniques sur votre bureau pour détecter votre présence. Si vous vous levez et vous éloignez, ils peuvent éteindre automatiquement les lampes et les ventilateurs !

Les possibilités avec le JSN-SR04T sont nombreuses – qu’allez-vous construire ? Dites-le-moi dans la section commentaires ci-dessous.

Instructions pour connecter le module capteur JSN-SR04T à l’ESP32

Je vais vous montrer comment réaliser un projet avec l’ESP32 et le capteur de distance ultrasonique JSN-SR04T. Commençons par les connexions matérielles.

Étape 1 : Effectuer les connexions matérielles

Connecting JSN-SR04T to ESP32
Connexion du JSN-SR04T à l’ESP32

Le module capteur ultrasonique JSN-SR04T dispose d’un connecteur 4 broches pour l’interface avec les microcontrôleurs. 

Les connexions sont également simples à comprendre et à suivre, comme montré dans le schéma ci-dessus.

Commencez toujours par les connexions à la masse. Alimentez l’ensemble du système uniquement après avoir terminé toutes les connexions.

Voici un résumé des connexions entre l’ESP32 et le capteur JSN-SR04T. 

  • Connectez la broche GND du capteur aux broches GND de l’ESP32. 
  • Connectez la broche VCC du capteur à la broche 5V de l’ESP32.
  • Connectez la broche GPIO5 de l’ESP32 à la broche TRIG du capteur.
  • La broche ECHO du capteur va à la broche GPIO18 de l’ESP32.
Broches du capteur ultrasonique JSN-SR04T Broches ESP32
VCC 5V
TRIG GPIO5
ECHO GPIO18
GND GND

J’utilise GPIO5 et GPIO18 pour les broches TRIG et ECHO, respectivement, dans mon exemple. 

Vous pouvez choisir d’autres broches sur l’ESP32. Si vous utilisez d’autres broches, modifiez le code en conséquence.

Étape 2 : Programmer l’ESP32 avec le code ci-dessous

Suivez l’étape suivante pour comprendre l’implémentation du code. Vous pouvez utiliser le code ci-dessous pour tester le module ESP32 et le capteur ultrasonique JSN-SR04T connecté.

#define echoPin 18 // attach pin GPIO18 to pin Echo of JSN-SR04
#define trigPin 5  // attach pin GPIO5 ESP32 to pin Trig of JSN-SR04                     

long duration; // Time taken for the pulse to reach the receiver
int distance; 

void setup()
{
  pinMode(trigPin, OUTPUT); 
  pinMode(echoPin, INPUT);  
  Serial.begin(9600);
  Serial.println("Distance measurement using JSN-SR04T");
  delay(500);
}

void loop()
{
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2); 

  digitalWrite(trigPin, HIGH); // turn on the Trigger to generate pulse
  delayMicroseconds(10); // keep the trigger "ON" for 10 ms to generate pulse
  digitalWrite(trigPin, LOW); // Turn off the pulse trigger to stop pulse

  // If pulse reached the receiver echoPin
  // become high Then pulseIn() returns the
  // time taken by the pulse to reach the receiver
  duration = pulseIn(echoPin, HIGH);
  distance = duration * 0.0344 / 2; 

  Serial.print("Distance: ");
  Serial.print(distance);
  Serial.println(" cm");
  delay(100);
}

Étape 3 : Explication du code

Explication du code :

Parcourons le code. Vous mesurerez la distance entre l’obstacle et l’élément de détection ultrasonique du JSN-SR04T dans cet exemple. 

Commençons !

#define echoPin 18 // attach pin GPIO18 of ESP32 to pin Echo of JSN-SR04
#define trigPin 5  // attach pin GPIO5 of ESP32 to pin Trig of JSN-SR04

Les lignes utilisées pour connecter le capteur JSN-SR04T à l’ESP32 sont : echoPin sert à recevoir le signal d’écho du capteur, et trigPin sert à déclencher l’envoi d’une impulsion ultrasonique.

long duration;
int distance;

Déclarez deux variables : duration et distance.

  • duration sert à stocker le temps que met le signal ultrasonique pour revenir au capteur
  • distance sert à stocker la distance calculée en cm.

La fonction setup() est appelée une fois au démarrage du programme. Dans cette fonction, trigPin est configuré en sortie, et echoPin en entrée. 

Serial.begin(9600) initialise la communication série à un débit de 9600 bauds, et la commande Serial.println() suivante sert à afficher un message sur le moniteur série. 

La fonction delay(500) attend 500 ms avant de passer à la fonction loop().

La fonction loop() est appelée en boucle tout au long du programme. 

Ce code commence par envoyer un signal bas à trigPin pendant 2 µs. Puis il envoie un signal haut à trigPin pendant 10 microsecondes pour générer une impulsion de 10 ms. Après la génération de l’impulsion, trigPin est désactivé.

La fonction pulseIn() est ensuite utilisée pour calculer la durée de l’impulsion. Cette fonction attend que l’impulsion atteigne echoPin puis mesure le temps de retour de l’impulsion. 

  duration = pulseIn(echoPin, HIGH);
  distance = duration * 0.0344 / 2;

Vous pouvez convertir ce délai en distance en utilisant la vitesse du son (environ 344 m/s).

  Serial.print("Distance: ");
  Serial.print(distance); 
  Serial.println(" cm");
  delay(100);

Enfin, la valeur de distance est affichée sur le moniteur série. Le programme attend ensuite 100 ms. L’opération entière est répétée.

FAQ sur les capteurs JSN-SR04T

Voici une liste des questions les plus fréquemment posées sur les projets réalisés avec l’ESP32 et les capteurs JSN-SR04T :

À quoi sert le capteur ultrasonique JSN-SR04T ?

Le JSN-SR04T est un capteur ultrasonique étanche. Vous pouvez l’utiliser pour mesurer la distance entre des objets. Il fonctionne en émettant des ondes sonores à haute fréquence et en mesurant le temps de retour. 

Quelle est la tension de fonctionnement du capteur JSN-SR04T ?

Le capteur ultrasonique JSN-SR04T fonctionne sous une tension de 5 V DC. Veuillez consulter la fiche technique du module que vous achetez pour plus de sécurité. 

Quelle est la portée maximale de détection du capteur JSN-SR04T ?

La portée maximale de détection du capteur JSN-SR04T est d’environ 4 m. Certaines variantes offrent une portée plus grande au prix d’une précision moindre. 

Le capteur JSN-SR04T peut-il être utilisé en extérieur ?

Le capteur JSN-SR04T peut être utilisé en extérieur. Il est étanche et peut fonctionner dans des environnements humides et difficiles. Son fonctionnement est similaire à celui des capteurs HC-SR04. 

Quelle est la précision du capteur JSN-SR04T ?

Il a une précision d’environ 3 mm. Vous pouvez calibrer le capteur une fois pour un environnement particulier afin d’obtenir de meilleurs résultats. La précision dépendra aussi de la température, de l’humidité et d’autres facteurs environnementaux. 

Le capteur JSN-SR04T fonctionne-t-il dans différentes conditions d’éclairage ?

Oui, le capteur JSN-SR04T fonctionne dans différentes conditions d’éclairage, car il ne dépend pas de la lumière visible. Il fonctionne sur le principe du temps que met le son à parcourir une distance donnée. 

Quelles sont les dimensions du capteur JSN-SR04T ?

Le capteur JSN-SR04T mesure 45 mm x 20 mm x 15 mm. L’extension du capteur est fournie avec un câble de 2,5 m de longueur, qui peut varier.

Conclusion

Cet article a couvert toutes les informations essentielles sur les capteurs JSN-SR04T. Je vous ai donné toutes les informations sur le fonctionnement du capteur JSN-SR04 et les applications possibles. 

Le principe de fonctionnement de base ainsi que quelques astuces d’utilisation du JSN-SR04T devraient vous aider à utiliser ce capteur en toute confiance dans votre prochain projet. 

J’ai également partagé un guide de câblage pour l’ESP32 et un exemple de code avec explications.

Si vous avez d’autres questions sur les capteurs ultrasoniques, n’hésitez pas à les poser dans la section commentaires. 

Faites-nous savoir s’il y a d’autres sujets que vous aimeriez que je couvre dans de futurs articles.