Arduino - Capteur de pluie - LED
Nous allons apprendre comment :
- Si la pluie est détectée, allumez la LED
- Si la pluie n'est pas détectée, éteignez la LED
Préparation du matériel
Ou vous pouvez acheter les kits suivants:
1 | × | Kit de Démarrage DIYables STEM V3 (Arduino inclus) | |
1 | × | Kit de Capteurs DIYables (30 capteurs/écrans) | |
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.
Note d'achat: Pour simplifier le processus de câblage, nous recommandons d'utiliser le LED Module, qui est livré avec une résistance intégrée.
À propos des LED et du capteur de pluie
Si vous ne connaissez pas les LED et les capteurs de pluie (brochage, fonctionnement, programmation...), renseignez-vous sur ces derniers dans les tutoriels suivants :
Diagramme de câblage

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Code Arduino
/*
* Ce code Arduino a été développé par newbiely.fr
* Ce code Arduino 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/arduino/arduino-rain-sensor-led
*/
#define RAIN_SENSOR_PIN A0 // Arduino pin connected to the OUTPUT pin of rain sensor
#define LED_PIN 7 // Arduino pin connected to LED's pin
int rain_state = LOW; // current state of rain sensor's pin
int prev_rain_state = LOW; // previous state of rain sensor's pin
void setup() {
Serial.begin(9600); // initialize serial
pinMode(RAIN_SENSOR_PIN, INPUT); // set arduino pin to input mode
pinMode(LED_PIN, OUTPUT); // set arduino pin to output mode
}
void loop() {
prev_rain_state = rain_state; // store old state
rain_state = digitalRead(RAIN_SENSOR_PIN); // read new state
if (prev_rain_state == LOW && rain_state == HIGH) { // pin state change: LOW -> HIGH
Serial.println("Rain detected!");
digitalWrite(LED_PIN, HIGH); // turn on
}
else
if (prev_rain_state == HIGH && rain_state == LOW) { // pin state change: HIGH -> LOW
Serial.println("Rain stopped!");
digitalWrite(LED_PIN, LOW); // turn off
}
}
Étapes rapides
- Connectez l'Arduino au PC via le câble USB
- Ouvrez l'IDE Arduino, sélectionnez la bonne carte et le bon port
- Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
- Cliquez sur le bouton Upload de l'IDE Arduino pour téléverser le code sur l'Arduino

- Déplacez votre main devant le capteur
- Observez le changement d'état de la LED
Explication du code
Lisez les explications ligne par ligne dans les commentaires du code source !