Introduction
Bienvenue dans le projet Contrôle de LED par liaison série ! Dans ce tutoriel, vous apprendrez à contrôler une LED connectée à un Arduino Uno en envoyant des commandes simples via le moniteur série. C’est un projet classique pour débutants qui combine deux concepts fondamentaux : la communication USART (Universal Synchronous/Asynchronous Receiver-Transmitter) et la sortie GPIO (General Purpose Input/Output). À la fin, vous serez capable d’allumer et d’éteindre une LED en tapant « 1 » ou « 0 » dans le moniteur série, et même d’interroger l’état de la LED avec « ? ».
Nous utiliserons Velxio, un simulateur de circuits et de microcontrôleurs en ligne avec un support analogique précis au niveau SPICE. Aucun matériel nécessaire — juste votre navigateur ! C’est parti.
Présentation du circuit

Le circuit est incroyablement simple. Vous n’avez besoin que de deux composants :
- Arduino Uno (le cerveau)
- LED verte (le dispositif de sortie)
Détails du câblage
- L’anode de la LED (broche longue, patte A) se connecte à la broche 13 de l’Arduino via un fil vert (
#00cc00). - La cathode de la LED (broche courte, patte C) se connecte à la masse (GND) de l’Arduino via un fil noir (
#000000).
C’est tout ! Aucune résistance n’est nécessaire car la broche 13 de l’Arduino Uno possède déjà une résistance de limitation de courant intégrée sur la carte. Dans un circuit réel, vous ajouteriez une résistance de 220Ω en série avec la LED, mais pour la simulation, cela fonctionne parfaitement.
Comment construire dans Velxio
- Ouvrez l’exemple de contrôle de LED par liaison série dans Velxio.
- Vous verrez l’Arduino Uno et la LED déjà placés sur le canevas. Si vous voulez construire à partir de zéro, utilisez le sélecteur de composants (illustré ci-dessous) pour ajouter un Arduino Uno et une LED.

- Cliquez sur l’Arduino Uno pour le sélectionner, puis cliquez sur la broche 13. Faites glisser un fil vers l’anode de la LED (patte A).
- De même, connectez la cathode de la LED (patte C) à n’importe quelle broche GND de l’Arduino.
- Utilisez la barre d’outils du canevas pour zoomer et vous déplacer afin d’obtenir une meilleure vue.

Explication du code

Examinons maintenant le code qui fait fonctionner tout cela. Ouvrez l’éditeur de code dans Velxio (vous verrez l’éditeur Monaco avec la coloration syntaxique).
// Serial LED Control
// Send "1" to turn LED ON, "0" to turn LED OFF.
// Demonstrates Serial input controlling hardware.
const int LED_PIN = 13;
void setup() {
Serial.begin(9600);
pinMode(LED_PIN, OUTPUT);
digitalWrite(LED_PIN, LOW);
Serial.println("=========================");
Serial.println(" Serial LED Controller");
Serial.println("=========================");
Serial.println("Send '1' = LED ON");
Serial.println("Send '0' = LED OFF");
Serial.println("Send '?' = Status");
Serial.println();
}
bool ledState = false;
void loop() {
if (Serial.available() > 0) {
char cmd = Serial.read();
switch (cmd) {
case '1':
digitalWrite(LED_PIN, HIGH);
ledState = true;
Serial.println("[OK] LED is ON");
break;
case '0':
digitalWrite(LED_PIN, LOW);
ledState = false;
Serial.println("[OK] LED is OFF");
break;
case '?':
Serial.print("[STATUS] LED is ");
Serial.println(ledState ? "ON" : "OFF");
Serial.print("[STATUS] Uptime: ");
Serial.print(millis() / 1000);
Serial.println("s");
break;
default:
if (cmd >= 32) { // ignore control chars
Serial.print("[ERR] Unknown command: '");
Serial.print(cmd);
Serial.println("' (use 1, 0, or ?)");
}
break;
}
}
}
Comment ça fonctionne
const int LED_PIN = 13;– Nous définissons la broche de la LED sur 13 (la broche de LED intégrée sur l’Arduino Uno).setup()– Initialise la communication série à 9600 bauds, définit la broche de la LED comme une sortie et affiche un message de bienvenue.loop()– Vérifie si des données sont disponibles sur le port série. Si oui, il lit un caractère et le traite avec une instructionswitch.'1': Allume la LED (digitalWrite(LED_PIN, HIGH)) et met à jourledState.'0': Éteint la LED (digitalWrite(LED_PIN, LOW)).'?': Affiche l’état actuel de la LED et la durée de fonctionnement du système en secondes.- Tout autre caractère imprimable affiche un message d’erreur.
Exécution de la simulation
- Cliquez sur le bouton Exécuter dans la barre d’outils de l’éditeur.

- Ouvrez le moniteur série (généralement un bouton dans la barre d’outils ou un panneau séparé).
- Tapez
1et appuyez sur Entrée – la LED verte devrait s’allumer. - Tapez
0– la LED s’éteint. - Tapez
?– vous verrez l’état et la durée de fonctionnement.
Concepts clés pour les étudiants
Ce projet enseigne plusieurs concepts importants :
- Communication série : L’Arduino communique avec votre ordinateur via USART.
Serial.begin(9600)définit le débit en bauds (bits par seconde). - Sortie GPIO :
pinMode()etdigitalWrite()contrôlent les broches numériques. - Variables d’état :
ledStategarde une trace de l’état actuel de la LED, permettant à la commande d’état de fonctionner. - Analyse d’entrée : Lecture des caractères depuis le port série et utilisation de
switchpour gérer les commandes. - Gestion des erreurs : Le cas
defaultcapture les entrées invalides et fournit un retour d’information.
Pièges courants et conseils de débogage
- Le moniteur série n’affiche rien ? Assurez-vous que le débit en bauds correspond (9600). Assurez-vous également d’avoir cliqué sur le bouton de connexion du moniteur série.
- La LED ne répond pas ? Vérifiez que la LED est correctement câblée : anode sur la broche 13, cathode sur GND. Dans Velxio, les fils sont codés par couleur ; vérifiez les connexions.
- Les commandes ne fonctionnent pas ? Le code ignore les caractères non imprimables (ASCII < 32). Si vous envoyez des sauts de ligne, ils sont ignorés. Utilisez l’option « Pas de fin de ligne » du moniteur série ou envoyez uniquement le caractère.
- Plusieurs caractères ? Le code lit un caractère à la fois. Si vous envoyez « 10 », il traitera « 1 » puis « 0 » dans des itérations séparées de la boucle.
Extensions suggérées
Une fois que vous maîtrisez ce projet, essayez ces améliorations :
- Ajoutez une deuxième LED sur la broche 12 et contrôlez-la avec des commandes comme « 2 » et « 3 ».
- Utilisez la PWM pour contrôler la luminosité : envoyez un nombre de 0 à 255 pour régler la luminosité de la LED via
analogWrite(). - Ajoutez un bouton comme entrée : lisez une broche numérique et basculez l’état de la LED lorsqu’il est enfoncé.
- Implémentez un analyseur de commandes qui accepte des chaînes comme « ON » ou « OFF » au lieu de caractères uniques.
- Enregistrez des données sur le moniteur série : affichez des relevés de capteurs ou des horodatages.
Conclusion
Vous venez de construire un contrôleur de LED par liaison série simple mais puissant ! Ce projet est la base d’innombrables projets IoT et d’automatisation où vous contrôlez du matériel via des commandes textuelles. Velxio permet d’expérimenter facilement sans aucun composant physique.
Prêt à essayer par vous-même ? Ouvrez l’exemple de contrôle de LED par liaison série dans Velxio, lancez la simulation et commencez à envoyer des commandes. Bon bricolage !