// 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);
   }