Första steget till din smarthome med Arduino (4 / 4 steg)
Steg 4: Mycket mer attraktivt kodning
Jag la 8 i och utgångar och erkände att det måste finnas ett mycket mer elegant sätt att skriva.
Svaret på frågan var: matriser
Så på det sista steget använder vi matriser på tidigare problem.
int i;
int x = 9. Antal ingångar
int y = 9. Antal utgångar
char buttonState; faktiska tillstånd av knappen
char lastButtonState [9]. senaste delstaten knappen
int pinOUTarray [] = {22, 23, 24, 25, 26, 27, 28, 29, 30}; PIN ut matris för pin 22-30
int pinINarray [] = {40, 41, 42, 43, 44, 45, 46, 47, 48, 53}; PIN i matrisen för stift 40-48 och 53
void setup()
{
Initialisera Arduino data stift för utdata
för (jag = 0; jag
pinMode (pinOUTarray [i], produktionen);
}
Initialisera Arduino data stift för indata med Pullup motstånd
för (jag = 0; jag
pinMode (pinINarray [i], INPUT_PULLUP);
}
Initialisera Arduino data stift för sista knappen stat
för (jag = 0; jag
lastButtonState [i] = digitalRead(pinINarray[i]);
}
}
void loop() {
för (jag = 0; jag
Läs knappläge
buttonState = digitalRead(pinINarray[i]);
om (buttonState == låg & & buttonState! = lastButtonState[i]) {
Toggle RELAY
digitalWrite (pinOUTarray [i],! digitalRead(pinOUTarray[i]));
}
lastButtonState [i] = buttonState; Spara sista knappläge
}
Delay(30); enkla debounce switch
}