ESP32 S3 - Capteur de pluie

Apprenez à utiliser un ESP32 S3 avec un capteur de pluie pour détecter les précipitations et mesurer les niveaux d'humidité. Ce tutoriel adapté aux débutants couvre à la fois les méthodes de détection de pluie numérique et analogique avec un câblage simple et des exemples de code.

Ce que vous allez construire :

  1. Un système de détection de pluie utilisant la broche de sortie numérique du capteur
  2. Un compteur d'intensité de pluie utilisant la broche de sortie analogique pour des lectures continues
  3. Une configuration résistante à la corrosion qui n'alimente le capteur que pendant les lectures
  4. Un affichage sur le moniteur série montrant l'état de la pluie et les valeurs d'humidité en temps réel
Capteur de pluie ESP32 S3

Après avoir terminé ce tutoriel, vous pouvez modifier le code pour activer des alarmes, des moteurs, ou des systèmes automatisés lorsque la pluie est détectée.

Matériel requis

1×ESP32 S3 WROOM N16R8
1×Alternativement: ESP32 S3 SuperMini Dev Module
1×Alternativement: ESP32 S3 Uno-form Board
1×Alternativement: ESP32 S3 Camera Board
1×Câble USB Type-A vers Type-C (pour PC USB-A)
1×Câble USB Type-C vers Type-C (pour PC USB-C)
1×Capteur de pluie
1×Plaque d'essai
1×Fils de connexion
1×Recommandé: Screw Terminal Expansion Board for ESP32 S3
1×Recommandé: Breakout Expansion Board for ESP32 S3
1×Recommandé: Power Splitter for ESP32 S3

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)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos du capteur de pluie

Un capteur de pluie est un module électronique qui détecte et mesure les niveaux de pluie ou de neige par détection d'humidité sur une plaque de détection. Il fournit deux modes de sortie — numérique pour une simple détection de présence et analogique pour une mesure continue de l'intensité — ce qui le rend adapté à un large éventail de projets sensibles à la météo. Le capteur fonctionne entre 3,3V et 5V, ce qui le rend entièrement compatible avec l'ESP32 S3.

Spécifications clés

  • Double mode de sortie : numérique (pluie/pas de pluie) et analogique (niveau d'intensité)
  • Sensibilité réglable via un potentiomètre intégré
  • Fonctionne pour la détection de pluie et de neige
  • Tension de fonctionnement : 3,3V à 5V
  • Temps de réponse rapide pour une détection en temps réel
  • Parfait pour les stations météo et les systèmes automatisés

Deux composants principaux :

  • Plaque de détection : Surface de détection extérieure avec pistes de cuivre exposées
  • Module électronique : Processeur de signal avec sorties analogique et numérique
Brochage du capteur de pluie
image source: diyables.io

La plaque de détection

La plaque de détection est conçue pour un placement en extérieur où elle est exposée à la pluie ou à la neige.

Comment ça fonctionne :

  • Contient des pistes de cuivre exposées divisées en deux groupes
  • Les pistes d'alimentation et les pistes de détection restent séparées lorsqu'elles sont sèches
  • L'eau ou la neige relie les pistes, complétant le circuit
  • L'un ou l'autre groupe peut servir de piste d'alimentation ou de détection
  • Une surface plus grande offre une meilleure précision de détection

Le module électronique

Le module électronique traite les signaux de la plaque de détection et les convertit en sorties compatibles avec l'ESP32 S3.

Configuration des broches :

  • Broche VCC : Connexion d'alimentation (3,3V à 5V)
  • Broche GND : Connexion de masse (0V)
  • Broche DO : Sortie numérique (HIGH quand sec, LOW quand mouillé)
  • Broche AO : Sortie analogique (varie selon l'intensité d'humidité)

Voyants LED :

  • PWR-LED : Voyant d'alimentation (toujours allumé lorsqu'alimenté)
  • DO-LED : Voyant de détection de pluie (allumé quand la pluie est détectée)

