Всем добрый день. Задача такова скажем при включении тумблера заходим в режим настройки есть три переменные которые хранят значения от 0 до 100. В режиме настройки есть шесть кнопок + и - т.е. две кнопки на каждую переменную ими увеличиваем или уменьшаем значение. Вопрос в следущем: как сделать что б конечное значение записывалось в eeprom при выходе из режима настроек. Т.е. если в лупе прописать записывать когда тумблер low то он постоянно будет писать в еепром, как сделать что б записывал только один раз после настройки
или тумблер заменить на кнопку или добавить кнопку записи в память. и не проще ли использовать только две кнопки +-, а по переменным бегать с помощью кнопки . я правда не знаю вашего устройства и задачей - просто мысли вслух
Контролировать положение тумблера, как только положение тумблера изменилось производим запись в eeprom. Отслеживать нужно не состояние, а именно переход из низкого в высокое состояние.
Элементарно, I_v_a_n! Задаете глобальную переменную - статус. Пишите отдельно функцию, в которой проводите опрос: тумблера, запись eeprom и меняете значение этой переменой. В loop по условию проверяете, изменилась ли переменная, ели нету изменений, то вызываете функцию опроса тумблера. Или подключите тумблер по прерыванию - еще проще.
Код (Text): boolean prevState = false; void loop() { boolean state = digitalRead(TUMBLER_PIN); if(state == true) { // меню } else { // все остальное } if(state == false && prevState = true) { // сохранить в eeprom } prevState = state; }