/*
   Código demonstrativo para a aula de Bancos de Dados aplicados à Internet das Coisas,
   Curso de Engenharia e Administração de Sistemas de Banco de Dados,
   Faculdade de Tecnologia - UNICAMP.
*/

#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x20, 16, 2);

int pino_Led  = 13;
int porta_LDR = A3;

void setup() {

  pinMode(pino_Led, OUTPUT);

  lcd.init();
  lcd.backlight();
  lcd.clear();

  lcd.setCursor(0, 0);
  lcd.print("Fac.  Tecnologia");
  lcd.setCursor(0, 1);
  lcd.print("Unicamp  Limeira");

  delay(3000);

  lcd.clear();

  lcd.setCursor(0, 0);
  lcd.print("Bancos de Dados ");
  lcd.setCursor(0, 1);
  lcd.print("Aplicados a IoT ");

  delay(3000);

  lcd.clear();

  lcd.setCursor(0, 0);
  lcd.print("   Exercicio    ");
  lcd.setCursor(0, 1);
  lcd.print("----------------");

  delay(3000);

}

void loop() {

  lcd.clear();

  int valor_LDR = analogRead(porta_LDR);
  int luminosidade = map(valor_LDR, 8, 1015, 100, 0);

  lcd.setCursor(0, 0);
  lcd.print("Obtido: ");
  lcd.print(valor_LDR);

  lcd.setCursor(0, 1);
  lcd.print("Calculado: ");
  lcd.print(luminosidade);
  lcd.print(" %");

  if ( luminosidade < 51 )  {
    digitalWrite(pino_Led, HIGH);
  } else  {
    digitalWrite(pino_Led, LOW);
  }

  delay(2000);

}