// Este simulador es un proyecto liderado por el profesor Ramiro Lopera
// de la Institución Universitaria Pascual Bravo.
// Cualquier inquietud puede contactarlo a [email protected]
//Compatible with the Arduino IDE 1.0
//Library version:1.1
#include <LiquidCrystal_I2C.h>
#include "misiconos.h"
double temperatura = 0;
int humedad = 0;
LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display
void setup()
{
lcd.home(); // activamos la librería LCD
lcd.init(); // initialize the lcd
lcd.backlight(); // activa la luz de la pantalla
//lcd.noBacklight(); // desactiva la luz de la pantalla
// ASIGNAMOS ID a los íconos personalizados, para invocarlos en el LCD se usa
lcd.createChar(0, Bombilla);
lcd.createChar(1, Blueth);
lcd.createChar(2, Lock);
lcd.createChar(3, Battery1Char);
lcd.createChar(4, Battery2Char);
lcd.createChar(5, Battery3Char);
lcd.createChar(6, Battery4Char);
// SE INICIA PUERTO SERIAL DE COMUNICACION 9600 bits por segundo :
// Serial.begin(9600);
lcd.setCursor(0,0);
lcd.print("Taller 01: IoT");
lcd.setCursor(0,1);
lcd.print("Ramiro Lopera");
delay (2000);
//////////////////ENVÍA DATOS A LA PANTALLA /////////////////////////////////
lcd.clear();//Elimina todos los simbolos del LCD
lcd.setCursor(0, 0); //Posiciona la primera letra en linea 1
// lcd.print("");
// lcd.write(#) reemplace # con el ID a mostrar.
// lcd.write(0); //Escribe caracter pesonalizado en el vector 0
// lcd.setCursor(0, 1);
// lcd.write(#) reemplace # con el ID a mostrar.
// lcd.write(1); //Escribe caracter pesonalizado en el vector 1
// delay (1000);
}
///////////////////////////////////////////////////
// RUTINAS CÍCLICAS DEL ARDUINO
void loop()
{
temperatura = random(0,500)/10.00;
humedad = random(0,100);
lcd.clear();//Elimina todos los simbolos del LCD
lcd.setCursor(0, 0); //Posiciona la primera letra en linea 1
lcd.print("");
lcd.print("T ");
lcd.print(temperatura);
lcd.setCursor(8, 0); //Posiciona el puntero
if(temperatura > 0 & temperatura < 10)
{lcd.write(3); lcd.print(" empty ");}
if(temperatura >= 10 & temperatura < 25)
{lcd.write(4); lcd.print(" low ");}
if(temperatura >= 25 & temperatura < 35)
{lcd.write(5); lcd.print(" good ");}
if(temperatura >= 35 & temperatura <= 50)
{lcd.write(6); lcd.print(" critic");}
/* lcd.write(0); lcd.print(" ");
lcd.write(1); lcd.print(" ");
lcd.write(2); lcd.print(" ");
lcd.write(3); lcd.print(" ");
lcd.write(4); lcd.print(" ");
lcd.write(5); lcd.print(" ");
lcd.write(6); lcd.print(" ");
*/
lcd.setCursor(0, 1); //Posiciona la primera letra en linea 2
lcd.print("H ");
lcd.print(humedad);
lcd.setCursor(8, 1); //Posiciona puntero
if(humedad > 0 & humedad < 25)
{lcd.write(3); lcd.print(" low");}
if(humedad >= 25 & humedad < 50)
{lcd.write(4); lcd.print(" mid");}
if(humedad >= 50 & humedad < 75)
{lcd.write(5); lcd.print(" high");}
if(humedad >= 75 & humedad <= 100)
{lcd.write(6); lcd.print(" critic");}
delay(1000);
}