#include <EEPROM.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define bt1 13 //Apaga
#define bt2 12 //Grava
#define bt3 14 // Sensor
#define EEPROM_SIZE 12
int valor = 0;
LiquidCrystal_I2C lcd(0x27,16,2);
void setup()
{
Serial.begin(9600);
pinMode(bt1, INPUT_PULLUP);
pinMode(bt2, INPUT_PULLUP);
pinMode(bt3, INPUT_PULLUP);
lcd.init();
lcd.backlight();
EEPROM.begin(EEPROM_SIZE);
}
void loop()
{
lcd.setCursor(0,0);
lcd.print("VALOR LIDO: ");
lcd.setCursor(12,0);
lcd.print(valor);
/////////////////MOSTRA VALLOR GRAVADO
lcd.setCursor(0,1);
lcd.print("VALOR GRAVA:");
lcd.setCursor(12,1);
lcd.print(EEPROM.read(1)); //posição 1 da memória EEPROM(divida em posição) cada posição armazena 8 bits 0 a 255
if(digitalRead(bt3) == 0)
{
valor++;
delay(100);
}
EEPROM.write(0,valor); //escrevo o valor na posiçao 0 da EEPROM
if(digitalRead(bt2) == 0)
{
EEPROM.write(1,EEPROM.read(0)); //pega que foi lido na posição 0 e grava na posição 1
}
if(digitalRead(bt1) == 0)
{
EEPROM.write(1,0); //pega a posição 1 e manda o valor 0 para EEPROM
lcd.clear();
}
Serial.println(EEPROM.read(1));
}