ARDUINO Счётчик чисел от 1 до 12 с памятью

Demitryi

✩✩✩✩✩✩✩
5 Апр 2026
1
0
Здравствуйте.
Помогите написать код на счётчик нажатий.
Плата Arduino Nano v.3.0
Индикатор на базе TM1637.
Кнопка без фиксации.
Каждое нажатие кнопки, увеличивает число от 1 до 12 и так по кругу.
...
Как реализовать память последней отображаемой цифры. Я не додумался.
Но очень хочется, чтобы при отключении питания ардуино, счётчик не сбрасывался.
 

Bruzzer

★★★★✩✩✩
23 Май 2020
794
245
Но очень хочется, чтобы при отключении питания ардуино, счётчик не сбрасывался.
Если нажатий за время жизни устройства не слишком много (порядок 100 000 - 10 000 000) то можно использовать EEPROM для сохранения последнего значения.
Если сможете сами сделать, то почитайте уроки по EEPROM и потом ИИ почти наверняка может написать приемлемый код.
Если за деньги, то ОТ 500 руб с предоплатой.

Если нажатий больше (например нажимает какой то механизм), то возможно потребуется другой способ и соответственно другая стоимость.
 
  • Лойс +1
Реакции: Demitryi

NovinTutor

✩✩✩✩✩✩✩
19 Июл 2025
17
0
@Demitryi, либо eeprom.h либо, если нажатий будет > 100000, то испоьзовать внешнюю память
 

OKF

✩✩✩✩✩✩✩
29 Фев 2020
34
7
Да ладно. С кнопками это делается через сохранение по паузе. Запись с кешированием называется.
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,350
1,328
Москва
Ну для примера такой вариант.
Берем 1000 байт из еепром. Оставляем хвост про запас.
Далее в 1000 байт пишем 0 - это 0 нажатий.
При старте читаем все ячейки с 0 , до 999, пропуская все значения равные 12.
При увеличении нажатия пишем в ячейку 0 следующее значение , если новое значение 12, то переходим в сл. ячейку (по адресу).
В хвост можно записывать общее число полных проходов, кода в яч. 999 записано 12, При этом надо обнулить всю память с 0 до 999. Это если надо понимать сколько раз всего была нажата кнопка.
Прикидываем. Если память выдерживает 100 000 записей в одну ячейку, то в каждую ячейку можно записать 7690 раз. Имеем 1000 ячеек , получаем 7 690 000 циклов. что около 89 лет непрерывных нажатий каждую секунду.
 

Sana956

★✩✩✩✩✩✩
5 Мар 2022
96
29
@Старик Похабыч,
Проверял на практике. Ячейка EEPROM начинает сбоить при 13,5М записей. Разумеется все фломастеры разные на вкус, но общее представление можно иметь.
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,350
1,328
Москва
@Sana956, Я взял минимальное значение. Больше - лучше Но суть тут в том, что надо исходить из предполагаемого кол-ва нажатий на кнопку и времени жизни устройства.
 

Мишутк

★✩✩✩✩✩✩
29 Мар 2025
91
38
Часы с батарейкой подключите. В модуле часов есть энергозависимая память (очень маленькая), которая поддерживается батарейкой. Удобно пользоваться для сохранения часто меняющихся параметров, особенно когда в устройстве по-любому есть потребность в часах. У этой памяти ресурс намного больше чем у энергонезависимой EEPROM.

Ну а чисто поиграть или сделать устройство которым будут редко пользоваться, да и то только первое время - епромки хватит без каких либо хитростей.
 
  • Лойс +1
Реакции: Sana956