code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| void loop() { int Code = 0; char user_input_pass[4]; Serial.println("Please Enter Your Current Password"); while (Code < 4){ char Key = customKeypad.getKey(); if (Key) { user_input_pass[Code++] = Key; Serial.print(Key); // debug } // else } if (Code == 4){ Serial.println("De code is"); Serial.print(user_input_pass); // Geeft 2502 in console if (user_input_pass == "2502") { // werkt niet } if (user_input_pass == 2502) { // werkt ook niet } } } |
Ik ben middels een Arduino een keypad aan het programmeren. De bedoeling is dat ik een 4 cijferige code invoer, en als de juiste code is ingevoerd deze een bepaalde actie uitvoert.
Ik krijg het echter niet voor elkaar en zit er al een uur naar te kijken.
Ik denk dat het iets met chars en int(egers) te maken heeft, maar ik krijg het maar niet werkend.
Met wat probeersels krijg ik het volgende wel 'werkend':
code:
1
2
3
4
5
6
7
8
| Serial.println("De code is"); Serial.print(user_input_pass); // Geeft 2502 in console String myString = String(user_input_pass); if (myString == "2502") { Serial.println("code geaccepteerd"); } |
Welke in de console dan 'code geaccepteerd' weergeeft. Dus ik denk, dat is um. Maar zodra ik er extra code bij zet krijg ik geen foutmeldingen, maar de 'code geaccepteerd' en de opvolgende code wordt vervolgens niet meer uitgevoerd of weergegeven in de console. Er komen dan een paar rare tekens bij in de console, maar dat kan ik ook niet verklaren.
Er gaat dus ergens iets mis, maar ik kan er niet de vinger op krijgen.De code is
2502⸮c⸮
987654321X00٬⸮`Please Enter Your Current Password
Wat assistentie in het, waarschijnlijke simpele, probleem zou fijn zijn.
[ Voor 6% gewijzigd door BLACKfm op 22-02-2023 00:12 ]