#define LED1 1
#define LED2 5
#define LED3 9
#define LED4 13
int leds[] = {LED1, LED2, LED3, LED4};
void setup() {
for (int i = 0; i < 4; i++) {
pinMode(leds[i], OUTPUT);
}
}
void displayNumber(int num) {
for (int j = 0; j < 4; j++) {
digitalWrite(leds[j], num & (1 << j) ? HIGH : LOW);
}
}
void displayComplement(int num) {
for (int j = 0; j < 4; j++) {
digitalWrite(leds[j], (~num) & (1 << j) ? HIGH : LOW);
}
}
void loop() {
for (int i = 0; i < 16; i++) {
displayNumber(i);
delay(1000);
displayComplement(i);
delay(1000);
}
delay(2000);
}