//Librerías
//Variables
int LEDR_SEM = 13;
int LEDA_SEM = 12;
int LEDV_SEM = 11;
int LEDV_TEMP = 10;
int LEDA_TEMP = 9;
int LEDR_TEMP = 8;
int TEMPC = 0; // EN que pin análogo conecto el sensor de remperatura
//Variables Conversión datos análogos
float aTemperatura; //Valor de lectura análogo del sensor
float cTemperatura; //Temperatura que entrega el sensor en grados centígrados
//Configuracion
void setup()
{
Serial.begin(9600);
pinMode(LEDR_SEM, OUTPUT);
pinMode(LEDV_SEM, OUTPUT);
pinMode(LEDA_SEM, OUTPUT);
}
void semaforo()
{
digitalWrite(LEDV_SEM, HIGH);
delay(3000);
digitalWrite(LEDV_SEM, LOW);
digitalWrite(LEDA_SEM, HIGH);
delay(1000);
digitalWrite(LEDA_SEM, LOW);
digitalWrite(LEDR_SEM, HIGH);
delay(1000);
digitalWrite(LEDR_SEM, LOW);
}
void Temperatura()
{
aTemperatura = analogRead(TEMPC);
Serial.print("Analoga:");
Serial.println(aTemperatura*0.004882); //conversion a voltaje
cTemperatura = (aTemperatura*0.004882)*20; //simulacion temp
Serial.print("Digital:");
Serial.println(cTemperatura);
delay(200);
if (cTemperatura <= 50){
digitalWrite(LEDR_TEMP, LOW);
digitalWrite(LEDA_TEMP, LOW);
digitalWrite(LEDV_TEMP, HIGH);
}
else if (cTemperatura > 50 && cTemperatura <= 100) {
digitalWrite(LEDR_TEMP, LOW);
digitalWrite(LEDA_TEMP, HIGH);
digitalWrite(LEDV_TEMP, LOW);
}
else {
digitalWrite(LEDR_TEMP, HIGH);
digitalWrite(LEDA_TEMP, LOW);
digitalWrite(LEDV_TEMP, LOW);
};
}
//Lógica
void loop()
{
semaforo();
Temperatura();
}