При разгребании хлама попался интересный светильник. Жена просит его оживить в веранду на дачу. Туда просится световой цилиндр из адресных rgb светодиодов. С пультиком пока повременю, а режимы переключать хочется. Как во всех китайских люстрах повторной подачей питания (выкл и сразу вкл). Ничего умнее или проще не придумывается: заряжать конденсатор после включения, организовав ему постоянный разряд через резистор. При выключении он разряжается, на запуске измерять напряжение на нем и снова включать заряд.
Не слишком заумно по неопытности придумал?
Играться буду с Nano.
Разрешения просите? Лично я не против. За остальных не скажу
Да, чтобы случайно длительность земных суток не изменить. Побьют же…
Раз там будут адресные светодиоды, то Nano на ESP заменить, вшить влед и примотать сенсорную кнопку.
И как мне до этой кнопки допрыгивать? Пока двухпроводка, а с пультиком или кнопкой повременю.
Заодно и кейс полезный проработаю: а не перезагрузился ли я.
Да что там на выходе не особо пока интересно. Может и единственным rgb источником обойдусь, без бегающих переливов. Так, яркость, температура.
Поднимать флаг при включении и записывать в EEPROM. По прошествии времени его снимать. Флаг поднят - меняем режим, нет - включаем предыдущий.
В последней безделушке сделал кэширование при записи в ЕЕПРОМ. Понравилось, удобно.
Это как, можно по-подробнее.
Очень просто. Запись делаешь не сразу, а через какое то время. К примеру, кручу я яркость. Но не сохраняю при каждом изменении. Ага?
А где тут кэширование? И как определяете момент записи в ЕЕПРОМ?
Ну, кэширование, может не совсем правильный термин…
Момент записи определяется по таймауту. Ты “пишешь” как обычно, но сохраняется всё это (действительно записывается) после того как всё устаканится.) Когда отсутствуют команды записи в течение какого то времени.)
А у меня счетчик времени «сбрасывается» при «внешнем взаимодействии». Обычно 5-10 минут достаточно. Если не сбросили - значит можно сохранить в EEPROM.
Дак можно просто питать контроллер через диод+конденсатор, а аналоговым входом щупать до диода - пропало входное или нет. Если зафиксировано пропадание - цвет++.
Только всё равно люстра мыргать будет.
Ну, от ситуации зависит. Основная идея - не палить ЕЕПРОМ. Не частить!)
Ну спалить ЕЕПРОМ наверное сложно, скорее люстра выйдет из строя.
Ну почему же. Нужно считать.
Людям делал учёт времени работы прибора. Посекундно. Приходилось учитывать.
Вроде там не менее 100000 записей, если каждый вечер 2-3 сохранения на 100 лет должно хватить. Люстру точно переживет.
А если ещё счётчик по всей eeprom гонять, то выйдет и до второго пришествия считать…
нужна еще одна EEPROM. Сохранять № ячейки предыдущей записи.))
Не особо.
Находишь предыдущий сейв, положим в ячейке N. Пишешь тудыть нуль или фф по вкусу. С N+1 помещаешь следующий сейв. Если он не влезает до границы епрома - начинаешь новый круг: N+1 => 1
При старте ищешь последний фф (или префикс) и читаешь все, что дальше. Понятное дело, что префикс должен быть не фф и контролька в комплекте.