Paso 4: Codificación mucho más atractiva
Agregué 8 en y salidas y había reconocido que debe haber una forma mucho más elegante de la escritura.
La respuesta a la pregunta fue: matrices
Así que en el paso final estamos utilizando matrices para resolver los problemas anteriores.
int i;
int x = 9; Número de entradas
int y = 9; Número de salidas
buttonState Char; estado actual del botón de
char lastButtonState [9]; último estado de botón
int pinOUTarray [] = {22, 23, 24, 25, 26, 27, 28, 29, 30}; Matriz de PIN a pin 22-30
int pinINarray [] = {40, 41, 42, 43, 44, 45, 46, 47, 48, 53}; Matriz de PIN en pin 40-48 y 53
void setup()
{
Inicializar las clavijas de datos de Arduino para la salida
para (i = 0; i
pinMode (pinOUTarray [i], salida);
}
Inicializar las clavijas de datos de Arduino para entrada con resistencia de Pullup
para (i = 0; i
pinMode (pinINarray [i], INPUT_PULLUP);
}
Inicializar las clavijas de datos de Arduino para el último estado de botón
para (i = 0; i
lastButtonState [i] = digitalRead(pinINarray[i]);
}
}
void loop() {}
para (i = 0; i
leer estado de botón
buttonState = digitalRead(pinINarray[i]);
Si (buttonState == baja & & buttonState! = {lastButtonState[i])}
cambiar relé
digitalWrite (pinOUTarray [i],! digitalRead(pinOUTarray[i]));
}
lastButtonState [i] = buttonState; guarda el último estado de botón
}
Delay(30); interruptor simple debounce
}