Arduino - Sensor de lluvia - LED
Vamos a aprender cómo:
- Si se detecta la lluvia, enciende el LED
- Si no se detecta la lluvia, apaga el LED
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.
Buy Note: Use the LED Module for easier wiring. It includes an integrated resistor.
Acerca de LED y sensor de lluvia
Si no sabes sobre el LED y el sensor de lluvia (conexiones de pines, cómo funcionan, cómo programarlos...), aprende sobre ellos en los siguientes tutoriales:
Diagrama de Cableado

This image is created using Fritzing. Click to enlarge image
Código de Arduino
/*
* Este código de Arduino fue desarrollado por es.newbiely.com
* Este código de Arduino se proporciona al público sin ninguna restricción.
* Para tutoriales completos y diagramas de cableado, visite:
* https://es.newbiely.com/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
}
}
Pasos R\u00e1pidos
- Conecta el Arduino al PC mediante un cable USB
- Abre Arduino IDE, selecciona la placa y el puerto correctos
- Copia el código anterior y ábrelo con Arduino IDE
- Haz clic en el botón Subir en Arduino IDE para subir el código al Arduino

- Mueve tu mano frente al sensor
- Observa el cambio del estado del LED
Explicación del código
¡Lee la explicación línea por línea en los comentarios del código fuente!
Video Tutorial
Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.