Como usar a Biblioteca EEPROM em Arduino

Como usar a Biblioteca EEPROM em Arduino
Na programação Arduino, quando um esboço é carregado para a placa Arduino, ele permanece lá e é armazenado no Arduino até que seja apagado ou outro esboço seja carregado. Esses dados são armazenados na EEPROM construída no Arduino. O uso da EEPROM e sua biblioteca são explicados neste contexto seguinte.

Eeprom de Arduino

Essa lembrança somente leitura que não seja o armazenamento oferece a opção de editar o conteúdo do esboço usando suas funções. Da mesma forma, essa memória foi projetada para evitar o problema de dificuldade de apagar dados que foram interceptados no passado. Os tamanhos EEPROM de diferentes placas de Arduino são mencionados abaixo:

Controlador Tamanho
Arduino Uno, Arduino Nano, Arduino Mini (ATMEGA328) 1024 bytes
Arduino Nano (ATMEGA168) 512 bytes
Arduino Mega (ATMEGA2560) 4096 bytes

O acrônimo EEPROM significa "Memória de leitura permanente permanente eletronicamente apagável". Existem 8 tipos de função que podem ser executados usando a biblioteca EEPROM. Esta biblioteca já vem com o software Arduino IDE, então não há necessidade de instalar a biblioteca:

  • Escreva função da EEPROM
  • Leia a função da EEPROM
  • Coloque função da EEPROM
  • Obtenha função da EEPROM
  • Atualizar função da EEPROM

Escreva função da EEPROM

Quando os dados devem ser salvos em qualquer endereço, ele pode ser feito usando o EEPROM.escrever() função. Os dados serão armazenados até que sejam apagados ou atualizados.

No código primeiro, a biblioteca para a memória é inicializada e, em seguida, a variável para o endereço é declarada e, no loop, a EEPROM.A função Write () é usada para gravar no valor no endereço.

Após cada iteração, o endereço muda e o mesmo valor é adicionado a todos os endereços da EEPROM. Da mesma forma, os dados salvos usando a função de gravação.

O programa será executado até que os endereços se tornem iguais ao comprimento total da EEPROM e a duração da memória varia de placa para placa. Em Arduino Uno, são 1 quilo bytes, para que o programa seja executado quando todos os 1000 endereços tiverem o valor de 200.

#incluir
endereço int = 0;
int vale = 200;
Void Setup ()
Serial.começar (9600);

Void Loop ()
EEPROM.gravar (endereço, valor);
Serial.print ("Este endereço:");
Serial.println (endereço);
Serial.print ("tem valor de");
Serial.println (valor);
Serial.println ();
endereço = endereço + 1;
if (endereço == EEPROM.comprimento())
endereço = 0;

atraso (500);

Saída

Leia a função da EEPROM

Para ler quaisquer dados de qualquer endereço da memória o EEPROM.ler() função é usada. Para descrever ainda mais o funcionamento da EEPROM.leia () função Um código de exemplo é fornecido.

Como no programa anterior, damos o valor de 200 a cada endereço da memória, portanto, quando lemos cada endereço da memória usando a EEPROM.Read () Função Exibe a mesma saída:

#incluir
endereço int = 0;
valor de byte;
Void Setup ()
Serial.começar (9600);

Void Loop ()
valor = eeprom.leia (endereço);
Serial.print ("Este endereço:");
Serial.println (endereço);
Serial.print ("tem valor de");
Serial.println (valor);
Serial.println ();
endereço = endereço + 1;
if (endereço == EEPROM.comprimento())
endereço = 0;

atraso (500);

Saída

Coloque função da EEPROM

Para armazenar os dados na forma de uma matriz ou os dados é do tipo de flutuação, então o EEPROM.colocar() função é usada. Para entender o uso da EEPROM.Put () Função é explicada ainda usando um simples programa Arduino.

No código primeiro, o valor com o tipo de dados float é armazenado no endereço 0 da memória e, em seguida, uma estrutura é construída dos dados do nome que possui um valor de tipo de byte, um valor de tipo de flutuação e um valor de caractere.