Réglage de la sensibilité :

  • Un potentiomètre intégré ajuste le seuil numérique
  • Tournez dans le sens horaire pour augmenter la sensibilité
  • Tournez dans le sens antihoraire pour diminuer la sensibilité
  • N'affecte que la broche DO, pas les lectures de la broche AO

Comment ça fonctionne

Sortie numérique (broche DO) :

  • Le potentiomètre définit le seuil de détection de pluie
  • Lorsque l'humidité dépasse le seuil : la broche DO passe à LOW, la LED s'allume
  • Lorsque l'humidité est en dessous du seuil : la broche DO reste à HIGH, la LED s'éteint
  • Idéal pour les projets simples de détection pluie/pas de pluie

Sortie analogique (broche AO) :

  • Fournit des lectures continues du niveau d'humidité
  • Plus d'eau sur la plaque = valeur AO plus basse
  • Moins d'eau sur la plaque = valeur AO plus élevée
  • Non affectée par les réglages du potentiomètre
  • Idéale pour mesurer l'intensité des précipitations

Remarque importante : Utiliser une broche GPIO de l'ESP32 S3 pour alimenter le capteur (au lieu d'un 5V/3,3V constant) prolonge considérablement la durée de vie du capteur en réduisant la corrosion électrochimique entre les lectures.

Schéma de câblage

Le module de capteur de pluie offre des options de câblage flexibles selon que vous avez besoin d'une détection numérique, d'une mesure analogique, ou des deux. Connecter VCC à une broche GPIO plutôt qu'à un rail d'alimentation fixe permet à l'ESP32 S3 de n'allumer le capteur que pendant les mesures, ce qui réduit considérablement la corrosion électrochimique sur la plaque de détection.

Notes de sécurité

Assurez-vous toujours que la plaque de détection est placée en extérieur et exposée aux éléments, tandis que le module électronique reste à l'abri. Évitez de submerger le module dans l'eau, car seule la plaque de détection est conçue pour le contact avec l'humidité. Il est fortement recommandé d'utiliser une alimentation contrôlée par GPIO (comme indiqué dans le tableau de câblage ci-dessous) pour maximiser la longévité du capteur.

Schéma de câblage du capteur de pluie ESP32 S3

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

Broche du capteur de pluie Broche ESP32 S3
VCC GPIO40
GND GND
DO GPIO2
AO GPIO5 (GPIO5 / ADC1_CH4)

Code ESP32 S3 - Lire la valeur de la broche DO

Le code suivant montre comment détecter la pluie à l'aide de la sortie numérique du capteur de pluie. Il n'alimente le capteur que pendant chaque cycle de lecture pour minimiser la corrosion, puis lit l'état de la broche DO et indique si de la pluie est présente. Le résultat est affiché sur le moniteur série dans un format clair et horodaté.

/* * 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-rain-sensor */ #define POWER_PIN 40 // The ESP32 S3 pin that provides the power to the rain sensor #define DO_PIN 2 // The ESP32 S3 pin connected to DO pin of the rain sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(115200); // initialize theArduino Nano ESP32 pin as an input pinMode(POWER_PIN, OUTPUT); // Configure the power pin pin as an OUTPUT pinMode(DO_PIN, INPUT); } void loop() { digitalWrite(POWER_PIN, HIGH); // turn the rain sensor's power ON delay(10); // wait 10 milliseconds int rain_state = digitalRead(DO_PIN); digitalWrite(POWER_PIN, LOW); // turn the rain sensor's power OFF if (rain_state == HIGH) Serial.println("The rain is NOT detected"); else Serial.println("The rain is detected"); delay(1000); // pause for 1 sec to avoid reading sensors frequently to prolong the sensor lifetime }

