Stap 6: Bonus - twee knoppen 6 functies
Wat als we beschikken over twee knoppen? Vervolgens hebben we de mogelijkheid van 6 functies als volgt.
Korte druk op de toets 1
Druk op knop 2 korte
Korte druk op de toets 1 & 2
Druk lang op knop 1
Druk lang op knop 2
Druk lang op knop 1 & 2
Het programma werkt op dezelfde manier als die de eerste code doet, met sommige opmerkelijke veranderingen.
Ten eerste zijn er meer LED is, wat betekent dat er meer variabelen, en natuurlijk de extra knop. Maar de grootste verandering komt tot het punt waar de lange pers of kort indrukken worden geactiveerd. Zodra een van deze twee punten zijn bereikt, in plaats van uitschakelen een LED, hebben we drie mogelijke acties voor elke functie. Leidt tot een van de zes mogelijke LED's draaien in- of uitschakelen. Om te bepalen welke actie moet worden uitgevoerd, wij controleren van de status van elke knop en deze punten, en dienovereenkomstig reageren.
Hier is de code
int LED1 = 8; int LED2 = 9; int LED3 = 10; int LED4 = 11; int LED5 = 12; int LED6 = 13; int button1 = 3; int button2 = 4; lange buttonTimer = 0; lange buttonTime = 250;Boole button1Active = false; Boole button2Active = false; Boole LED1Active = false; Boole LED2Active = false; Boole LED3Active = false; Boole LED4Active = false; Boole LED5Active = false; Boole LED6Active = false; void setup {pinMode (LED1, OUTPUT); pinMode (LED2, OUTPUT); pinMode (LED3, OUTPUT); pinMode (LED4, OUTPUT); pinMode (LED5, OUTPUT); pinMode (LED6, OUTPUT); pinMode (button1, INPUT); pinMode (button2, INPUT);} void loop {als (digitalRead(button1) == HIGH) {}button1Active = true; } Als (digitalRead(button2) == HIGH) {}
Hiervandaan kunnen we zelfs een derde knop toevoegen voor een mogelijk 14 LEDs, of vier knop voor 30 LEDs. Misschien een andere keer al :)