Stap 4: Veel aantrekkelijker codering
Ik voegde 8 in en uitgangen en erkend dat er een veel elegantere manier van schrijven moet.
Het antwoord op de vraag was: arrays
Dus bij de laatste stap zijn we het gebruik van arrays de vroegere problemen op te lossen.
int i;
int x = 9; Aantal ingangen
int y = 9; Aantal uitgangen
char buttonState; werkelijke toestand van de knop
char lastButtonState [9]; laatste status van knop
int pinOUTarray [] {22, 23, 24, 25, 26, 27, 28, 29, 30} =; PIN OUT Array voor pin 22-30
int pinINarray [] {40, 41, 42, 43, 44, 45, 46, 47, 48, 53} =; PIN IN Array voor pin 40-48 en 53
VOID Setup
{
Initialiseren van de Arduino gegevens pennen voor uitvoer
voor (ik = 0; i
pinMode (pinOUTarray [i], OUTPUT);
}
Initialiseren van de Arduino gegevens pinnen voor invoer met Pullup weerstand
voor (ik = 0; i
pinMode (pinINarray [i], INPUT_PULLUP);
}
Initialiseren van de Arduino gegevens pennen voor laatste status van de knop
voor (ik = 0; i
lastButtonState [i] = digitalRead(pinINarray[i]);
}
}
void loop {}
voor (ik = 0; i
Lees knoptoestand
buttonState = digitalRead(pinINarray[i]);
Als (buttonState == LOW & & buttonState! = lastButtonState[i]) {}
Toggle RELAY
digitalWrite (pinOUTarray [i],! digitalRead(pinOUTarray[i]));
}
lastButtonState [i] = buttonState; laatste status van de knop Opslaan
}
delay(30); eenvoudige ontdendering schakelaar
}