KeyPad a PIN s nekolika cisly

Nedaří se vám s projektem a nenašli jste vhodné místo, kde se zeptat? Napište sem.
Pravidla fóra
Tohle subfórum je určeno pro konzultaci ucelených nápadů, popřípadě řešení komplexnějších projektů, které opravdu není možné rozdělit na menší části.
Většinu problémů jde rozdělit na menší a ptát se na ně v konkrétních subfórech.
Odpovědět
Kony
Příspěvky: 382
Registrován: 09 dub 2020, 11:43
Reputation: 0

KeyPad a PIN s nekolika cisly

Příspěvek od Kony » 14 lis 2022, 16:05

Ahoj, snazim se pres Keypad ulozit nekolikamistny PIN....

Kód: Vybrat vše

void loop()
{
  char keys[] = "123A456B789C*0#DNF";  // N = Nokey, F = Fail
  uint8_t idx = keyPad.getKey();
  if (idx != lastKey & keys[idx] != 'N') {
    klavesy=(klavesy*10)+keys[idx];
    lastKey = idx;
    Serial.println(klavesy);
    if (klavesy > 999999) {klavesy = 0;};
   }
  delay(100);
}
ale pri mackani od 1-6 to vypise :

Kód: Vybrat vše

16:03:10.890 -> 49
16:03:11.879 -> 540
16:03:12.588 -> 5451
16:03:13.392 -> 54562
16:03:14.002 -> 545673
16:03:14.806 -> 5456784
16:03:15.706 -> 55

Uživatelský avatar
kiRRow
Příspěvky: 1152
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

Re: KeyPad a PIN s nekolika cisly

Příspěvek od kiRRow » 14 lis 2022, 16:25

Protože ti to příjde jako ASCII znak ... 1=49, 2=50 ... atp ... schválně si spočítej 49*10+50

Kony
Příspěvky: 382
Registrován: 09 dub 2020, 11:43
Reputation: 0

Re: KeyPad a PIN s nekolika cisly

Příspěvek od Kony » 14 lis 2022, 16:25

aha.... a jak to predelat na normalni cislo ?

Uživatelský avatar
kiRRow
Příspěvky: 1152
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

Re: KeyPad a PIN s nekolika cisly

Příspěvek od kiRRow » 14 lis 2022, 16:31

odečíst 48 ?
klavesy=(klavesy*10)+(keys[idx]-48);
akorát bych si kontroloval jestli keys[idx] je v rozsahu 48 - 57

Kony
Příspěvky: 382
Registrován: 09 dub 2020, 11:43
Reputation: 0

Re: KeyPad a PIN s nekolika cisly

Příspěvek od Kony » 14 lis 2022, 16:36

To uz funguje, ale neresi to muj problem :)))
Potrebuji aby se cisla k sobe pricitali.. jako bych napsal PIN 123456

Potrebuji napsat PIN a pomoci # odeslat

Uživatelský avatar
kiRRow
Příspěvky: 1152
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

Re: KeyPad a PIN s nekolika cisly

Příspěvek od kiRRow » 14 lis 2022, 17:05

Přičítali, nebo připisovali ? Výsledkem prvního bude 1+2+3+4+5+6 = 21, výsledkem toho druhého bude 123456, toho docílíš tak jak píšeš klavesy = (klavesy*10)+(keys[idx]-48); ... musíš si ale ohlídat aby keys[idx] byl v rozsahu 48 - 57 ... pokud bude mimo tento rozsah, stisknul jsi něco jiného než 0 až 9 a je třeba provést jinou operaci než připisování čísel.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 17 hostů