**Práctica 6: Sistema de Riego Automático con Arduino**. Este proyecto enseñará a los estudiantes a utilizar sensores de humedad de suelo y a controlar un actuador (una bomba de agua o un LED en su versión más simple) para automatizar el riego de una planta según la humedad de la tierra.
—
## **Práctica: Sistema de Riego Automático con Arduino**
### **Objetivo:**
Crear un sistema de riego automático que detecte la humedad del suelo usando un sensor y active una bomba de agua cuando sea necesario. Esta práctica ayudará a los estudiantes a entender el uso de sensores analógicos, salidas digitales y la toma de decisiones automáticas en sistemas de control.
### **Materiales:**
– 1 Placa Arduino Uno
– 1 Protoboard
– 1 Sensor de humedad de suelo
– 1 Relé (opcional si usan una bomba de agua)
– 1 Bomba de agua pequeña (o en su defecto, un LED para simular la activación)
– 1 Transistor (NPN como el 2N2222, si conectan una bomba)
– 1 Diodo (1N4007, si conectan una bomba)
– 1 Fuente de alimentación externa para la bomba (dependiendo del tipo de bomba)
– Cables de conexión
### **Diagrama del circuito:**
1. **Sensor de humedad de suelo**:
– Conecta el pin de señal del sensor al pin A0 del Arduino (entrada analógica).
– Conecta los pines VCC y GND del sensor a 5V y GND del Arduino, respectivamente.
2. **Bomba de agua (opcional)**:
– Si estás utilizando una bomba, conéctala a un relé o, para simplificar, usa un LED que se activará para simular la bomba.
– Conecta el pin de control del relé (o el ánodo del LED) al pin digital 7 del Arduino.
– La terminal negativa (cátodo del LED o GND del relé) debe conectarse a GND del Arduino.
### **Procedimiento paso a paso:**
1. **Configura tu entorno**:
– Instala el IDE de Arduino y conecta la placa a tu computadora mediante un cable USB.
2. **Conecta el sensor de humedad de suelo**:
– Conecta el sensor de humedad de suelo al Arduino como se describe en el diagrama. Este sensor enviará una señal analógica que varía según la cantidad de humedad en el suelo.
3. **Conecta la bomba o LED**:
– Si vas a usar una bomba de agua, asegúrate de conectarla a través de un relé o un transistor para que pueda ser controlada por el Arduino. Si prefieres simplificar, utiliza un LED que simulará la bomba activándose cuando sea necesario.
4. **Escribe el código (Sketch) en el IDE de Arduino**:

“`cpp
// Definir pines
int sensorHumedadPin = A0; // Pin donde está conectado el sensor de humedad
int bombaPin = 7; // Pin para controlar la bomba (o LED)
int valorHumedad; // Variable para almacenar el valor de humedad
// Valor umbral para activar el riego (ajustar según condiciones del sensor)
int umbralHumedad = 500; // 0 (muy seco) – 1023 (muy húmedo)
void setup() {
// Configurar el pin de la bomba como salida
pinMode(bombaPin, OUTPUT);
// Inicializar la comunicación serial para monitorear valores
Serial.begin(9600);
}
void loop() {
// Leer el valor del sensor de humedad
valorHumedad = analogRead(sensorHumedadPin);
// Imprimir el valor de humedad en el monitor serial
Serial.print(“Valor de humedad: “);
Serial.println(valorHumedad);
// Condición para activar la bomba de agua
if (valorHumedad < umbralHumedad) {
// Si el suelo está seco, encender la bomba
digitalWrite(bombaPin, HIGH);
Serial.println(“Suelo seco. Activando riego…”);
} else {
// Si el suelo está húmedo, apagar la bomba
digitalWrite(bombaPin, LOW);
Serial.println(“Suelo húmedo. No se necesita riego.”);
}
// Esperar 2 segundos antes de realizar la siguiente lectura
delay(2000);
}
“`
5. **Explicación del código**:
– Se define el pin donde está conectado el sensor de humedad y el pin de la bomba.
– En la función `setup()`, se inicializa la comunicación serial para poder ver los valores de humedad en el monitor serial y se configura el pin de la bomba como salida.
– En la función `loop()`, se lee el valor del sensor de humedad utilizando `analogRead()`, que devuelve un valor entre 0 (muy seco) y 1023 (muy húmedo).
– El valor de humedad se compara con el umbral predefinido. Si la humedad es menor que el umbral (suelo seco), la bomba se activa, encendiendo el riego (o el LED). Si el suelo está lo suficientemente húmedo, la bomba se apaga.
6. **Subir el código**:
– Verifica que el código no tenga errores haciendo clic en el botón de verificación en el IDE de Arduino.
– Si todo está correcto, sube el código a tu placa Arduino.
7. **Prueba del sistema**:
– Abre el monitor serial en el IDE de Arduino para ver los valores de humedad en tiempo real.
– Coloca el sensor de humedad en la tierra de una planta o en un material seco y observa cómo cambia el comportamiento del sistema dependiendo de la cantidad de agua en el suelo.
### **Desafío adicional:**
Pide a tus estudiantes que modifiquen el umbral de humedad para ajustarlo a diferentes tipos de suelo o que implementen un sistema de alerta usando un buzzer que suene cuando el suelo esté demasiado seco.
—
Con este proyecto, los alumnos podrán aprender cómo crear un sistema autónomo capaz de tomar decisiones basadas en la información obtenida de un sensor. Además, podrán aplicar estos conceptos en otros proyectos de automatización, como el monitoreo de condiciones ambientales.