/***************************************************************
* PROGRAMA: Simulación de temperatura y humedad con LEDs
*
* Se agregan:
* - 3 LEDs para temperatura (pines 5, 6, 7)
* - 3 LEDs para humedad (pines 8, 9, 10)
*
* Cada variable tiene tres rangos:
* BAJO → LED azul
* MEDIO → LED verde
* ALTO → LED rojo
***************************************************************/
// =======================
// ENTORNO DE VARIABLES
// =======================
// LEDs de temperatura
const int Tempazul = 7;
const int Tempverde = 6;
const int Temprojo = 5;
// LEDs de humedad (NUEVOS)
const int Humazul = 10;
const int Humverde = 9;
const int Humrojo = 8;
float temperatura;
int humedad;
// =======================
// ENTORNO DE CONFIGURACIÓN
// =======================
void setup() {
Serial.begin(9600);
// Configuración LEDs temperatura
pinMode(Tempazul, OUTPUT);
pinMode(Tempverde, OUTPUT);
pinMode(Temprojo, OUTPUT);
// Configuración LEDs humedad (NUEVOS)
pinMode(Humazul, OUTPUT);
pinMode(Humverde, OUTPUT);
pinMode(Humrojo, OUTPUT);
}
// =======================
// ENTORNO DE EJECUCIÓN
// =======================
void loop() {
// Generación de valores simulados
temperatura = random(0, 50);
humedad = random(0, 100);
Serial.print("\t");
Serial.print(temperatura);
Serial.print("\t");
Serial.println(humedad);
// ============================================================
// CONTROL DE TEMPERATURA
// ============================================================
// Temperatura baja (≤ 15 °C)
if (temperatura <= 15 )
{
digitalWrite(Tempazul, HIGH);
}
else {
digitalWrite(Tempazul, LOW);
}
// Temperatura media (>15 °C y ≤30 °C)
if (temperatura > 15 && temperatura <= 30 )
{
digitalWrite(Tempverde, HIGH);
}
else {
digitalWrite(Tempverde, LOW);
}
// Temperatura alta (>30 °C)
if (temperatura > 30)
{
digitalWrite(Temprojo, HIGH);
}
else {
digitalWrite(Temprojo, LOW);
}
// ============================================================
// CONTROL DE HUMEDAD
// ============================================================
// Humedad baja (≤ 30 %)
if (humedad <= 30 )
{
digitalWrite(Humazul, HIGH);
}
else {
digitalWrite(Humazul, LOW);
}
// Humedad media (>30 % y ≤ 70 %)
if (humedad > 30 && humedad <= 70 )
{
digitalWrite(Humverde, HIGH);
}
else {
digitalWrite(Humverde, LOW);
}
// Humedad alta (> 70 %)
if (humedad > 70)
{
digitalWrite(Humrojo, HIGH);
}
else {
digitalWrite(Humrojo, LOW);
}
delay(1000);
}
3.3v
5.0v