← Volver a Formación Arduino
Principiante


← Volver a Formación Arduino
10. Detector de lluvia con aviso
Avisa con luz y sonido cuando empieza a llover. Ideal para recoger la ropa del tendedero a tiempo.
🧰 Lista de materiales
Arduino Uno R3 (ATmega328P)
Lee el sensor y avisa
sin foto
Módulo sensor agua/lluvia
Detecta agua sobre la placa
LED 5 mm amarillo difuso
Aviso visual
sin foto
Zumbador activo TMB12A05 5 V
Aviso sonoro
sin foto
Resistencias película metálica 1/4 W
220 Ω
Breadboard 830 puntos
Montaje
🎯 Qué vas a aprender
A interpretar un sensor con salida analógica y digital a la vez, y a construir un aviso con histéresis para evitar avisos intermitentes.
📚 Teoría: sensor resistivo de agua
El módulo tiene pistas interdigitadas. El agua que cae sobre ellas las cortocircuita parcialmente, bajando su resistencia. El módulo entrega una salida analógica (AO) proporcional a la cantidad de agua y, a menudo, una digital (DO) con umbral por potenciómetro.
⚠ AtenciónLa placa sensora se expone al agua, pero la electrónica del módulo NO. Mantén el módulo y el Arduino a cubierto; solo la placa de pistas va a la intemperie.
🔌 Conexiones
| Componente | Pin |
|---|---|
| Sensor VCC | 5 V |
| Sensor GND | GND |
| Sensor AO | A0 |
| LED amarillo | D9 vía 220 Ω → GND |
| Zumbador activo + | D8 |
| Zumbador activo − | GND |
💻 Código completo
// Detector de lluvia con histéresis
const int PIN_SENSOR = A0;
const int PIN_LED = 9;
const int PIN_BUZZER = 8;
// Con la placa SECA la lectura es alta; MOJADA baja.
const int UMBRAL_LLUEVE = 500; // empieza a llover
const int UMBRAL_SECO = 700; // ya está seco (histéresis)
bool lloviendo = false;
void setup() {
pinMode(PIN_LED, OUTPUT);
pinMode(PIN_BUZZER, OUTPUT);
Serial.begin(9600);
}
void loop() {
int v = analogRead(PIN_SENSOR);
Serial.println(v);
if (!lloviendo && v < UMBRAL_LLUEVE) lloviendo = true;
if (lloviendo && v > UMBRAL_SECO) lloviendo = false;
digitalWrite(PIN_LED, lloviendo ? HIGH : LOW);
if (lloviendo) {
tone(PIN_BUZZER, 1000, 200); // pitido breve cada ciclo
}
delay(800);
}💡 ConsejoUsa el Monitor Serie para ver tus valores con la placa seca y con unas gotas, y ajusta los dos umbrales. La histéresis (dos umbrales distintos) evita que el aviso parpadee en el límite.
🛠️ Montaje paso a paso
- Conecta el módulo (VCC, GND, AO) y la placa sensora a sus dos pines.
- Monta LED y zumbador en sus pines.
- Calibra umbrales con el Monitor Serie (seco vs. mojado).
- Coloca la placa sensora en horizontal donde caería la lluvia.
🧩 Resolución de problemas
| Síntoma | Causa | Solución |
|---|---|---|
| Avisa siempre | Umbrales invertidos | Recuerda: seco = alto, mojado = bajo |
| No detecta gotas finas | Umbral muy bajo | Sube UMBRAL_LLUEVE |
| Corrosión de la placa | Alimentación continua | Alimenta el sensor solo al medir |
🚀 Para ir más lejos
- Alimenta el sensor desde un pin digital y enciéndelo solo al medir (evita corrosión).
- Combina con la estación meteorológica (proyecto 25).