Объясните пожалуйста библиотеку Keypad.h. Какие команды и для чего там используются?

Тема в разделе "Arduino & Shields", создана пользователем saul, 2 июл 2018.

  1. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Arduino IDE-Примеры-Analog- AnalogInOutSerial - покажет вам цифровое значение напряжения каждой кнопки. Запишите на бумажке.
    Выберете границы раздела между близлежащими значениями Nx и Vx и тоже запишите на бумажке. Это чтоб была гарантия на "попадание", если присутствует нестабильность значений.
    Составите подпрограмму типа
    Код (C++):
    Keyb = analogRead (Ax);
    if Keyb > N1 && Keyb < V1)  //Определить кнопку по ее значениям напряжения
      {
    Serial.print("Это кнопка 1");
    .......//Выполнить то-то
      }
    if Keyb > N2 && Keyb < V2)
      {
    Serial.print("Это кнопка 2");
    .......//Выполнить то-то
      }
    Вот и все библиотеки. Можно то же с использованием команд Select Case, но код получается намного "тяжелей".
    Так он может и не знает о том что так можно - в смысле без библиотеки.
     
    Последнее редактирование: 11 фев 2020
  2. kraus

    kraus Нерд

    Последнее редактирование: 11 фев 2020
  3. Bard

    Bard Нуб

    Благодарю за советы.
    Хотя как делать клавиатуру на резюках я знаю, да и обработчик матричной можно самому написать, но я же претендую на звание программиста, так что лень в приоритете, хочется - plug&play )
    Да и, ввиду особенностей проекта, а конкретно прожорливости под хранение текстовых данных, делаю на меге, с пинами проблем нет, но но частный случай, конечно.
    А если по теме моего вопроса - я уже вчера библиотеку раскурочил, есть там защита от дурака, диоды не нужны.
     
  4. ibnteo

    ibnteo Нуб

    Диоды в матричной клавиатуре нужны чтобы можно было нажимать несколько кнопок одновременно, и при этом не было фантомных нажатий кнопок, в матрице 2х2 если нажать три кнопки, то без диодов контроллер посчитает, что нажата и четвёртая. В большинстве случаев такое не требуется, особенно в небольших клавиатурах, нажимаемых одним пальцем.