Подключение кнопок на один вход

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем Karabas, 14 дек 2015.

  1. Karabas

    Karabas Гик

    Собственно ничего нового в подключении нескольких кнопок на один вход нет, в зависимости от подоваемого напряжения определяем какая кнопка нажата.
    А теперь вопрос, как игнорировать одновременное нажатие двух и более кнопок. Пока ничего лучше, чем подобрать реисторы таким образом, чтоб две нажатые кнопки давали напряжение болше чем любая одна, не придумал.
    Есть ли какие-то проверенные алгоритмы?
     
  2. Tomasina

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

    чем не угодило простое программное отсечение нажатия двух и более кнопок? Значения при нажатии на отдельные кнопки известны, остальное игнорируем как помехи.
     
  3. Karabas

    Karabas Гик

    Да вобщем-то об этом я и думал, просто не хотелось изобретать велосипед.
    А что там с дребезгом, вроде как не должен докучать, но опять же, не будут ли микроимпульсы восприниматься как нажатия на более "низковольтные" кнопки?
     
  4. DrProg

    DrProg Вечный нерд

    Антидребезг:
    [​IMG]
     
    Mestniy и ИгорьК нравится это.
  5. Mestniy

    Mestniy Гуру

    Все очень просто. Вот код, для двух кнопок, который выполняется при нажатии только одной кнопки:
    Код (C++):
    if (!digitalRead(кнопка 1)&&digitalRead(кнопка 2))
    {
    //здесь выполняется функция, которая работает, когда
    //нажата кнопка 2
    }
    if (digitalRead(кнопка 1)&&!digitalRead(кнопка 2))
    {
    //здесь выполняется функция, которая работает, когда
    //нажата кнопка 1
    }
    Думаю для условия из более 2-х кнопок додумаетесь?