const int numLeds = 4;
const int ledPins[numLeds] = {5,4,3,2,};
void allLedsOn()
{
for (int i = 0; i < numLeds; i++)
{
digitalWrite(ledPins[i], LOW);
}
}
void allLedsOff()
{
for (int i = 0; i < numLeds; i++)
{
digitalWrite(ledPins[i], HIGH);
}
}
void updateLeds(int value)
{
for (int i = 0; i < numLeds; i++) {
digitalWrite(ledPins[i], (value >> i) & 1);
}
}
void setup()
{
for (int i = 0; i < numLeds; i++) {
pinMode(ledPins[i], OUTPUT);
}
allLedsOn();
Serial.begin(9600);
}
void loop()
{
static int counter = 0;
updateLeds(counter);
counter++;
if (counter >= (1 << numLeds)) {
counter = 0;
}
delay(500);
}