//DECLARATION
int ledDigiRed = 8;
int buttonPin = 12;
int leda = 2;
int ledb = 3;
int ledc = 4;
int ledd = 5;
int lede = 6;
int buttonState = 0;
int lastButtonState = LOW;
int ledState = LOW;
int p = 0;
void setup() {
// pin all components at once
pinMode(ledDigiRed, OUTPUT);
pinMode(leda, OUTPUT);
pinMode(ledb, OUTPUT);
pinMode(ledc, OUTPUT);
pinMode(ledd, OUTPUT);
pinMode(lede, OUTPUT);
pinMode(buttonPin, INPUT);
}
void loop() {
//get the button curretn state
buttonState = digitalRead(buttonPin);
//Exercice 2
// a et b
// Read the button state (HIGH or LOW)
if (buttonState == 1) {
digitalWrite(ledDigiRed, HIGH);
delay(500);
} else {
digitalWrite(ledDigiRed, LOW);
}
// c
if (buttonState != lastButtonState) {
lastButtonState = buttonState;
if (buttonState == LOW) {
ledState = (ledState == HIGH) ? LOW: HIGH;
digitalWrite(ledDigiRed, ledState);
}
}
delay(100);
// d
if (buttonState == HIGH) {
// increment the P value
p++;
delay(500);
}
//check for p value.. not sure if i can use switch to reduce the code,
//but its work for if, anywhere !
if(p==1){
digitalWrite(leda, HIGH);
digitalWrite(ledb, LOW);
digitalWrite(ledc, LOW);
digitalWrite(ledd, LOW);
digitalWrite(lede, LOW);
p=1;
delay(50);
}
if(p==2){
digitalWrite(leda, HIGH);
digitalWrite(ledb, HIGH);
digitalWrite(ledc, LOW);
digitalWrite(ledd, LOW);
digitalWrite(lede, LOW);
delay(50);
}
if(p==3){
digitalWrite(leda, HIGH);
digitalWrite(ledb, HIGH);
digitalWrite(ledc, HIGH);
digitalWrite(ledd, LOW);
digitalWrite(lede, LOW);
delay(50);
}
if(p==4){
digitalWrite(leda, HIGH);
digitalWrite(ledb, HIGH);
digitalWrite(ledc, HIGH);
digitalWrite(ledd, HIGH);
digitalWrite(lede, LOW);
delay(50);
}
if(p==5){
digitalWrite(leda, HIGH);
digitalWrite(ledb, HIGH);
digitalWrite(ledc, HIGH);
digitalWrite(ledd, HIGH);
digitalWrite(lede, HIGH);
delay(50);
}
if(p==6){
digitalWrite(leda, LOW);
digitalWrite(ledb, LOW);
digitalWrite(ledc, LOW);
digitalWrite(ledd, LOW);
digitalWrite(lede, LOW);
delay(50);
p=0;
}
}