Skip to main content

Travail Arduino Erwan Courel et Yassine Squalli Houssaini

Voici un rapport d'ensemble du travail réalisé en duo ( Yassine et Erwan ) sur Arduino.

1- LED qui clignote

Dans ce premier travail, il fallait avec Arduino faire clignoter une LED. Cela était utile pour comprendre le fonctionnement de ce système.

Voici le code utilisé pour que la LED clignote:

void setup() {
    pinMode(2,OUTPUT); //Pin 2 en mode sortie
}

void loop() {
  
digitalWrite(2,HIGH); //On allume la LED
delay(1000); //Délais de 1sec
digitalWrite(2,LOW); // On éteint la LED
delay(1000); //délai de 1sec

}

Dans setup(), on indique que la broche 2 est une sortie (OUTPUT) : Arduino pourra y envoyer du courant pour allumer la led.

La fonction loop() permet une boucle infinie

delay(1000) permet d'attendre 1 seconde - 1 click correspond à 1 milliseconde

La LED va s'allumer pendant une seconde et s'éteindre une seconde.

Voici le montage associé:

WhatsApp Image 2026-01-16 at 17.46.05.jpeg

Vidéo présentant le résultat:

2- Trois LED qui clignotent à des fréquences différentes

Après avoir compris le principe de programmation du système Arduino, il fallait maintenant faire clignoter trois LED à des fréquences différentes.

Voici le programme utilisé:

//Définition des pins des LEDS
int led_bleu = 2;
int led_jaune = 4;
int led_verte = 7;

//Définition des variables de temps précendents pour chaque LED
unsigned long preced_bleu = 0;
unsigned long preced_jaune = 0;
unsigned long preced_verte = 0;

// Intervalles en millisecondes
const long dureeAllumage = 1000; // Les led restent allumées 1s

const long periode_bleu = 3000; // S'allume toutes les 3s
const long periode_jaune = 5000; // S'allume toutes les 5s
const long periode_verte = 7000; // S'allume toutes les 7s

//Variable pour le temps actuelle
unsigned long actu;

void setup() {
    pinMode(2,OUTPUT);
    pinMode(4,OUTPUT);
    pinMode(7,OUTPUT);

}

void loop() {
  actu = millis();

//Gestion LED bleu 
if (actu - preced_bleu >= periode_bleu) {
    preced_bleu = actu;
  }
  if (actu - preced_bleu < dureeAllumage) {
    digitalWrite(led_bleu, HIGH);
  } else {
    digitalWrite(led_bleu, LOW);
  }

//Gestion LED jaune
if (actu - preced_jaune >= periode_jaune) {
    preced_jaune = actu;
  }
  if (actu - preced_jaune < dureeAllumage) {
    digitalWrite(led_jaune, HIGH);
  } else {
    digitalWrite(led_jaune, LOW);
  }


//Gestion LED verte
if (actu - preced_verte >= periode_verte) {
    preced_verte = actu;
  }
  if (actu - preced_verte < dureeAllumage) {
    digitalWrite(led_verte, HIGH);
  } else {
    digitalWrite(led_verte, LOW);
  }

}

Avec ce programme on peut faire clignoter les LED de façon indépendante.

Les LED (bleue, jaune, verte) sont branchées sur des broches différentes. Chaque LED s'allume 1 sec à des fréquences différentes

Bleue : toutes les 3 secondes

Jaune : toutes les 5 secondes

Verte : toutes les 7 secondes

millis() donne le temps écoulé depuis le démarrage de l’Arduino en millisecondes.

Les trois LED peuvent clignoter de manière indépendante.

Voici le montage associé:

WhatsApp Image 2026-01-30 at 16.31.10.jpeg

Voici une vidéo présentant le travail:

3- LED avec capteur

L'objectif était à partir d'un capteur de distance infrarouge d'éteindre une LED lorsque le capteur détecte un obstacle, le reste du temps la LED est allumée.

Voici le programme utilisé:

void setup()  {
  Serial.begin(9600); //Inialisaiton de la console pour lire
  pinMode(12,INPUT); //Entrée du capteur
  pinMode(13,OUTPUT); //Sortie qui allumera la LED
}

void loop()  {
    delay(1000); //Pause chaque seconde pour la détection
    if(digitalRead(12)==LOW)  { //Quand c'est 0 c'est qu'on détecte
      Serial.println("Objet in range");
      digitalWrite(13,LOW); // On allume la LED

    }
    else  {
      Serial.println("Objet out of range"); //Détection d'un objet sinon
      digitalWrite(13,HIGH); //On allume
    }

}

Dans setup(), on initialise Serial.begin(9600) car c'est ce qui permet d'afficher des messages sur le logiciel d'Arduino, on définit la broche 12 en entrée (donnés du capteur) et la broche 13 en sortie (LED).

Dans loop(), le programme attend 1 seconde (delay(1000)), puis lit l’état du capteur avec digitalRead(12).

Si la valeur est LOW, cela signifie qu’un objet est détecté : le message "Objet in range" est affiché et la LED s’allume.

Sinon, aucun objet n’est détecté : le message "Objet out of range" s’affiche et la LED s’éteint.

Voici une photo du montage:

WhatsApp Image 2026-01-30 at 16.31.02.jpeg

Voici une vidéo du résultat: