Programa 1

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("%");
}

Programa 2

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);
}