
Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-23 15:03



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?

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



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

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

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


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:
Inicialização USB Raspberry Pi 4 Ubuntu (sem cartão SD): 9 etapas

Inicialização Raspberry Pi 4 Ubuntu USB (sem cartão SD): As instruções estão abaixo e irão guiá-lo na inicialização do Raspberry Pi 4 sem um cartão SD. Se você não quiser seguir as etapas, existem imagens pré-construídas no postagem original. Basta gravar essas imagens em uma unidade USB e você está pronto para ir
Como criar uma unidade de inicialização do Linux (e como usá-la): 10 etapas

Como criar uma unidade de inicialização do Linux (e como usá-la): esta é uma introdução simples sobre como começar a usar o Linux, especificamente o Ubuntu
Desativar bipe de inicialização do PS4: 6 etapas

Desativar bipe de inicialização do PS4: 23h. A família está dormindo, você inicializa o PS4 em um apartamento totalmente silencioso. BEEEEP faz. Imagine o que vai acontecer. Vamos nos livrar disso
L.A.R.S. (Sistema de inicialização e recuperação): 7 etapas (com imagens)

L.A.R.S. (Sistema de Lançamento e Recuperação): Visão geral Este projeto é um Sistema de Lançamento e Recuperação (LARS) composto de vários modelos e conjuntos. Juntos, eles representam um sistema de recuperação adequado para um foguete de água de baixa altitude. O foguete é composto de várias seções, fabricadas a partir de
Script para fazer backup das configurações do ponto de acesso sem fio Linksys: 5 etapas

Script para fazer backup das configurações do ponto de acesso sem fio Linksys: Este instrutível mostrará um script que pode ser usado para automatizar o backup das configurações do ponto de acesso sem fio linksys. Na verdade, isso pode ser facilmente editado para fazer backup de quase todos os dispositivos linksys