#define Slider A0
#define nofLEDs 4
byte LEDs[nofLEDs] = {11, 10, 9, 8};
bool states[nofLEDs];
void setIO() {
pinMode(Slider, INPUT);
for (int i = 0; i < nofLEDs; i++) {
pinMode(LEDs[i], OUTPUT);
}
}
void clearStates() {
for (int i = 0; i < nofLEDs; i++) {
states[i] = LOW;
}
}
void applySlider() {
int val = analogRead(Slider);
for (int i = 0; i < nofLEDs; i++) {
if (val > (1024 / nofLEDs)*i) {
states[i] = HIGH;
}
}
}
void setLEDs() {
for (int i = 0; i < nofLEDs; i++) {
digitalWrite(LEDs[i], states[i]);
}
}
void setup() {
setIO(); // assigning pinModes
}
void loop() {
clearStates(); // start with cleared states
applySlider(); // Apply position of slider to states
setLEDs(); // write states to pins
}