Está en la página 1de 2

//PANTALLA LCD

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3F,16,2); // Dependiendo del fabricante del LCD el codigo
0x27 puede cambiar
// 0x3F , 0x20 , 0x38 ,
int sensor = A0;
float valor,mvolts,celsius=0;
int ledRed = 8;
int ledGreen = 9;
int ledBlue = 10;

void setup()
{
pinMode(ledRed, OUTPUT);
pinMode(ledGreen, OUTPUT);
//pinMode(10, OUTPUT);

lcd.begin(); // inicializa comunicacion serie


}
void loop()
{
valor=analogRead(sensor); // toma lectura del sensor y lo almacena en la variable
valor
mvolts=(valor/1023)*5000;
celsius=mvolts/10; // calculo para determinar grados celsius
lcd.setCursor(0,0); // determina la poscion donde comenzará a mostrar el mensaje
lcd.print("Temp:"); // imprime un mensaje de texto
lcd.setCursor(6,0);
lcd.print(celsius); // imprime la cantidad almacenada de la varible celsius
lcd.setCursor(12,0);
lcd.print("C");
delay(500); // retardo de tiempo em milisegundos

if (celsius > 30) // función que se cumple si la variable celsius es mayor del
valor 30
{
hot(); // llama la función void hot
}
if (celsius < 30 & celsius > 20 ) // función que se cumple si la variable
celsius es menor del valor 30 y a su vez mayor que el valor 20
{
normal(); // llama la función void normal
}
if (celsius < 20) // función que se cumple si la variable celsius es maenor del
valor 20
{
cold(); // llama la función void cold
}
}

void hot(){
digitalWrite(ledRed, HIGH);
digitalWrite(ledGreen, LOW);
digitalWrite(ledBlue, LOW);
lcd.setCursor(0,1);
lcd.print("HOT ");
}
void normal()
{
digitalWrite(ledRed, LOW);
digitalWrite(ledGreen, HIGH);
digitalWrite(ledBlue, LOW);
lcd.setCursor(0,1);
lcd.print("NORMAL");
}
void cold()
{
digitalWrite(ledRed, LOW);
digitalWrite(ledGreen, LOW);
digitalWrite(ledBlue, HIGH);
lcd.setCursor(0,1);
lcd.print("COLD ");
}

También podría gustarte