Skip to content

Instantly share code, notes, and snippets.

@Alqueraf
Last active May 22, 2018 17:09
Show Gist options
  • Save Alqueraf/9ab1a9e40d9905467c5fd73c976173ec to your computer and use it in GitHub Desktop.
Save Alqueraf/9ab1a9e40d9905467c5fd73c976173ec to your computer and use it in GitHub Desktop.
Arduino, sensor de temperatura con LEDs indicativos
// Variables del Sensor
const int pinSensor = 0; // Variable del pin de entrada del sensor (A0)
const int temperaturaFrio = 15; // Temperatura máxima considerada frío
const int temperaturaMedia = 20; // Temperatura agradable
const int temperaturaCalor = 26; // Temperatura mínima para ser calior
const int pinLedFrio = 2;
const int pinLedMedio = 3;
const int pinLedCalor = 4;
void setup() {
Serial.begin(9600); // Para escribir en la consola
// Initializamos los LEDS
pinMode(pinLedFrio, OUTPUT);
pinMode(pinLedMedio, OUTPUT);
pinMode(pinLedCalor, OUTPUT);
}
void loop() {
int value = analogRead(pinSensor); // Con analogRead leemos el sensor, recuerda que es un valor de 0 a 1023
float millivolts = (value / 1024.0) * 5; // Pasamos el valor a voltaje
float temperatura = millivolts * 100 - 50; // Pasamos el voltaje a celsius
// Envia el dato al puerto serial
// Podemos ver estos valores haciendo click en la lupa de arriba a la derecha
Serial.print("Temperatura: ");
Serial.println(temperatura);
// Vemos si tenemos que encender los LEDS:
if(temperatura < temperaturaFrio) {
digitalWrite(pinLedFrio, HIGH);
digitalWrite(pinLedMedio, LOW);
digitalWrite(pinLedCalor, LOW);
} else if (temperatura >= temperaturaFrio && temperatura < temperaturaCalor){
digitalWrite(pinLedFrio, HIGH);
digitalWrite(pinLedMedio, HIGH);
digitalWrite(pinLedCalor, LOW);
} else if (temperatura >= temperaturaCalor){
digitalWrite(pinLedFrio, HIGH);
digitalWrite(pinLedMedio, HIGH);
digitalWrite(pinLedCalor, HIGH);
}
// Esperamos un tiempo para repetir el loop
delay(1000);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment