+4 голосов

Привет!

Есть программа работающая на Arduino, в результате работы образуется 3 переменные, 

Внимание вопрос:

Как вы сохраняете переменные при отключении питания (света в доме например)? Программа перезапускается, а переменных нет. Существует ли способ!? 

Есть переменные которые используются в точной настройке программы, они переменные, но при этом не так часто обновляются, может раз в час, не более.....но.....если отключат свет, и программа перезапустится, выставятся усредненные стартовые значения, что не есть ГУД! 

(50 баллов) 4 14
исправил

3 Ответы

+4 голосов
 
Лучший ответ
Есть два варианта. 1-й периодически записывайте свои переменные в EEPROM, но при этом помните что количество циклов записи ограничено и при слишком частом сохранении ресурс памяти будет быстро исчерпан. 2-й - анализируйте наличие питания и в аварийной ситуации также сохраняйте данные в EEPROM. Для того чтобы при пропадании питания ардуина успела записать данные в память ипользуйте конденсаторы большой емкости или ионистор. При старте программы считывайте записанные данные и используйте их в своем коде.
(221 баллов) 4 16
выбран
Второй вариант — весьма умно!
+3 голосов
Ардуину нужно запитать 9Вольт через диод  на Vin и до диода подключить через делитель аналоговый вход для контроля напряжения  , как только напряжение на Vin будет ниже 7Вольт сделайте так чтобы производилась запись нужных переменных в EEPROM. А по питанию 5В Ардуины нужно поставить конденсатор 1000мкФ для поддержания напряжения на время записи.
(403 баллов) 2 5 17
+1 голос
Можно использовать sd-карту. Места куча, может пригодиться и для больших данных. Сам имею несколько старых карточек по 128 - 256 МБ.
(72 баллов) 9
Добро пожаловать на Бредборд! Сайт вопросов и ответов на тему Arduino, Raspberry Pi и хоббийной электроники в целом. Цель Бредборда — быть максимально полезным. Поэтому мы строго следим за соблюдением правил, боремся с холиворами и оффтопиком.
  1. parovoZZ

    70 балл(ов)

  2. Un_ka

    64 балл(ов)

  3. sser

    38 балл(ов)

  4. Тигрыч

    10 балл(ов)

  5. Kiprais

    9 балл(ов)

  6. N08I40K

    8 балл(ов)

Награды месяца
1-е место: Raspberry Pi 3 Model A+
2-е место: Raspberry Pi Zero W
3-е место: Raspberry Pi Zero

...