const int dimPuls = 4;
const int dimLed = 4;
int pinPulsanti[dimPuls] = {2,3,4,5}; // crea un array di pin per gli input // costituiti dai pulsanti
int pinLed[dimLed] = {10,11,12,13}; // crea un array di pin di output per il LED
void setup()
{
for(int i = 0; i < dimPuls; i++)
{
pinMode(pinLed[i], OUTPUT); // dichiara il LED come output
pinMode(pinPulsanti[i], INPUT); // dichiara il pulsante come input
digitalWrite(pinPulsanti[i],LOW); // abilita la resistenza di pull-up
// l'abilitazione della resistenza di pull-up mi permette di non utilizzare
// una resistenza esterna in serie al pulsante
}
}
void loop(){
for(int i = 0; i < dimPuls; i++){
int stato = digitalRead(pinPulsanti[i]); // legge il valore di input
if (stato == HIGH){ // controlla se il pulsante è premuto
switch(i){
case 0:
blink1(pinLed[i]);
break;
case 1:
blink2(pinLed[i]);
break;
case 2:
blink3(pinLed[i]);
break;
case 3:
blink4(pinLed[i]);
break;
//default:
//break;
}
}
else
{
digitalWrite(pinLed[i], LOW); // spegne il LED
}
}
}
void blink1 (int led){
digitalWrite(led,HIGH);
delay(50);
digitalWrite(led,LOW);
delay(50);
}
void blink2 (int led){
digitalWrite(led,HIGH);
delay(100);
digitalWrite(led,LOW);
delay(100);
}
void blink3 (int led){
digitalWrite(led,HIGH);
delay(150);
digitalWrite(led,LOW);
delay(150);
}
void blink4 (int led){
digitalWrite(led,HIGH);
delay(200);
digitalWrite(led,LOW);
delay(200);
}