// Fontana Led Luminosi

// Definisci Pin Led e Interruttore
#define Leds1 13 // Pin Prima Striscia di Led
#define Leds2 12 // Pin per Seconda Striscia di Led
#define Leds3 11 // Pin per Terza Striscia di Led
#define Leds4 10 // Pin per Quarta Striscia di Led
const int In = 2; // Pin Ingresso ON/OFF Fontana
int val = 0; // Variabile per In

void setup() {
  // Definisci In e Out
  pinMode(In, INPUT); // Interruttore come Ingresso
  pinMode(Leds1, OUTPUT); // Prima Striscia Led come uscita
  pinMode(Leds2, OUTPUT); // Seconda Striscia Led come uscita
  pinMode(Leds3, OUTPUT); // Terza Striscia Led come uscita
  pinMode(Leds4, OUTPUT); // Quarta Striscia Led come uscita
}

void loop() {
  // Associa val a stato Interruttore
  val = digitalRead(In);

  // Se Interruttore (val) è On ...
  if ((val == HIGH)) {
    fontana(); // Avvia Ciclo Fontana
  } else { // Se è Off ...
    digitalWrite(Leds1, LOW); // Spegni Prima Striscia Led
    digitalWrite(Leds2, LOW); // Spegni Seconda Striscia Led
    digitalWrite(Leds3, LOW); // Spegni Terza Striscia Led
    digitalWrite(Leds4, LOW); // Spegni Quarta Striscia Led
  }
}

// Ciclo Fontana
void fontana() {
  digitalWrite(Leds1, HIGH); // Accendi Prima Striscia Led
  delay(250);
  digitalWrite(Leds2, HIGH); // Accendi Seconda Striscia Led
  delay(250);
  digitalWrite(Leds3, HIGH); // Accendi Terza Striscia Led
  delay(250);
  digitalWrite(Leds4, HIGH); // Accendi Quarta Striscia Led
  delay(500);
  digitalWrite(Leds4, LOW); // Spegni Quarta Striscia Led
  delay(250);
  digitalWrite(Leds3, LOW); // Spegni Terza Striscia Led
  delay(250);
  digitalWrite(Leds2, LOW); // Spegni Seconda Striscia Led
  delay(250);
  digitalWrite(Leds1, LOW); // Spegni Prima Striscia Led
  delay(500);
}