ARDUINO - VARGAS Lilian, SANTI Alicia, JAFARI MOOSAVI Bahar
Activité 4. Clignotement de deux LEDs à fréquences différentes avec ARDUINO
Contexte
Cette activité avait pour objectif d’introduire la programmation Arduino appliquée à un montage électronique simple. Dans le cadre de ma formation en électronique (Lilian), j’applique systématiquement une phase de simulation préalable à l’aide de TinkerCAD, avant toute manipulation physique. Cette pratique permet :
-
de valider le fonctionnement logique du circuit
-
d’éviter les erreurs de câblage
-
de prévenir la détérioration des composants électroniques qui sont souvent partagés entre plusieurs étudiants.
Objectifs
- Réaliser un montage Arduino permettant de faire clignoter deux LEDs indépendamment.
- Implémenter deux fréquences distinctes:
- LED 1: toutes les 2 secondes
- LED 2 : toutes les 3 secondes
- Utiliser la fonction
millis()afin d’éviter l’utilisation dedelay()et permettre une exécution simultanée non bloquante. - Vérifier le comportement du circuit par simulation avant la mise en œuvre réelle.
Matériel
- Carte Arduino Uno
- 2 LEDs
- 2 résistances 220 Ω
- Breadboard
- Fils de connexion
- Logiciel Arduino IDE
- Simulateur TinkerCAD
Machines et outils utilisées
-
Arduino Uno
-
Breadboard
-
TinkerCAD (simulation)
-
Arduino IDE (programmation)
Construction
Étape 1
Description du circuit.
Le montage est composé de deux LEDs connectées chacune à une sortie numérique distincte de l’Arduino:
-
LED 1 connectée à la broche 8
-
LED 2 connectée à la broche 9
Chaque LED est associée à une résistance de 220 Ω montée en série afin de limiter le courant et protéger le composant.
Les cathodes des LEDs sont reliées à la masse (GND). Le choix des résistances est cohérent avec les caractéristiques standards des LEDs et la tension de sortie de l’Arduino (5 V).
Étape 2
Code. Le programme repose sur l’utilisation de la fonction millis(), qui retourne le nombre de millisecondes écoulées depuis le démarrage de la carte Arduino.
Deux temporisations indépendantes sont mises en place :
-
une pour la LED 1 (2000 ms),
-
une pour la LED 2 (3000 ms).
Chaque LED change d’état (ON/OFF) lorsque l’intervalle correspondant est écoulé, sans interrompre l’exécution du programme principal.
// Définition des broches utilisées pour les LEDs
const int led1 = 8; // LED 1 connectée à la broche numérique 8
const int led2 = 9; // LED 2 connectée à la broche numérique 9
// Variables pour mémoriser le dernier instant de basculement
unsigned long previousMillis1 = 0; // Temps précédent pour la LED 1
unsigned long previousMillis2 = 0; // Temps précédent pour la LED 2
// Intervalles de clignotement (en millisecondes)
const long interval1 = 2000; // 2 secondes pour la LED 1
const long interval2 = 3000; // 3 secondes pour la LED 2
// États actuels des LEDs
bool led1State = LOW; // LED 1 éteinte au démarrage
bool led2State = LOW; // LED 2 éteinte au démarrage
void setup() {
// Configuration des broches comme sorties
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
}
void loop() {
// Récupération du temps actuel depuis le démarrage du programme
unsigned long currentMillis = millis();
// Gestion de la LED 1 (clignotement toutes les 2 secondes)
if (currentMillis - previousMillis1 >= interval1) {
previousMillis1 = currentMillis; // Mise à jour du temps de référence
led1State = !led1State; // Inversion de l’état de la LED
digitalWrite(led1, led1State); // Application de l’état sur la broche
}
// Gestion de la LED 2 (clignotement toutes les 3 secondes)
if (currentMillis - previousMillis2 >= interval2) {
previousMillis2 = currentMillis; // Mise à jour du temps de référence
led2State = !led2State; // Inversion de l’état de la LED
digitalWrite(led2, led2State); // Application de l’état sur la broche
}
}
Résultat
Lien Video ici: Résultat-activité4.MP4
Journal de bord
30/01/2026
-
Simulation du circuit sur TinkerCAD afin de valider le câblage et le comportement des LEDs.
-
Implémentation du code Arduino avec temporisation non bloquante.
-
Vérification du clignotement indépendant des deux LEDs à des fréquences différentes.
03/02/2026
- Reproduction du montage sur breadboard après validation en simulation.
Activité 5. Capteur ultrasonique et signalisation par LEDs avec ARDUINO
Contexte
Cette activité avait pour objectif de mettre en œuvre un capteur afin de piloter des actionneurs (LEDs) en fonction des données mesurées. Conformément aux bonnes pratiques acquises lors de ma formation en électronique, le circuit a d’abord été simulé sur TinkerCAD avant toute réalisation physique.
Cette étape permet :
-
de valider le câblage du capteur et des LEDs
-
de tester la logique du programme
-
d’éviter tout risque de détérioration des composants, souvent partagés entre plusieurs étudiants.
Objectifs
-
Utiliser un capteur de distance ultrasonique pour mesurer la proximité d’un objet.
-
Interpréter la distance mesurée afin de déclencher différentes sorties.
-
Commander trois LEDs en fonction de seuils de distance définis.
-
Comprendre la conversion du temps de propagation de l’onde sonore en distance.
-
Mettre en œuvre une logique conditionnelle simple (if).
Matériel
- Carte Arduino Uno
- Capteur ultrasonique HC-SR04
- 3 LEDs
- 3 résistances 220 Ω
- Breadboard
- Fils de connexion
- Logiciel Arduino IDE
- Simulateur TinkerCAD
Machines et outils utilisées
-
Arduino Uno
-
Breadboard
-
TinkerCAD (simulation)
-
Arduino IDE (programmation)
Construction
Étape 1
Description du circuit. Le capteur ultrasonique HC-SR04 est connecté à l’Arduino de la manière suivante:
-
Trigger → broche analogique A0
-
Echo → broche analogique A1
-
VCC → 5 V
-
GND → masse (GND)
Trois LEDs sont connectées aux sorties numériques:
-
LED 1 → broche 11
-
LED 2 → broche 12
-
LED 3 → broche 13
Chaque LED est protégée par une résistance de 220 Ω montée en série afin de limiter le courant.
Étape 2
Principe de fonctionnement. Le capteur ultrasonique mesure la distance en envoyant une onde sonore puis en mesurant le temps nécessaire à son retour après réflexion sur un obstacle.
Le programme :
-
Génère une impulsion sur la broche trigger.
-
Mesure la durée du signal reçu sur la broche echo.
-
Convertit cette durée en distance (cm).
-
Active une LED différente selon la distance mesurée :
-
Distance > 100 cm → LED 1
-
50 cm < Distance ≤ 100 cm → LED 2
-
20 cm < Distance ≤ 50 cm → LED 3
-
// Fonction permettant de mesurer la distance à l’aide d’un capteur ultrasonique
long readUltrasonicDistance(int triggerPin, int echoPin)
{
// Configuration de la broche trigger en sortie
pinMode(triggerPin, OUTPUT);
digitalWrite(triggerPin, LOW);
delayMicroseconds(2);
// Envoi d’une impulsion de 10 microsecondes pour déclencher l’émission ultrasonique
digitalWrite(triggerPin, HIGH);
delayMicroseconds(10);
digitalWrite(triggerPin, LOW);
// Configuration de la broche echo en entrée
pinMode(echoPin, INPUT);
// Mesure du temps de retour de l’onde sonore (en microsecondes)
return pulseIn(echoPin, HIGH);
}
void setup()
{
// Configuration des broches des LEDs en sortie
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
}
void loop()
{
// Calcul de la distance en centimètres
// 0.01723 correspond à la conversion du temps (µs) en distance (cm)
float distance = 0.01723 * readUltrasonicDistance(A0, A1);
// Cas 1 : objet éloigné
if (distance > 100) {
digitalWrite(11, HIGH); // LED 1 allumée
digitalWrite(12, LOW);
digitalWrite(13, LOW);
}
// Cas 2 : distance intermédiaire
if (distance > 50 && distance <= 100) {
digitalWrite(12, HIGH); // LED 2 allumée
digitalWrite(11, LOW);
digitalWrite(13, LOW);
}
// Cas 3 : objet proche
if (distance > 20 && distance <= 50) {
digitalWrite(13, HIGH); // LED 3 allumée
digitalWrite(11, LOW);
digitalWrite(12, LOW);
}
// Petite pause pour améliorer la stabilité de la simulation
delay(10);
}
Résultat
Lien Vidéo ici: Résultat activité5.mp4
Journal de bord
02/02/2026
-
Simulation du circuit sur TinkerCAD afin de valider le câblage et le comportement des LEDs.
-
Implémentation du code Arduino
- Programmation des seuils de distance.
03/02/2026
-
Vérification du fonctionnement du capteur ultrasonique.
- Validation de l’allumage correct des LEDs selon la proximité de l’objet.
- Ajustement des conditions logiques pour éviter l’allumage simultané de plusieurs LEDs.
04/02/2026
- Reproduction du montage sur breadboard après validation en simulation.


. 

No Comments