SÉQUENCE 01 / Première · Sortie numérique
Commander une LED.
Une sortie, un courant, un chronogramme.
Le défi
Faire clignoter une LED externe sans immobiliser la boucle. Avant d’exécuter le code, dessiner l’état de D8 en fonction du temps.
Matériel : UNO R4, LED rouge, résistance 1 kΩ, fils et plaque d’essai. Pour un test sans câblage, on peut utiliser la LED intégrée avec LED_BUILTIN, puis passer à la LED externe de ce TP.

Relier puis vérifier
| Depuis | Vers |
|---|---|
| D8 | Résistance 1 kΩ puis anode de la LED |
| Cathode de la LED | GND |
La résistance est en série. Son côté n’a pas d’importance ; la LED a une polarité. Pour une LED rouge dont on suppose la chute égale à 2 V, le courant estimé est (5 − 2) / 1000 = 0,003 A, soit 3 mA. C’est une estimation à confronter à la fiche de la LED et à la mesure.
Le programme complet
01_led.ino
Projet complet ↓// UNO R4 Minima ou WiFi. LED externe : D8 -> 1 kohm -> anode ; cathode -> GND.
constexpr uint8_t LED = 8;
constexpr unsigned long PERIODE_MS = 500;
unsigned long dernierChangement = 0;
bool allumee = false;
void setup() {
pinMode(LED, OUTPUT);
digitalWrite(LED, LOW);
}
void loop() {
const unsigned long maintenant = millis();
// La soustraction non signee fonctionne aussi au debordement de millis().
if (maintenant - dernierChangement >= PERIODE_MS) {
dernierChangement = maintenant;
allumee = !allumee;
digitalWrite(LED, allumee ? HIGH : LOW);
}
}
Comprendre les instructions
| Instruction | Explication |
|---|---|
pinMode(LED, OUTPUT) | Configure D8 en sortie. |
maintenant - dernierChangement | Durée écoulée ; la soustraction non signée gère le débordement du compteur. |
allumee = !allumee | Inverse un état logique. |
digitalWrite(...) | Commande HIGH ou LOW ; la résistance limite le courant. |
Un changement toutes les 500 ms produit un cycle allumé + éteint de 1 s, soit une fréquence de 1 Hz. L’absence de delay() laisse la boucle disponible.
À VOUS DE JOUER / PREMIÈRE
Modifier la période pour obtenir un cycle de 2 s. Que devient la fréquence ?
PLUS LOIN / TERMINALE
Proposer un cycle avec 100 ms allumé et 900 ms éteint. Comment mémoriser l’état et sa durée ?
Pistes de correction
Pour 2 s de cycle symétrique : 1000 ms entre changements, soit 0,5 Hz. Pour 10 % de rapport cyclique, choisir la durée selon l’état courant ; une durée fixe entre bascules ne suffit plus.
Valider et dépanner
- Observer dix cycles et comparer leur durée à la prévision.
- LED éteinte : vérifier le sens, GND et D8.
- LED toujours allumée : vérifier montage et programme téléversé.
- Ne jamais retirer la résistance pour « tester ».
Étape suivante : Acquérir un état logique →
SOURCES ET PROLONGEMENTS
Vérifier dans la documentation.
- Arduino UNO R4 Minima · UNO R4 WiFi
- Arduino : résolution du convertisseur analogique
- Arduino : exemples WiFiS3
- Analog Devices : DS18B20
- OneWire · DallasTemperature
- Éduscol : programmes et ressources STI2D
Contenus originaux Quiet Bee. Progression proposée pour travailler la chaîne d’information, le prototypage et la validation ; elle ne remplace pas le programme ni les consignes de votre professeur.