/* de groene en blauwe knop krijg ik niet helemaal in orde, zij zouden maar een keer moeten werken maar nu
blijven ze aan en moeten ze weer afgezet worden. Deze knoppen zorgen ervoor dat de snelheid van de het
blinken een vaste variabele is. Met de potentiometer kan de snelheid naar een losse variabele herleid worden.
Er wordt ook belet dat de snelheid onder de 0 of boven de 1000 milliseconden gaat */
int leds[] = {2, 3, 4, 5, 6, 7, 8, 9};
int knoppen[] = {10, 11, 12, 13};// rood = aan of uit, groen = snelheid 100, blauw, = snelheid 500, geel = patroon
int pot = A0;
int ledpot = 1;
int knopStatus [4] = {0};
int snelheid = 200;
int sensorWaarde = 0;
int snelheidVerandering = 0;
void setup() {
for (int i = 0; i < 4; i++) {
pinMode(knoppen[i], INPUT);
}
for (int i = 0; i < 8; i++) {
pinMode(leds[i], OUTPUT);
}
Serial.begin(9600);
}
void loop() {
for (int i = 0; i < 4; i++) {
knopStatus[i] = digitalRead(knoppen[i]);
}
while (knopStatus[0] == HIGH) {
for (int i = 0; i < 4; i++) {
knopStatus[i] = digitalRead(knoppen[i]);
}
if (knopStatus[3] == HIGH) {
for (int i = 0; i < 8; i++) {
digitalWrite(leds[i], HIGH);
delay(snelheid/6);
}
for (int i = 0; i < 8; i++) {
digitalWrite(leds[i], LOW);
delay(snelheid/6);
}
}
if (knopStatus[3] == LOW) {
for (int i = 0; i < 8; i++) {
digitalWrite(leds[i], HIGH);
}
delay(snelheid);
for (int i = 0; i < 8; i++) {
digitalWrite(leds[i], LOW);
}
delay(snelheid);
}
if (knopStatus[1] == HIGH && knopStatus[2] != HIGH) {
snelheid = 100;
}
if (knopStatus[2] == HIGH && knopStatus[1] != HIGH) {
snelheid = 500;
}
sensorWaarde = analogRead(pot);
snelheidVerandering = (sensorWaarde * 10 / (1023) - 5)*5;
snelheid += snelheidVerandering;
if (snelheid < 0 || snelheid > 1000){
snelheid += -(snelheidVerandering);
}
Serial.println(snelheidVerandering);
Serial.println(snelheid);
}
for (int i = 0; i < 8; i++) {
digitalWrite(leds[i], LOW);
}
delay(100);
}