int sensorHumedadSuelo = A1;
int valorHumedadSuelo;
int porcentajeHumedadSuelo;
void setup(){
Serial.begin(9600);
}
void loop(){
valorHumedadSuelo = analogRead(sensorHumedadSuelo);
porcentajeHumedadSuelo = map (valorHumedadSuelo,0,1023,0,100);
Serial.print("Valor de lectura: ");
Serial.print(valorHumedadSuelo);
Serial.print(" Porcentaje humedad de suelo: ");
Serial.print(porcentajeHumedadSuelo);
Serial.println("%");
}
Durante la sesión anterior programaron un sistema automatizado para monitorear las condiciones de un cultivo de cebolla. Esta vez, mejorarán el sistema, así: copien el Programa 2 y agreguen la opción para identificar si el cultivo cuenta con la humedad de suelo adecuada, de modo que alerte con un sonido del buzzer si cuenta con menos agua o más agua de la que necesita.
Condiciones óptimas para el crecimiento de una cebolla:
#include <DHT.h>
#include <DHT_U.h>
int SensorTyH = 2;
int Temperatura;
int Humedad;
int sensorHumedadSuelo = ;
int valorHumedadSuelo;
int HumedadSuelo;
int LEDazul = 6;
int LEDrojo = 5;
int LEDverde = 3;
int zumbador = ;
DHT dht(SensorTyH, DHT11);
void setup(){
Serial.begin(9600);
dht.begin();
pinMode(LEDverde,OUTPUT);
pinMode(LEDazul,OUTPUT);
pinMode(LEDrojo,OUTPUT);
/*declara el zumbador como salida*/
}
void loop(){
valorHumedadSuelo = analogRead(/*Que falta aquí*/);
HumedadSuelo = map (valorHumedadSuelo,X,Y,x,y);
Temperatura = dht.readTemperature();
Humedad = dht.readHumidity();
// --- LÓGICA DE TEMPERATURA ---
if ((Temperatura >= 14) && (Temperatura <= 30)) {
digitalWrite(LEDazul,HIGH);
digitalWrite(LEDrojo,LOW);
}
else {
digitalWrite(LEDazul,LOW);
digitalWrite(LEDrojo,HIGH);
}
// --- LÓGICA DE HUMEDAD AMBIENTAL ---
if ((Humedad >= 50) && (Humedad <= 90)) {
digitalWrite(LEDverde,HIGH);
digitalWrite(LEDrojo,LOW);
}
else {
digitalWrite(LEDverde,LOW);
digitalWrite(LEDrojo,HIGH);
}
// --- LÓGICA DE HUMEDAD DE SUELO (ALERTA DE AGUA) ---
if ((HumedadSuelo < ) || (HumedadSuelo > )) {
tone(zumbador,100);
}
else {
noTone(zumbador);
}
Serial.print("Temperatura: ");
Serial.print(Temperatura);
Serial.print("°C");
Serial.print(" Humedad: ");
Serial.print(Humedad);
Serial.print("%");
Serial.print(" Humedad de suelo: ");
Serial.print(HumedadSuelo);
Serial.println("%");
delay(500);
}