вопрос по кнопкам

Тема в разделе "Arduino & Shields", создана пользователем I_v_a_n, 13 июл 2015.

  1. I_v_a_n

    I_v_a_n Нуб

    Всем добрый день. Задача такова скажем при включении тумблера заходим в режим настройки есть три переменные которые хранят значения от 0 до 100. В режиме настройки есть шесть кнопок + и - т.е. две кнопки на каждую переменную ими увеличиваем или уменьшаем значение. Вопрос в следущем: как сделать что б конечное значение записывалось в eeprom при выходе из режима настроек. Т.е. если в лупе прописать записывать когда тумблер low то он постоянно будет писать в еепром, как сделать что б записывал только один раз после настройки
     
  2. vvr

    vvr Инженерище

    или тумблер заменить на кнопку или добавить кнопку записи в память.
    и не проще ли использовать только две кнопки +-, а по переменным бегать с помощью кнопки .
    я правда не знаю вашего устройства и задачей - просто мысли вслух:)
     
  3. Radius

    Radius Гик

    Контролировать положение тумблера, как только положение тумблера изменилось производим запись в eeprom. Отслеживать нужно не состояние, а именно переход из низкого в высокое состояние.
     
  4. Limoney

    Limoney Гик

    Элементарно, I_v_a_n!
    Задаете глобальную переменную - статус.
    Пишите отдельно функцию, в которой проводите опрос: тумблера, запись eeprom и меняете значение этой переменой.
    В loop по условию проверяете, изменилась ли переменная, ели нету изменений, то вызываете функцию опроса тумблера.

    Или подключите тумблер по прерыванию - еще проще.
     
  5. Arseny

    Arseny Нерд

    Подключите вместо тумблера кнопку и по ее нажатии записывайте в eeprom
     
  6. Megakoteyka

    Megakoteyka Оракул Модератор

    Код (Text):
    boolean prevState = false;

    void loop()
    {
      boolean state = digitalRead(TUMBLER_PIN);
      if(state == true)
      {
        // меню
      }
      else
      {
        // все остальное
      }

      if(state == false && prevState = true)
      {
        // сохранить в eeprom
      }
      prevState = state;
    }
     
    I_v_a_n нравится это.
  7. I_v_a_n

    I_v_a_n Нуб

    Спасибо большое за советы