Пользовательский интерфейс

Тема в разделе "Arduino & Shields", создана пользователем lvis, 6 апр 2014.

  1. lvis

    lvis Нуб

    Ребят подскажите куда копать...
    Есть три кнопки, две из них +10 и -10 секунд соответственно третья ввод. Суть в том человек при нажатии кнопки ввод активирует режим "выстовления" и двумя другими кнопками корректирует его после чего снова нажимает ввод.
     
  2. Megakoteyka

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

    Что-нибудь наподобие этого:
    Код (Text):
    const int MAX_VALUE = 100;

    const int MIN_VALUE = 0;

    enum MODE {
      WORK,
      SET };

    MODE _mode = WORK;
    int _value = 0;

    void setup()
    {
      ...
    }

    void loop()
    {
      if(_mode == WORK)
      {
        if(button_plus_pressed && (_value + 10) <= MAX_VALUE)
          _value += 10;
        if(button_minus_pressed && (_value - 10) >= MIN_VALUE)
          _value -= 10;
      }
      else
      {
        if(button_set_pressed)
        {
          _mode = _mode == WORK ? SET : WORK;
        }
      }
    }
    Замените button_X_pressed на соответствующие выражения.
     
    atompost нравится это.
  3. lvis

    lvis Нуб

    спс будем ковырять
     
  4. lvis

    lvis Нуб

    Код (Text):
    if(_mode == WORK)
      {
        if(button_plus_pressed && (_value + 10) <= MAX_VALUE)
          _value += 10;
        if(button_minus_pressed && (_value - 10) >= MIN_VALUE)
          _value -= 10;
      }
    я правельно понимаю этот код будет выполнятся пока второй раз на кнопку моде не нажать?
     
  5. Megakoteyka

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

    Именно.