Сохранение счётчика после сброса
Сохраняйте состояние между циклами отключения и включения питания.
«Сохранение счётчика после сброса» — бесплатный урок Arduino & IoT Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Arduino & IoT Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Arduino & IoT Academy содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
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! 🧠
Часто задаваемые вопросы
Урок «Сохранение счётчика после сброса» бесплатный?
Да — полный текст урока «Сохранение счётчика после сброса» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Arduino & IoT Academy, подпишись на CoddyKit PRO. Курс Arduino & IoT Academy содержит 4 уроков всего.
Чему я научусь в уроке «Сохранение счётчика после сброса»?
Сохраняйте состояние между циклами отключения и включения питания. Ты практикуешь Arduino & IoT Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Arduino & IoT Academy?
Предыдущий опыт не требуется. Arduino & IoT Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Сохранение счётчика после сброса»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Arduino & IoT Academy?
Да. Каждый урок Arduino & IoT Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Почему кнопки «дребезжат»
- Устранение дребезга с помощью millis()
- Сохранение значения в EEPROM
- Сохранение счётчика после сброса