Étapes rapides

  1. Nouveau sur ESP32 S3 ? Suivez d'abord notre guide ESP32 S3 - Premiers pas.
  2. Téléversez le code : Copiez le code ci-dessus et ouvrez-le dans l'Arduino IDE
  3. Sélectionnez votre carte : Choisissez ESP32 S3 dans le menu des cartes
  4. Connectez l'ESP32 S3 : Branchez votre ESP32 S3 via un câble USB-C
  5. Téléversez : Cliquez sur le bouton Upload pour transférer le code vers l'ESP32 S3
  6. Testez le capteur : Déposez des gouttes d'eau sur la plaque du capteur de pluie
  7. Ouvrez le moniteur série : Réglez le débit en bauds sur 115200 pour voir les résultats
  8. Ajustez la sensibilité : Si nécessaire, tournez le potentiomètre pour affiner la détection
  9. Astuce pro : Testez le réglage de sensibilité avec différentes quantités d'eau pour trouver le seuil parfait pour votre application
∞
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
[June 16, 2026 10:23:45] The rain is NOT detected [June 16, 2026 10:23:46] The rain is NOT detected [June 16, 2026 10:23:47] The rain is NOT detected [June 16, 2026 10:23:48] The rain is detected [June 16, 2026 10:23:49] The rain is detected [June 16, 2026 10:23:50] The rain is detected [June 16, 2026 10:23:51] The rain is detected [June 16, 2026 10:23:52] The rain is detected [June 16, 2026 10:23:53] The rain is NOT detected [June 16, 2026 10:23:54] The rain is NOT detected
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

Si la DO-LED reste constamment allumée ou éteinte quelle que soit la présence d'eau, ajustez le potentiomètre dans le sens horaire ou antihoraire pour calibrer le seuil de sensibilité pour votre environnement.

Code ESP32 S3 - Lire la valeur de la broche AO

Le code suivant montre comment mesurer l'intensité de la pluie à l'aide de la sortie analogique du capteur de pluie. L'ESP32 S3 alimente le capteur via GPIO40 uniquement pendant chaque lecture, lit la tension analogique sur la broche AO, et affiche une valeur numérique d'humidité sur le moniteur série. Des valeurs plus basses indiquent des précipitations plus fortes, tandis que des valeurs plus élevées indiquent des conditions plus sèches.

/* * 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-rain-sensor */ #define POWER_PIN 40 // The ESP32 S3 pin that provides the power to the rain sensor #define AO_PIN 5 // The ESP32 S3 pin connected to AO pin of the rain sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(115200); // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); pinMode(POWER_PIN, OUTPUT); // Configure the power pin pin as an OUTPUT } void loop() { digitalWrite(POWER_PIN, HIGH); // turn the rain sensor's power ON delay(10); // wait 10 milliseconds int rain_value = analogRead(AO_PIN); digitalWrite(POWER_PIN, LOW); // turn the rain sensor's power OFF Serial.println(rain_value); // print out the analog value delay(1000); // pause for 1 sec to avoid reading sensors frequently to prolong the sensor lifetime }

Étapes rapides

  1. Nouveau sur ESP32 S3 ? Suivez d'abord notre guide ESP32 S3 - Premiers pas.
  2. Téléversez le code : Copiez le code ci-dessus et ouvrez-le dans l'Arduino IDE
  3. Sélectionnez votre carte : Choisissez ESP32 S3 dans le menu des cartes
  4. Connectez l'ESP32 S3 : Branchez votre ESP32 S3 via un câble USB-C
  5. Téléversez : Cliquez sur le bouton Upload pour transférer le code vers l'ESP32 S3
  6. Testez avec de l'eau : Ajoutez progressivement des gouttes d'eau sur la plaque du capteur
  7. Ouvrez le moniteur série : Réglez le débit en bauds sur 115200 pour voir les lectures analogiques
  8. Observez les changements : Regardez les valeurs diminuer à mesure que l'humidité augmente
  9. Astuce pro : Notez les valeurs sèches et humides de votre capteur pour créer des plages d'intensité de pluie personnalisées (pluie légère, pluie modérée, forte pluie)
