Étape 3: codage
Contrôleur de feux de fantaisie / /Par AP / /
int switchPin = 2 ; commutateur de mode est connecté à la broche 2
int led1Pin = 12 ;
int led2Pin = 11 ;
int led3Pin = 10 ;
int led4Pin = 9 ;
int val ; variable pour la lecture de l’état de la broche
val2 int ; variable pour la lecture de l’État différé
buttonState int ; variable qui contient l’état de commutation de mode
lightMode int = 0 ;
void setup() {}
pinMode (switchPin, entrée) ; La valeur de la broche de commutateur de mode comme entrée
pinMode (led1Pin, sortie) ;
pinMode (led2Pin, sortie) ;
pinMode (led3Pin, sortie) ;
pinMode (led4Pin, sortie) ;
Serial.Begin(9600) ; Établir une communication série à 9600bps
buttonState = digitalRead(switchPin) ; lire l’état initial
}
void loop() {}
Val = digitalRead(switchPin) ; lire la valeur d’entrée et stockez-la dans le val
Delay(10) ;
val2 = digitalRead(switchPin) ; Prévention de multiple
Si (val == val2) {}
Si (val! = buttonState) {}
Si (val == HIGH) {/ / vérifier si la touche est enfoncée
Si (lightMode == 0) {}
lightMode = 1 ; allumer la LED
}
else {}
Si (lightMode == 1) {/ / si del sur
lightMode = 2 ; faire clignoter
}
else {}
Si (lightMode == 2) {/ / si LEDs + clignotants
lightMode = 3 ; rendre vague
}
else {}
Si (lightMode == 3) {/ / si LEDs onduler,
lightMode = 0 ; désactiver les LEDs
}
}
}
}
}
}
buttonState = val ; enregistrer le nouvel État dans notre variable
}
Maintenant, faites tout ce qu’indique le lightMode
Si (lightMode == 0) {/ / LEDs-off
digitalWrite (led1Pin, basse) ;
digitalWrite (led2Pin, basse) ;
digitalWrite (led3Pin, basse) ;
digitalWrite (led4Pin, basse) ;
}
Si (lightMode == 1) {/ / LEDs-on
digitalWrite (led1Pin, HIGH) ;
digitalWrite (led2Pin, HIGH) ;
digitalWrite (led3Pin, HIGH) ;
digitalWrite (led4Pin, HIGH) ;
}
Si (lightMode == 2) {/ / clignotement des LED
digitalWrite (led1Pin, HIGH) ;
digitalWrite (led2Pin, HIGH) ;
digitalWrite (led3Pin, HIGH) ;
digitalWrite (led4Pin, HIGH) ;
Delay(100) ;
digitalWrite (led1Pin, basse) ;
digitalWrite (led2Pin, basse) ;
digitalWrite (led3Pin, basse) ;
digitalWrite (led4Pin, basse) ;
Delay(100) ;
}
Si (lightMode == 3) {/ / LEDs-ondulation
digitalWrite (led4Pin, basse) ;
digitalWrite (led1Pin, HIGH) ;
Delay(100) ;
digitalWrite (led1Pin, basse) ;
digitalWrite (led2Pin, HIGH) ;
Delay(100) ;
digitalWrite (led2Pin, basse) ;
digitalWrite (led3Pin, HIGH) ;
Delay(100) ;
digitalWrite (led3Pin, basse) ;
digitalWrite (led4Pin, HIGH) ;
Delay(100) ;
digitalWrite (led4Pin, basse) ;
}
}