Índice:

Inicialização das configurações do Arduino EEPROM: 5 etapas
Inicialização das configurações do Arduino EEPROM: 5 etapas

Vídeo: Inicialização das configurações do Arduino EEPROM: 5 etapas

Vídeo: Inicialização das configurações do Arduino EEPROM: 5 etapas
Vídeo: EEPROM, a Memória ROM do Arduino // Dicas de Programação 2024, Julho
Anonim
Image
Image
O que é EEPROM?
O que é EEPROM?

Olá a todos, Todo Arduino tem uma pequena memória interna chamada EEPROM. Você pode usar isso para armazenar configurações para seu projeto onde os valores escolhidos serão mantidos entre os ciclos de energia e eles estarão lá na próxima vez que você ligar o Arduino. Eu tenho um truque legal que vai te ensinar como você pode inicializar um conjunto de valores padrão em sua primeira execução, então fique por aqui para descobrir como.

Etapa 1: O que é EEPROM?

O que é EEPROM?
O que é EEPROM?

Uma EEPROM é um pequeno armazenamento de memória, cujos valores são mantidos mesmo quando a placa Arduino está desligada. Ele atua como um minúsculo disco rígido para que você possa armazenar seus parâmetros para a próxima vez que ligar o dispositivo. Dependendo do tipo de placa Arduino, você terá uma quantidade diferente de armazenamento disponível em cada uma, então por exemplo o Uno tem 1024 bytes, o Mega tem 4096 bytes e o LilyPad tem 512 bytes.

É importante observar que todas as EEPROMs têm um número limitado de ciclos de gravação. A Atmel especifica uma expectativa de vida de cerca de 100.000 ciclos de gravação / exclusão para a EEPROM no Arduino. Isso pode soar como muitas gravações, mas pode ser fácil atingir esse limite se você estiver lendo e gravando em loop. Depois que um local é gravado e apagado muitas vezes, ele pode começar a se tornar inseguro. Ele pode não retornar os dados corretos ou retornar o valor de um bit vizinho.

Etapa 2: importar a biblioteca

Importar a Biblioteca
Importar a Biblioteca
Importar a Biblioteca
Importar a Biblioteca
Importar a Biblioteca
Importar a Biblioteca

Para usar essa memória, primeiro incluímos a biblioteca fornecida pelo Arduino. A biblioteca oferece dois métodos: ler e escrever para as ações correspondentes. A função read aceita o endereço de onde queremos ler, enquanto a função write aceita tanto o endereço quanto o valor que queremos escrever.

Em nosso exemplo, o objetivo é ter um array de configurações prontas em cada inicialização do Arduino, então começamos definindo o array que usaremos para o armazenamento e definindo os endereços para cada uma das configurações que queremos armazenar. Em um chip onde temos 1024 bytes disponíveis, as localizações dos endereços serão de 0 a 1023.

Etapa 3: definir o sinalizador de inicialização

Defina o sinalizador de inicialização
Defina o sinalizador de inicialização

O truque para a configuração inicial dos valores padrão das configurações é usar um dos endereços como um indicador se as configurações foram ou não inicializadas. Usei o último local de endereço para isso, pois geralmente não é usado para mais nada. A função loadSettings irá primeiro verificar neste local se o valor armazenado lá é um caractere “T” e se não, irá configurar por configuração, escrevendo os valores iniciais para cada um deles. Uma vez feito isso, ele irá definir o valor do local onde mantemos o controle das configurações inicializadas para o caractere “T” e da próxima vez que ligarmos o Arduino, não iremos mais inicializar os valores, mas sim ler os dados salvos em nossa matriz.

Etapa 4: Atualizando as configurações

Atualizando configurações
Atualizando configurações

Para atualizar os valores, podemos usar a função de gravação como tínhamos na inicialização, mas a melhor maneira é usar a função de atualização fornecida. O que esta função faz é verificar primeiro se o valor que estamos tentando salvar é o mesmo que já está na EEPROM e se for, então não atualiza. Ao fazer isso, ele tenta minimizar o número de operações de gravação para estender a vida útil da EEPROM.

Etapa 5: Divirta-se

Aproveitar!
Aproveitar!
Aproveitar!
Aproveitar!

Espero que este Instructable tenha sido útil para você e que você tenha aprendido algo. O código-fonte está disponível na minha página do GitHub e o link está abaixo. Se você tiver alguma sugestão, deixe-a nos comentários e não se esqueça de se inscrever no meu canal no YouTube para mais vídeos semelhantes.

Recomendado: