Tout est ds le titre
En tant que novice de 2 semaine,
j'ai compris les base et presque réussi a finir mon premier projet
Mais je n'arrive pas à insérer le bouton poussoir pour servir de marche-arrêt
Vous remercie de toute aide
Voila le code
// Déclare les broches sur lesquelles sont câblées les LEDs
const int BROCHE_LED_1 = 13;
const int BROCHE_LED_2 = 12;
const int BROCHE_LED_3 = 11;
const int BROCHE_LED_4 = 10;
const int BROCHE_LED_5 = 9;
const int BROCHE_LED_6 = 8;
const int BROCHE_LED_7 = 7;
// Nombre de millisecondes entre deux changements d'état des LED
const unsigned long BLINK_INTERVAL_1 = 1000;
const unsigned long BLINK_INTERVAL_2 = 500;
const unsigned long BLINK_INTERVAL_3 = 2000;
const unsigned long BLINK_INTERVAL_4 = 750;
const unsigned long BLINK_INTERVAL_5 = 1250;
const unsigned long BLINK_INTERVAL_6 = 2500;
const unsigned long BLINK_INTERVAL_7 = 3000;
// Fonction setup(), appelée au démarrage de la carte Arduino
void setup() {
// Configure les broches des LEDs en sortie
pinMode(BROCHE_LED_1, OUTPUT);
pinMode(BROCHE_LED_2, OUTPUT);
pinMode(BROCHE_LED_3, OUTPUT);
pinMode(BROCHE_LED_4, OUTPUT);
pinMode(BROCHE_LED_5, OUTPUT);
pinMode(BROCHE_LED_6, OUTPUT);
pinMode(BROCHE_LED_7, OUTPUT);
// Configure l'état initial des LEDs
digitalWrite(BROCHE_LED_1, LOW);
digitalWrite(BROCHE_LED_2, LOW);
digitalWrite(BROCHE_LED_3, LOW);
digitalWrite(BROCHE_LED_4, LOW);
digitalWrite(BROCHE_LED_5, LOW);
digitalWrite(BROCHE_LED_6, LOW);
digitalWrite(BROCHE_LED_7, LOW);
}
// Fonction loop(), appelée continuellement en boucle tant que la carte Arduino est alimentée
void loop() {
// Sous traite les différentes tâches
task_led1();
task_led2();
task_led3();
task_led4();
task_led5();
task_led6();
task_led7();
}
void task_led1() {
static unsigned long previousMillisLed1 = 0;
static byte etatBrocheLed1 = LOW;
unsigned long currentMillis = millis();
// Si BLINK_INTERVAL_1 ou plus millisecondes se sont écoulés
if(currentMillis - previousMillisLed1 >= BLINK_INTERVAL_1) {
// Garde en mémoire la valeur actuelle de millis()
previousMillisLed1 = currentMillis;
// Inverse l'état de la LED 1
etatBrocheLed1 = !etatBrocheLed1;
digitalWrite(BROCHE_LED_1, etatBrocheLed1);
}
}
void task_led2() {
static unsigned long previousMillisLed2 = 0;
static byte etatBrocheLed2 = LOW;
unsigned long currentMillis = millis();
// Si BLINK_INTERVAL_2 ou plus millisecondes se sont écoulés
if(currentMillis - previousMillisLed2 >= BLINK_INTERVAL_2) {
// Garde en mémoire la valeur actuelle de millis()
previousMillisLed2 = currentMillis;
// Inverse l'état de la LED 2
etatBrocheLed2 = !etatBrocheLed2;
digitalWrite(BROCHE_LED_2, etatBrocheLed2);
}
}
void task_led3() {
static unsigned long previousMillisLed3 = 0;
static byte etatBrocheLed3 = LOW;
unsigned long currentMillis = millis();
// Si BLINK_INTERVAL_3 ou plus millisecondes se sont écoulés
if(currentMillis - previousMillisLed3 >= BLINK_INTERVAL_3) {
// Garde en mémoire la valeur actuelle de millis()
previousMillisLed3 = currentMillis;
// Inverse l'état de la LED 3
etatBrocheLed3 = !etatBrocheLed3;
digitalWrite(BROCHE_LED_3, etatBrocheLed3);
}
}
void task_led4() {
static unsigned long previousMillisLed4 = 0;
static byte etatBrocheLed4 = LOW;
unsigned long currentMillis = millis();
// Si BLINK_INTERVAL_4 ou plus millisecondes se sont écoulés
if(currentMillis - previousMillisLed4 >= BLINK_INTERVAL_4) {
// Garde en mémoire la valeur actuelle de millis()
previousMillisLed4 = currentMillis;
// Inverse l'état de la LED 4
etatBrocheLed4 = !etatBrocheLed4;
digitalWrite(BROCHE_LED_4, etatBrocheLed4);
}
}
void task_led5() {
static unsigned long previousMillisLed5 = 0;
static byte etatBrocheLed5 = LOW;
unsigned long currentMillis = millis();
// Si BLINK_INTERVAL_5 ou plus millisecondes se sont écoulés
if(currentMillis - previousMillisLed5 >= BLINK_INTERVAL_5) {
// Garde en mémoire la valeur actuelle de millis()
previousMillisLed5 = currentMillis;
// Inverse l'état de la LED 5
etatBrocheLed5 = !etatBrocheLed5;
digitalWrite(BROCHE_LED_5, etatBrocheLed5);
}
}
void task_led6() {
static unsigned long previousMillisLed6 = 0;
static byte etatBrocheLed6 = LOW;
unsigned long currentMillis = millis();
// Si BLINK_INTERVAL_6 ou plus millisecondes se sont écoulés
if(currentMillis - previousMillisLed6 >= BLINK_INTERVAL_6) {
// Garde en mémoire la valeur actuelle de millis()
previousMillisLed6 = currentMillis;
// Inverse l'état de la LED 6
etatBrocheLed6 = !etatBrocheLed6;
digitalWrite(BROCHE_LED_6, etatBrocheLed6);
}
}
void task_led7() {
static unsigned long previousMillisLed7 = 0;
static byte etatBrocheLed7 = LOW;
unsigned long currentMillis = millis();
// Si BLINK_INTERVAL_7 ou plus millisecondes se sont écoulés
if(currentMillis - previousMillisLed7 >= BLINK_INTERVAL_7) {
// Garde en mémoire la valeur actuelle de millis()
previousMillisLed7 = currentMillis;
// Inverse l'état de la LED 7
etatBrocheLed7 = !etatBrocheLed7;
digitalWrite(BROCHE_LED_7, etatBrocheLed7);
}
}
