2 knoppen combinatie code

Arduino specifieke Software
Berichten: 5
Geregistreerd: 07 Dec 2018, 17:51

2 knoppen combinatie code

Berichtdoor Stef.v.oijen » 09 Mei 2019, 15:34

Ik wil graag door middel van 2 knoppen een code wachtwoord maken om een relais te schakelen

Voorbeeld

Knop links
Knop rechts

De code moet dan zijn links-rechts-links -links rechts

Kan iemand mij op weg helpen en wat voor voorwaarden ik het best kan gebruiken

Advertisement

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: 2 knoppen combinatie code

Berichtdoor Koepel » 09 Mei 2019, 17:31

Voor de veiligheid kun je er een timeout op zetten, maar dat is voor later.

Om te beginnen hebben beiden knoppen een State Change Detection nodig: https://www.arduino.cc/en/Tutorial/StateChangeDetection.
Vervolgens hebben de knoppen een anti-dender (debounce) nodig.
Eventueel kun je library Bounce2 proberen (daar zit de State Change Detection en de debounce beide al in).

Stel dat de ene knop 'a' is en de andere 'b'.
Begin maar met een vaste grootte, bijvoorbeeld 5.
Zet het wachtwoord in een array: const char password[6] = "abaab"; // 6 bytes, one extra for zero-terminator

Het kan ook met bits, maar door dit met tekst te doen kun je ze naar de seriële monitor sturen. Dat is misschien handiger.

Zodra er een knop is ingedrukt, dan een array naar links schuiven en aan de rechterkant de nieuwe toevoegen. Vervolgens de beide vergelijken.

Code: Alles selecteren
char code[6] = "     ";    // fill with empy spaces, the zero-terminator is always at index 5

// schuif naar links (kan ook met memcpy)
for( int i=0; i<4; i++)
{
  code[i] = code[i+1];
}

// voeg de nieuwe toe
code[4] = 'a';   // or 'b', depening on which button was pressed.

// vergelijk
if( strcmp( password, code) == 0)
{
  // It is a match
}


Het is geen echte nette code, maar het is een begin. Ik zou liever code maken voor een variabele grootte van het wachtwoord. Dat is een uitbreiding voor later.

Berichten: 5
Geregistreerd: 07 Dec 2018, 17:51

Re: 2 knoppen combinatie code

Berichtdoor Stef.v.oijen » 12 Mei 2019, 12:18

Hardstikke bedankt ik ga kijken of t lukt

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 10 gasten