
- 3 led, usaré el color rojo
- 1 sensor de temperatura TMP-36
- resistencias de 220 Ω para cada led
El sensor TMP-36 podemos encontrarlo por 2 € en casi cualquier tienda de electrónica, y nos aporta la ventaja de que el voltaje de salida es directamente proporcional a la temperatura que mide.
El esquema de conexión es el que aparece en la imágen.
Las conexiones son las siguientes:
De nuevo, esta práctica está enfocada a aprender algo de programación, con la diferencia de que usaremos sensores y, por ende, a tratar señales analógicas.
Usaremos el siguiente código, otra vez comentado por mí para aclarar que hace cada una de sus partes:
const int sensorPin = A0; //establece cual será el pin análogico de entrada de datos (para el sensor)
const float baselineTemp = 20.0; //determina la temperatura base entorno a la cual programaremos
void setup(){
Serial.begin(9600); //inicia el monitor serial, que podemos abrir arriba a la derecha en la consola de //programación
for (int pinNumber = 2; pinNumber < 5; pinNumber++){
pinMode(pinNumber, OUTPUT);
digitalWrite(pinNumber, LOW);
}
}
void loop(){
int sensorVal = analogRead(sensorPin); //
Serial.print("Sensor Value:: ");
Serial.print (sensorVal);
//convierte la señal ADC leída en voltaje
float voltage = (sensorVal/1024.0)*5.0;
Serial.print(", Volts: ");
Serial.print(voltage);
Serial.print(", degress C: ");
float temperature = (voltage - .5)*100;
Serial.println(temperature); //con el siguiente if, haremos que se enciendan los leds // que queremos según la temperatura
if(temperature < baselineTemp){
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
}
else if(temperature >= baselineTemp+2 && temperature < baselineTemp+4){
digitalWrite(2, HIGH);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
}
else if(temperature >= baselineTemp+4 && temperature < baselineTemp+6){
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, LOW);
}
else if(temperature >= baselineTemp+6){
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
}
delay(1);
}
Este código, dará el siguiente resultado en la simulación:
Y su construcción en formato físico nos dará este otro resultado:
No hay comentarios:
Publicar un comentario