O tamanho para toda a estrutura é de 12 bytes com 4 bytes para os valores inteiros e do tipo flutuante e 8 bytes para o valor do personagem.

O endereço para o tipo de flutuação é inicializado como zero, enquanto o endereço para a estrutura é após o próximo byte encontrado após o valor da flutuação.

#incluir
Dados da estrutura
Valor de flutuação1;
byte value2;
Char Word [8];
;
Void Setup ()
Serial.começar (9600);
Float f = 967.817;
int eeaddress = 0;
EEPROM.put (eeaddress, f);
Serial.print ("Este endereço:");
Serial.println (eeaddress);
Serial.print ("tem valor de flutuação de");
Serial.println (f);
Serial.println ();
valores de dados =
2.65,
89,
"Olá!"
;
eeaddress += sizeof (float);
EEPROM.put (eeaddress, valores);
Serial.print ("Este endereço:");
Serial.impressão (eeaddress);
Serial.print ('\ t');
Serial.print ("tem estrutura com informações:");
Serial.println ();
Serial.println (valores.valor1);
Serial.println (valores.valor2);
Serial.println (valores.palavra);

Void Loop ()

Saída

Obtenha função da EEPROM

Para recuperar os dados armazenados nos tipos de dados flutuantes ou na forma de estrutura, a função get é usada. Esta função é diferente da função simples de leitura e gravação. O exemplo para o uso de EEPROM.pegar() função fornecida que fornecerá um conceito claro da função:

#incluir
Void Setup ()
flutuar f = 0.00;
int eeaddress = 0;
Serial.começar (9600);
Serial.print ("Leia Float da EEPROM:");
EEPROM.obtenha (eeaddress, f);
Serial.println (f, 4);
StructureValues ​​();

Dados da estrutura
Valor de flutuação1;
byte value2;
Char Word [8];
;
Void StructureValues ​​()
int eeaddress = sizeof (float);
valores de dados;
EEPROM.obtenha (eeaddress, valores);
Serial.println ("LEIA estrutura da EEPROM:");
Serial.println (valores.valor1);
Serial.println (valores.valor2);
Serial.println (valores.palavra);

Void Loop ()

Aqui no código, é buscado um valor de flutuação e um valor de estrutura armazenado na memória Arduino é buscada que foi armazenada anteriormente usando a EEPROM.função put ().

Saída

Atualizar função da EEPROM

Quando os dados em qualquer endereço precisam ser atualizados EEPROM.atualizar() função é usada. Esta função é usada apenas quando já existem alguns dados no respectivo endereço. Da mesma forma, essa função apenas atualiza os dados se for diferente dos dados salvos anteriormente.

#incluir
Int endereço = 4;
int valor;
int valor1 = 300;
Void Setup ()
Serial.começar (9600);
valor = eeprom.leia (endereço);
Serial.print ("Este endereço:");
Serial.println (endereço);
Serial.print ("Valor anterior de");
Serial.println (valor);
Serial.println ();
EEPROM.atualização (endereço, valor1);
Serial.print ("Este endereço:");
Serial.println (endereço);
Serial.print ("valor atualizado de");
Serial.println (value1);
Serial.println ();

Void Loop ()

No código de exemplo, os dados no endereço 4 são atualizados como o valor anterior neste endereço foi 44. Os dados do endereço 4 foram alterados de 44 para 300.

Para fins de demonstração, a EEPROM.A função Read () é usada para buscar os dados armazenados no endereço 4 e, em seguida, um valor atualizado é armazenado no endereço 4 usando o EEPROM.função update ().

Saída

Conclusão

Bibliotecas na programação Arduino são usadas principalmente para obter algumas funcionalidades extras do hardware interface. A EEPROM é a memória da placa Arduino, que pode ser acessada usando a EEPROM.biblioteca H. Ao usar suas funções, os dados armazenados no Arduino podem ser editados ou apagados. Este artigo explica cinco funções principais que podem ser usadas para editar ou apagar os dados do Arduino.