Étape 6: Bonus - deux boutons 6 fonctions
Que se passe-t-il si nous avons deux boutons? Ensuite, nous avons la possibilité de 6 fonctions comme suit.
Appuyer brièvement sur le bouton 1
Appuyer brièvement sur le bouton 2
Appuyer brièvement sur le bouton 1 & 2
Appuyez longuement sur le bouton 1
Appuyez longuement sur la touche 2
Appuyez longuement sur le bouton 1 & 2
Le programme fonctionne de la même manière que le premier code est, avec quelques modifications notables.
Tout d’abord, il y a plus LED, la signification il y a plus de variables et bien sûr le bouton supplémentaire. Mais le plus grand changement arrive au point où la pression longue ou appuyez rapidement sont activés. Une fois ou l’autre de ces deux points sont atteints, plutôt qu’allumer une LED ou éteindre, nous avons trois actions possibles pour chaque fonction. Ce qui entraîne un des tournant six possible LED allumé ou éteint. Pour déterminer les mesures à prendre, nous avons vérifier l’état de chaque bouton et ces points et réagir en conséquence.
Voici le code
int LED1 = 8 ; int LED2 = 9 ; int DEL3 = 10 ; int LED4 = 11 ; int DEL5 = 12 ; int LED6 = 13 ; int button1 = 3 ; int button2 = 4 ; long buttonTimer = 0 ; buttonTime long = 250 ;button1Active booléen = false ; button2Active booléen = false ; LED1Active booléen = false ; LED2Active booléen = false ; LED3Active booléen = false ; LED4Active booléen = false ; LED5Active booléen = false ; LED6Active booléen = false ; void setup() {pinMode (LED1, OUTPUT); pinMode (LED2, sortie); pinMode (DEL3, sortie); pinMode (LED4, sortie); pinMode (DEL5, sortie); pinMode (LED6, sortie); pinMode (button1, d’entrée); pinMode (button2, entrée);} void loop() {si (digitalRead(button1) == HIGH) {}button1Active = true ; } Si (digitalRead(button2) == HIGH) {}
D’ici on pourrait même ajouter un troisième bouton pour une possible 14 LEDs, ou quatre boutons pour 30 LEDs. Peut-être une autre fois si:)