Uncategorized

Faites clignoter une LED Arduino dans votre navigateur

Le premier projet Arduino de tout le monde, c’est le sketch blink. C’est le “Hello, World!” des microcontrôleurs, et s’il survit depuis des décennies, c’est pour une bonne raison : il prouve que votre carte fonctionne, que votre code s’exécute et que votre câblage fait ce que vous croyez — le tout avec une petite LED.

Voici ce que la plupart des tutoriels ne disent pas en premier : pas besoin d’acheter quoi que ce soit pour apprendre. Vous pouvez monter et exécuter tout le projet dans un simulateur du navigateur, regarder la LED clignoter, et ne commander une carte qu’une fois que vous comprenez vraiment ce qui se passe. C’est ce que nous allons faire ici. Je vous dirai aussi où la simulation cesse de coller à la réalité, parce que ça arrive.

Le circuit, c’est la carte

La plupart des tutoriels « montez un circuit » commencent par une liste de pièces. Pas celui-ci : l’Arduino Uno porte déjà tout le circuit sur sa carte, avec une petite LED (marquée L) câblée en dur sur la broche numérique 13 et une résistance de limitation de courant en série sur la carte elle-même. Rien à brancher, rien à souder, rien à griller.

Arduino Uno board on a browser-based simulator canvas, set up for the blink LED example

Si vous passez plus tard à une vraie carte et que vous voulez une LED externe au lieu de celle de la carte, la recette est : l’anode (la patte longue) → broche 13 à travers une résistance de 220Ω, la cathode (la patte courte) → GND. Tout entre 220Ω et 1kΩ fonctionne ; les valeurs plus faibles la rendent plus brillante et plus énervée. Mais pour l’instant, restons simples.

Poser la carte sur le canevas

Ouvrez le simulateur et cliquez sur Ajouter (ou le bouton Composants, selon l’affichage). Un sélecteur de composants s’ouvre avec une zone de recherche et une grille de cartes. Tapez « Arduino Uno », glissez-la sur le canevas, c’est tout.

Add Component dialog listing Arduino Uno, Nano, Mega, Raspberry Pi Pico and ESP32 boards

La carte atterrit sur le canevas avec ses étiquettes de broches visibles. Repérez le repère L à côté de la broche 13 — c’est votre LED. Elle n’aura pas l’air de grand-chose tant que la simulation ne tourne pas.

Les quatre lignes qui comptent

Passez à l’éditeur de code. Voici tout le sketch :

// Blink: toggle the onboard LED once a second

void setup() {
  pinMode(13, OUTPUT);
}

void loop() {
  digitalWrite(13, HIGH);
  delay(1000);
  digitalWrite(13, LOW);
  delay(1000);
}

Arduino blink sketch in the simulator code editor: pinMode, digitalWrite and delay on pin 13

Un sketch Arduino contient toujours deux fonctions. setup() s’exécute une fois à la mise sous tension ; loop() tourne ensuite sans fin, de haut en bas, encore et encore. À l’intérieur, quatre lignes font tout le travail :

  • pinMode(13, OUTPUT) — indique à la puce que la broche 13 sert à envoyer de la tension, pas à lire des signaux. Sans cette ligne, la broche reste une entrée ; la LED brille faiblement ou pas du tout, ce qui déroute tout le monde la première fois.
  • digitalWrite(13, HIGH) — met la broche à 5V. LED allumée.
  • delay(1000) — reste là à ne rien faire pendant 1000 millisecondes. Sans elle, la LED clignoterait des millions de fois par seconde et paraîtrait allumée en continu à vos yeux.
  • digitalWrite(13, LOW) — remet la broche à 0V. LED éteinte, puis le second delay(1000) la maintient ainsi avant que la boucle ne recommence.

Et c’est vraiment tout le programme. Si vous trouvez ça décevant, tant mieux — c’est le but de blink.

Appuyez sur Run

Appuyez sur le bouton Run dans la barre d’outils de l’éditeur. Le simulateur compile votre sketch et l’exécute sur une puce AVR virtuelle — la même famille que celle d’un vrai Uno.

Simulator editor toolbar showing the run button and sketch file tab

Regardez la LED L sur le canevas : une seconde allumée, une seconde éteinte. La barre d’outils du canevas vous offre aussi pause, stop et reset, plus un moniteur série et un oscilloscope dont vous n’aurez pas besoin tout de suite, mais bientôt.

Simulator canvas toolbar with board selector, serial monitor, oscilloscope and zoom controls

Ce que le simulateur ne vous dira pas

La simulation est un professeur bienveillant, mais elle saute quelques leçons que le vrai matériel vous apprend immédiatement :

  • Les LED ne meurent pas dans les simulateurs. Branchez une vraie LED directement sur une broche sans résistance et elle fonctionnera — brièvement. Puis elle grille, ou endommage lentement le GPIO. Le simulateur fait tourner ce circuit indéfiniment sans broncher, alors prenez l’habitude de la résistance dès maintenant.
  • Les vrais Uno clignotent au démarrage. Le bootloader fait clignoter la LED L plusieurs fois à la mise sous tension. Les débutants prennent régulièrement ça pour un bug de leur code. C’est normal.
  • Les cartes clones varient. Sur les clones Uno bon marché, la LED L peut être d’une autre couleur, plus sombre, ou sur une pastille légèrement différente. Le simulateur vous montre une carte idéalisée ; votre tiroir de bureau, non.
  • delay() bloque tout. Dans ce sketch, pas de problème. Dans un vrai projet avec boutons ou capteurs, ces 1000ms figées deviennent un bug. Retenez la sensation du « pourquoi ça ne réagit pas pendant le delay » — vous la retrouverez.

Les erreurs qui font perdre du temps

J’ai vu beaucoup de premiers sketches échouer. C’est presque toujours l’un de ces cas :

  • Pas de pinMode() dans setup(). Le classique. Tout compile, rien ne s’allume.
  • LED externe branchée à l’envers. Patte longue vers la broche, patte courte vers la masse. Inversée, elle reste simplement éteinte — pas de casse, pas de lumière, pas de fun.
  • Modifier le code sans jamais rappuyer sur Run. La simulation ne se relance pas toute seule.
  • Taper la broche en lettre ou prendre la broche 12 par habitude. La LED de la carte n’écoute que la broche 13.

Et maintenant ?

Une fois que le clignotement d’une seconde vous ennuie — ce qui prend environ deux minutes — commencez à changer les choses. Passez les delays à 250ms et regardez-le strober. Déplacez une LED externe sur la broche 12 avec sa propre résistance et adaptez le sketch. Essayez analogWrite() sur une broche marquée d’un ~ (ce sont celles compatibles PWM) et faites fondre la LED au lieu de la commuter. Ou ajoutez un bouton-poussoir et faites obéir la LED à votre doigt.

Ouvrez le simulateur gratuit et chargez l’exemple Blink — le circuit et le code de cet article sont déjà câblés. Sans compte, sans installation. Quand la LED clignote en vous regardant, vous êtes officiellement programmeur embarqué. En quelque sorte.

Leave a Reply

Your email address will not be published. Required fields are marked *