Как использовать обычный 2-х кнопочный переключатель в кавестве кнопки

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем Максим B, 9 май 2014.

  1. Максим B

    Максим B Гуру

    Всем привет. Есть ли пример как праивльно использовать такой выключатель в качестве кнопки.
     
  2. Mitrandir

    Mitrandir Гуру

    Не очень понятен вопрос. Что такое выключатель? Это кнопка нажал она пропускает ток еще раз нажал перестала пропускать
     
  3. Максим B

    Максим B Гуру

    Это кнопка, которую нажал и сработало реле, еще раз нажал и реле отключилось.
     
  4. Mitrandir

    Mitrandir Гуру

    Код (Text):
    byte buttonState;
    if(buttonState != digitalRead(BUTPIN ))
    {
    delay(50);
      buttonState = digitalRead(BUTPIN);
    }

    digitalWrite(RELPIN, buttonState);
     
  5. Mitrandir

    Mitrandir Гуру

    подключить как обычную кнопку
    На один контакт 5 вольт другой на порт и притянуть к земле
     
  6. Максим B

    Максим B Гуру

    На выключателе есть: контакт 1,2, L, и земля. Я так понимаю мне нужно соединить провод с контактом 1 и его к 5 вольтам, а 2 через резистор с землей и к пину ???
     
  7. geher

    geher Гуру

    "Нам бы схемку аль чертеж...", или хотя бы фото.
    Не вполне понятно, о каком устройстве вообще речь идет, особенно после того. что он 2-х кнопочный, и странной распиновки с четырьмя контактами
    Может оказаться, что он замыкает-размыкает две независимые пары контактов, или две соединенные между собой пары контактов (как в "тактовой кнопке" из магазина Амперки), или переключает, меняя соединение, например, земли то с первым контактом, то со вторым.
     
  8. Пушной звер

    Пушной звер Оракул Модератор

    если речь о таком
    [​IMG]

    такое звать "кнопка двухпозиционная"
     
  9. geher

    geher Гуру

    Т.е. по сути это просто переключатель.

    Могу ошибаться, но если я правильно понимаю и не напутал чего на ночь и концерт евровидения глядя, то дело обстоит следующим образом.

    Подключаться надо к трем контактам внизу.
    Тот, что чуть в стороне - общий.
    Для ардуины, если не вдаваться в тонкости механики, это выглядит как две кнопки, которые оказываются нажатыми и разомкнутыми в противофазе. Большого смысла это не имеет, поскольку зная состояние одной "кнопки" мы точно знаем состояние другой. Можно, конечно, использовать именно в качестве переключателя, но это уже другая история.

    Соответственно, если рассматривать схему подключения из видеоуроков, то общий (на фото левый нижний) контакт на +5, один из двух оставшихся одновременно проводом к пину и резистором 10 кОм к земле (в зависимости от желаемого соответствия физического положения управляющего механического элемента и состояния "замкнут"/"разомкнут").
    Можно, конечно, и наоборот, но на случай, если вдруг все-таки захочется подключить оставшийся контакт к другому пину, чтобы иметь пины с противоположными состояниями, лучше так.
     
    Последнее редактирование: 11 май 2014
  10. Максим B

    Максим B Гуру

    Выключатель вот такой. Слева вверху вывод 1, справа вверху -вывод 2, снизу земля и фаза
     

    Вложения:

    • IMG376.jpg
      IMG376.jpg
      Размер файла:
      354,6 КБ
      Просмотров:
      869
  11. Mitrandir

    Mitrandir Гуру

    судя по картинке тут два выключателя, левый и правый
     
  12. Пушной звер

    Пушной звер Оракул Модератор

    можно поискать кнопку выхода, вместо этого включателя.

    [​IMG]
     
  13. Tomasina

    Tomasina Сушитель лампочек Модератор

    Неверно.
    L - это общий вход, 1 и 2 - соответствующие выходы.
    Контакт L подключаешь к +5V, контакты 1 и 2 через резисторы 1...4,7k к двум цифровым пинам. К этим же контактам 1 и 2 через резисторы 10k подключаешь GND.
    Контакт "заземление" не использовать, это не "земля" (GND для ардуино) :)
    [​IMG]

    Раз вы назвали это переключателем, а не кнопкой, то у каждой клавиши есть два фиксированных положения: "on" и "off". Как кнопку использовать можно, но при этом надписи "O" и "I" на клавишах не будут соответствовать фактическому состоянию, это надо просто учитывать.

    P.S. Ни один из контактов этого выключателя не должен иметь соединения с сетью 220В.
     
    Последнее редактирование: 12 май 2014
  14. Максим B

    Максим B Гуру

    Спасибо вам большое за разъяснение. Вроде мелочь, вроде все просто, а нет. ))))
     
  15. Максим B

    Максим B Гуру

    В общем подключил выключатель L- gnd, 1 через резистор к пину A3. Используя код
    Код (Text):
    #define BUTTON_PIN  A3
    #define LED_PIN    13
    boolean buttonWasUp = true;  // была ли кнопка отпущена?
    boolean ledEnabled = false;  // включен ли свет?
    void setup()
    {
      pinMode(LED_PIN, OUTPUT);
      pinMode(BUTTON_PIN, INPUT_PULLUP);
    }
    void loop()
    {
      // определить момент «клика» несколько сложнее, чем факт того,
      // что кнопка сейчас просто нажата. Для определения клика мы
      // сначала понимаем, отпущена ли кнопка прямо сейчас...
      boolean buttonIsUp = digitalRead(BUTTON_PIN);
      // ...если «кнопка была отпущена и (&&) не отпущена сейчас»...
      if (buttonWasUp && !buttonIsUp) {
        // ...может это «клик», а может и ложный сигнал (дребезг),
        // возникающий в момент замыкания/размыкания пластин кнопки,
        // поэтому даём кнопке полностью «успокоиться»...
        delay(10);
        // ...и считываем сигнал снова
        buttonIsUp = digitalRead(BUTTON_PIN);
        if (!buttonIsUp) {  // если она всё ещё нажата...
          // ...это клик! Переворачиваем сигнал светодиода
        ledEnabled = !ledEnabled;
        digitalWrite(LED_PIN, ledEnabled);
        }
      }
      // запоминаем последнее состояние кнопки для новой итерации
      buttonWasUp = buttonIsUp;
    }
    у меня получилось зажигать светодиод, НО как переделать чуть код для того чтобы, кнопку нажал - светодиод включился, кнопку опустил вниз - светодиод погас?
     
  16. Tomasina

    Tomasina Сушитель лампочек Модератор

    У тебя клавишный выключатель (остается в верхнем положении), или клавишная кнопка (возврашается в исходное состояние)?
     
  17. Максим B

    Максим B Гуру

    клавишный выключатель (остается в верхнем положении)
     
  18. Максим B

    Максим B Гуру

    Реально в интернете ничего на такой выключатель не нашел, почему интересно не добавили на amperka ?)
     
  19. Tomasina

    Tomasina Сушитель лампочек Модератор

    Давай не будем путать кнопку и клавишу. А то в 1-м и 15-м посте уже взаимоисключающие пожелания из-за этого. Нужна какая логика:
    а) эмуляция выключателя: зажигать LED при клавише вверх, оставлять в таком состоянии, гасить при клавише вниз;
    б) эмуляция кнопки: зажигать LED при действии вверх-вниз, гасить при повторном действии вверх-вниз?
     
  20. Максим B

    Максим B Гуру

    а), просто я писал про выключатель 220 который у всех в квартирах для люстры.