int ledPin[10] = {11, 10, 9, 8, 7, 6, 5, 4, 3, 2}; // LED connected to digital pin 0- 9 = 10 leds
int aantalLed = 9;
int brightness[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; // begin met LED uit
int increment = 25; // hoeveelheid waarmee de LED feller of dimmer wordt
int decrement = 25; // hoeveelheid waarmee de LED feller of dimmer wordt
int fadingInc[10] = {increment, increment, increment, increment, increment, increment, increment, increment, increment, increment}; // begin met geen fading
int huidigeLed = 0;
int volgLed = 0;
int lower = 50;
int upper = 180;
int aanLed = 2;
int optel = 1;
// voor potmeter
int potPin = A0;
int potMeter = 0;
int potDelay = 0;
void setup() {
Serial.begin(9600);
for (int idx = 0; idx <= aantalLed; idx++)
{
pinMode(ledPin[idx], OUTPUT); // zet de ledPin als een uitgang
}
}
void loop() {
constrain (huidigeLed, 0, aantalLed);
constrain(volgLed, 0,aantalLed);
// Ramp up naar alle led aan.
for (int idx = 0; idx <= aantalLed; idx++) {
huidigeLed = idx;
volgLed = idx - aanLed;
if (huidigeLed>= aanLed) {
fadingInc[volgLed] = decrement * -1;
Serial.println(fadingInc[volgLed]);
brightness[volgLed] = brightness[volgLed] + fadingInc[volgLed]; // verander de helderheid voor de volgende keer door de huidige helderheid met de fadeAmount te verhogen
}
else {
}
brightness[huidigeLed] = brightness[huidigeLed] + fadingInc[huidigeLed]; // verander de helderheid voor de volgende keer door de huidige helderheid met de fadeAmount te verhogen
analogWrite(ledPin[huidigeLed], brightness[huidigeLed]); // stel de helderheid van de LED in
analogWrite(ledPin[volgLed], brightness[volgLed]); // stel de helderheid van de LED in
// if (brightness[idx] <= lower || brightness[idx] >= upper) { // keer de richting om als de helderheid maximaal of minimaal is
// fadeAmount = -fadeAmount;
// }
delay(60); // wacht even voor de volgende verandering
}
delay(20); // wacht even voor de volgende verandering hoelang blijven de lampen aan.
for (int idx = 0; idx <= aantalLed; idx++)
{
brightness[idx] = 0;
fadingInc[idx] = increment;
analogWrite(ledPin[idx], brightness[idx]); // stel de helderheid van de LED in
}
for (int idx = aantalLed; idx > 0; idx--) {
huidigeLed = idx;
volgLed = idx + aanLed;
if (huidigeLed <= aantalLed - aanLed) {
fadingInc[volgLed] = decrement * -1;
Serial.println(fadingInc[volgLed]);
brightness[volgLed] = brightness[volgLed] + fadingInc[volgLed]; // verander de helderheid voor de volgende keer door de huidige helderheid met de fadeAmount te verhogen
}
else {
}
//brightness[volgLed] = brightness[volgLed] + fadingInc[volgLed]; // verander de helderheid voor de volgende keer door de huidige helderheid met de fadeAmount te verhogen
brightness[huidigeLed] = brightness[huidigeLed] + fadingInc[huidigeLed]; // verander de helderheid voor de volgende keer door de huidige helderheid met de fadeAmount te verhogen
analogWrite(ledPin[huidigeLed], brightness[huidigeLed]); // stel de helderheid van de LED in
analogWrite(ledPin[volgLed], brightness[volgLed]); // stel de helderheid van de LED in
delay(60); // wacht even voor de volgende verandering
}
delay(20); // wacht even voor de volgende verandering hoelang blijven de lampen aan.
for (int idx = 0; idx <= aantalLed; idx++)
{
brightness[idx] = 0;
fadingInc[idx] = increment;
analogWrite(ledPin[idx], brightness[idx]); // stel de helderheid van de LED in
}
}