Hallo ich haben einen Code welcher mir eine Aktion ausführt sobald ich eine Taste auf der 4x4 Folientastertur drücke, jetzt möchte ich aber zusätzlich eine Aktion ausführen solange ich eine Taste drücke.
z.b. ich drücke die Taste 1 und der Pin 1 geht für 2 Sekunden auf HIGH.
aber wenn ich die Taste 2 drücke soll der Pin 2 High sein bis ich die Taste loslasse.
wie kann ich das machen, aktuell sieht mein code so aus
#include <Keypad.h>
const byte ROWS = 4; // Anzahl der Zeilen
const byte COLS = 4; // Anzahl der Spalten
char hexaKeys[ROWS][COLS] = {
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}
};
byte rowPins[ROWS] = {9, 8, 7, 6}; // Pins für die Zeilen
byte colPins[COLS] = {5, 4, 3, 2}; // Pins für die Spalten
Keypad keypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);
const int outputPin = 1; // Pin, der für 1 Sekunde auf HIGH gesetzt wird
void setup() {
pinMode(outputPin, OUTPUT);
digitalWrite(outputPin, LOW);
}
void loop() {
char key = keypad.getKey(); // Taste auslesen
if (key == '1') { // Wenn Taste "1" gedrückt wurde
digitalWrite(outputPin, HIGH);
delay(1000); // 1 Sekunde warten
digitalWrite(outputPin, LOW);
}
}
ich hoffe mein Problem ist verständlich und ich bedanke mich für eure Antworten.