Всем привет. Есть библиотеки Код (C++): #include <Key.h> #include <Keypad.h> Можно ли сделать так что бы, при нажатии на любую кнопку, на матричной клавиатуре, выполнялся цикл. Например нажали 1, в цикле выполняется инкремент на 1, отпустили кнопку - ни чего не происходит.
Код (C++): char key = keypad.getKey(); // пока нажата 1, увеличиваем переменную if(key == '1') { i++; delay(); } // любая другая кнопка, кроме 1, то уменьшаем if(key && key != '1') { i--; delay(100); } Если нажму 1, то условие выполнится 1 раз. А мне нужно, что бы выполнялось, пока не отпущу кнопку. С обычной кнопкой так работает, с матричной - понять не могу.
примерно так: Код (C++): #include <Key.h> #include <Keypad.h> int i; void setup() { keypad.setHoldTime(100); keypad.setDebounceTime(20); } void loop() { сhar key = keypad.getKey(); // пока нажата 1, увеличиваем переменную if (key == '1') { while (keypad.getState() == HOLD) // возможно надо PRESSED вместо HOLD { i++; } } // любая другая кнопка, кроме 1, то уменьшаем if (key && key != '1') { while (keypad.getState() == HOLD) { i--; } } } У меня нет этой библиотеки, поэтому что-то в инициализации мог пропустить.