Last active
May 22, 2018 17:09
-
-
Save Alqueraf/9ab1a9e40d9905467c5fd73c976173ec to your computer and use it in GitHub Desktop.
Arduino, sensor de temperatura con LEDs indicativos
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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