Не понятен пример использования массива кнопок.
Depech100 opened this issue · 1 comments
// объявляем массив кнопок
#define BTN_AMOUNT 5
#include <EncButton2.h>
EncButton2<EB_BTN> btn[BTN_AMOUNT];
void setup() {
Serial.begin(9600);
btn[0].setPins(INPUT_PULLUP, D3);
btn[1].setPins(INPUT_PULLUP, D2);
}
void loop() {
for (int i = 0; i < BTN_AMOUNT; i++) btn[i].tick();
for (int i = 0; i < BTN_AMOUNT; i++) {
if (btn[i].click()) {
Serial.print("click btn: ");
Serial.println(i);
}
}
}
Обьявили 5 кнопок а обьекта создали 2 всего. Что это за массив кнопок он аналоговый или это матричная клавиатура?
Нельзя ли пояснить? могу нарисовать схему помочь если нужно.
Скорее всего такая клавиатура?
Обьявили 5 кнопок а обьекта создали 2 всего
Почему же?
define BTN_AMOUNT 5
EncButton2<EB_BTN> btn[BTN_AMOUNT];
Создали массив из 5ти объектов
Что это за массив кнопок он аналоговый или это матричная клавиатура?
Нет и нет, это просто массив объектов одиночных кнопок, что здесь непонятного? Библиотека не работает напрямую ни с аналоговыми, ни с обычными матрицами. Только одиночные кнопки.
Если нужно получить функциональность библиотеки на матричной клавиатуре - берём любую библиотеку для матричных клавиатур (simpleKeypad например), а encbutton работает как виртуальная кнопка, и всё как в примерах