∞
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
[June 16, 2026 10:45:12] Analog Value: 3845 [June 16, 2026 10:45:13] Analog Value: 3821 [June 16, 2026 10:45:14] Analog Value: 2456 [June 16, 2026 10:45:15] Analog Value: 1687 [June 16, 2026 10:45:16] Analog Value: 1023 [June 16, 2026 10:45:17] Analog Value: 978 [June 16, 2026 10:45:18] Analog Value: 965 [June 16, 2026 10:45:19] Analog Value: 1134 [June 16, 2026 10:45:20] Analog Value: 2187 [June 16, 2026 10:45:21] Analog Value: 3512
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

※ Note:

Ce tutoriel utilise la fonction analogRead() pour lire les valeurs d'un ADC (convertisseur analogique-numérique) connecté à un capteur ou un composant. L'ADC de l'ESP32 S3 convient aux projets qui n'exigent pas une haute précision. Cependant, pour les projets nécessitant des mesures précises, gardez à l'esprit les points suivants :

  • L'ADC de l'ESP32 S3 n'est pas parfaitement précis et peut nécessiter un calibrage pour obtenir des résultats corrects. Chaque carte ESP32 S3 peut varier légèrement, un calibrage est donc nécessaire pour chaque carte individuelle.
  • Le calibrage peut être difficile, en particulier pour les débutants, et ne donne pas toujours exactement les résultats souhaités.

Pour les projets nécessitant une haute précision, envisagez d'utiliser un ADC externe (par exemple ADS1115) avec l'ESP32 S3, ou d'utiliser un autre Arduino, comme l'Arduino Uno R4 WiFi, qui dispose d'un ADC plus fiable. Si vous souhaitez tout de même calibrer l'ADC de l'ESP32 S3, consultez le ESP32 ADC Calibration Driver.

Applications et idées de projets

Le Wi-Fi intégré et la puissance de traitement de l'ESP32 S3 en font une excellente plateforme pour des applications de détection de pluie qui vont au-delà de la simple détection. Voici des façons pratiques de mettre votre capteur de pluie au travail :

  1. Domotique intelligente : Fermez automatiquement les fenêtres et les puits de lumière lorsque la pluie est détectée
  2. Système d'arrosage de jardin : Désactivez les arroseurs automatiques pendant les précipitations pour économiser l'eau
  3. Station météo : Construisez un système complet de surveillance météo avec journalisation des données de précipitations
  4. Système d'alerte pour voiture : Soyez averti par smartphone lorsque la pluie commence et que les fenêtres de la voiture sont ouvertes
  5. Moniteur de séchage du linge : Recevez une alerte lorsque le linge extérieur doit être rentré
  6. Contrôleur de serre : Ajustez la ventilation et l'irrigation en fonction de la détection de pluie
  7. Rappel de parapluie intelligent : Envoyez des rappels pour prendre un parapluie lorsque la pluie est détectée

Tutoriel vidéo

Regardez le tutoriel vidéo étape par étape pour ce projet ESP32 S3 ci-dessous.

Défiez-vous

Ces défis sont conçus pour vous aider à appliquer ce que vous avez appris et à pousser plus loin vos compétences en matière de capteur de pluie ESP32 S3, des simples indicateurs LED aux systèmes complets de prévision par apprentissage automatique.

  1. Débutant : Ajoutez une LED qui s'allume lorsque la pluie est détectée en utilisant la sortie numérique
  2. Débutant : Créez différents messages d'alerte pour une pluie légère par rapport à une forte pluie en utilisant des seuils analogiques
  3. Intermédiaire : Enregistrez les données de précipitations sur une carte SD avec horodatage pour un suivi météorologique à long terme
  4. Intermédiaire : Envoyez des emails ou des notifications push lorsque la pluie est détectée en utilisant la connectivité Wi-Fi
  5. Avancé : Construisez une station météo complète combinant le capteur de pluie avec des capteurs de température et d'humidité
  6. Avancé : Créez un système prédictif qui suit les tendances de précipitations et effectue des prévisions à l'aide de l'apprentissage automatique

Références des fonctions

※ 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 !