0Pricing
Arduino & IoT Academy · Aula

Lembre-se de um contador após a reinicialização

Mantenha o estado entre ciclos de alimentação.

Lembre-se de um contador após a reinicialização é uma aula grátis de Arduino & IoT Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Arduino & IoT Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Arduino & IoT Academy inclui 4 aulas no total.

Partes desta aula ainda não foram traduzidas e aparecem em inglês.

A Counter That Survives

Let's build a press counter that remembers its total even after a power cut. We'll combine debouncing with EEPROM storage.

The Plan in One Line

On startup, load the saved count. On each clean press, add one and save it back. Simple, but powerful.

Pick a Storage Slot

Reserve one EEPROM address for the counter. We'll keep it small enough to fit in a single byte for now.

const int ADDR = 0;
byte count = 0;

Load on Boot

Inside setup(), read the saved value first. Now your counter picks up exactly where it left off.

void setup() {
  count = EEPROM.read(ADDR);
}

Wipe the Junk First

A fresh chip's EEPROM often reads 255. Treat that as empty and reset your counter to zero on the first run.

if (count == 255) count = 0;

Reuse Your Debounce

Detect presses with the millis() debounce from before. Clean input is essential, or your saved count drifts upward.

Increment on a Clean Press

When a debounced press fires, bump the counter by one. This is the single moment your total grows.

count++;
Serial.println(count);

Save Without Wearing Out

Use EEPROM.update to write the new total. It only touches memory when the value actually changed, protecting the chip.

EEPROM.update(ADDR, count);

Test the Magic

Press a few times, then unplug and replug the board. The Serial Monitor shows your count continuing, not restarting. 🎉

Mind the Byte Limit

A byte counter wraps back to 0 after 255. For bigger totals, store an int with EEPROM.put and EEPROM.get instead.

Add a Reset Option

A real product often needs a way to clear the saved count. A long button hold could write 0 back to EEPROM.

EEPROM.update(ADDR, 0);

Quick Check

Let's check the key step that lets the counter survive a reset.

Recap: Memory Across Resets

You built a counter that persists by loading from EEPROM at boot and saving each clean press. Your device finally has a memory! 🧠

Perguntas Frequentes

A aula “Lembre-se de um contador após a reinicialização” é grátis?

Sim — o texto completo de “Lembre-se de um contador após a reinicialização” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Arduino & IoT Academy, atualize para CoddyKit PRO. O curso de Arduino & IoT Academy inclui 4 aulas no total.

O que vou aprender em “Lembre-se de um contador após a reinicialização”?

Mantenha o estado entre ciclos de alimentação. Você pratica Arduino & IoT Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Arduino & IoT Academy?

Nenhuma experiência prévia é necessária. Arduino & IoT Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Lembre-se de um contador após a reinicialização”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Arduino & IoT Academy?

Sim. Cada aula de Arduino & IoT Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Por que os botões têm “repique”
  2. Elimine o repique com millis()
  3. Armazene um valor na EEPROM
  4. Lembre-se de um contador após a reinicialização
← Voltar para Arduino & IoT Academy