Odpověď na: Čtení hesla z
Úvodní stránka › Fórum › Vaše projekty › Arduino › Čtení hesla z › Odpověď na: Čtení hesla z
Pojďme tedy pokračovat dál 🙂 Koukám na dokumentaci, tak snad ji dobře chápu. (http://playground.arduino.cc/Code/Keypad)
Prozkoumejme pořádně funkci keypadEvent.
void keypadEvent(KeypadEvent eKey){
for (int i =0; i = 5; i++){
admpw[i] = keypad.getState();
Serial.println(admpw[i]);
}
}
Ta je zavolána kdykoliv, když dojde ke změně stavu klávesy (uvolnění, stisknutí).
Funkce getState() vrací hodnotu podle toho, co se s keypadem děje – vrací hodnoty
IDLE, PRESSED, RELEASED a HOLD. Vy tedy budete ve funkci keypadEvent testovat, jestli je getState() rovna PRESSED a poté zapisovat hodnotu stisknuté klávesy do pole admpw[] na patřičné místo (další v pořadí).
Takže bych postupoval následovně: vytvořte si na začátku programu proměnnou int pos = 0;
, která bude udávat pozici načteného znaku. Při stisknutí tlačítka dojde k uložení stisknutého tlačítka do pole admpw na index pos a navýšení proměnné pos o 1. Musíte si také pohlídat, aby pos měla hodnoty 0 – 4. To se dá zařídit operátorem modulo – %.
void keypadEvent(KeypadEvent eKey){
if(keyboard.getState == PRESSED){
admpw[pos] = keyboard.getKey();
pos = (pos + 1) % 5;
}
}
Takhle by to podle mě mohlo jít 🙂