int arr[] = {0,3,7,11};
void setup(){
for (int i =0; i<4; ++i){
pinMode(arr[i], OUTPUT);
}
}
void bin(int i){
for (int j = 0; j < sizeof(i) * 8; j++, i /= 2) {
if (i % 2 == 1) {
digitalWrite(arr[j], HIGH);
}
}
}
void inv(int pin) {
int currentState = digitalRead(pin);
digitalWrite(pin, !currentState);
}
void loop(){
for (int k = 0; k < 16; k++){
bin(k);
delay(1000);
for (int i = 0 ; i<4; i++){
inv(arr[i]);
}
delay(2000);
for (int i = 0 ; i<4; i++){
digitalWrite(arr[i], LOW);
}
delay(1000);
}
}