int state = 0; // pour commencer avec tout éteind
int start = 49; //bouton pour allumer leds
int progr = 50; //Allumage progressif de toutes les leds
int clign = 51; //clignotement de toutes leds
int rond = 52; //fait tourner les leds en rond via clignotement
int Stop = 53; //arret des leds
int sta, pro, cli, ron, sto = 0;
int leds[] = {2,3,4,5,6,7,8,9,10,11}; //Sur des broches PWM
int brightness = 0;
void setup() {
for(int i=0; i<10; i++) {
pinMode(leds[i], OUTPUT);
}
pinMode(start,INPUT); //start
pinMode(progr,INPUT); //progressif
pinMode(clign,INPUT); //clignotement
pinMode(rond,INPUT); //clignoter
pinMode(Stop,INPUT); //stop
}
void loop() {
state = state;
sta = digitalRead(start);
pro = digitalRead(progr);
cli = digitalRead(clign);
ron = digitalRead(rond);
sto = digitalRead(Stop);
if(sta==HIGH){
state = 1;
}
else if(pro==HIGH){
state = 2;
}
else if(cli==HIGH){
state = 3;
}
else if(ron==HIGH){
state = 4;
}
else if(sto==HIGH){
state = 0;
}
switch(state){
case 0: //tout éteind
for(int i=0; i<10; i++) {
digitalWrite(leds[i], LOW);
}
break;
case 1: //tout allumé
for(int i=0; i<10; i++) {
digitalWrite(leds[i], HIGH);
}
break;
case 2: //allumage progressif de toutes les leds
brightness = 0;
while (brightness <= 255){
for(int i=0; i<10; i++) {
analogWrite(leds[i], brightness);
delay(50);
brightness = brightness +5;
if (state==1 || state ==2 || state==3 || state==0){
break;
}
}
}
while (brightness >= 0){
for(int i=0; i<10; i++) {
analogWrite(leds[i], brightness);
delay(50);
brightness = brightness -5;
if (state==1 || state ==2 || state==3 || state==0)break;
}
}
break;
case 3: //clignotement de toutes les leds
for(int i=0; i<10; i++) {
digitalWrite(leds[i], HIGH);
}
delay(60);
for(int i=0; i<10; i++) {
digitalWrite(leds[i], LOW);
}
delay(60);
break;
case 4: //allumage des leds en tournant
if (digitalRead(leds[2]) || digitalRead(leds[4]) || digitalRead(leds[6]) || digitalRead(leds[8]) || digitalRead(leds[0]) == HIGH){
for(int i=0; i<10; i++) {
digitalWrite(leds[i], LOW);
}
}
for(int i=0; i<10; i++) {
digitalWrite(leds[i], HIGH);
delay(30);
digitalWrite(leds[i], LOW);
if (state==1 || state ==2 || state==3 || state==0)break;
}
break;
}// fin Switch
} //fin void loop