Guides · 17 min de lecture

Code Arduino expliqué pas à pas : le comprendre et le modifier

Code Arduino expliqué pas à pas avec BlueGrays : résumé, étapes, Si tu bloques, défis À toi de jouer, une routine de 15 minutes et un vrai projet à bouton.

Comprendre le code est l'onglet de la section Code Source de chaque page de projet BlueGrays qui explique pas à pas le code Arduino tout prêt. Pour savoir ce que fait vraiment le code que tu as copié et téléversé, suis cet ordre : lis d'abord le résumé Que fait ce code ?, puis retrouve dans le code complet chaque extrait de la section Étape par étape avec son explication, consulte Si tu bloques si le circuit ne se comporte pas comme prévu, et termine avec le défi À toi de jouer pour changer une seule chose dans le code et voir le résultat sur la carte. Ces quatre sections sont le chemin le plus court entre « ça marche, mais je ne sais pas pourquoi » et « je sais ce qui se passe si je change cette ligne ».

Dans cet article, nous parcourons Comprendre le code du début à la fin avec le contenu réel d'un vrai projet : le projet numéro 10, Allumer et éteindre une LED avec un bouton. Il est gratuit, de niveau Débutant et dispose aussi d'une vue en blocs ; tout le monde peut donc ouvrir l'explication du code comme celle des blocs. Tu trouveras les sections de l'onglet, une méthode pour faire correspondre le code et l'explication, une routine de travail de 15 minutes, une stratégie pour résoudre les défis À toi de jouer, ce que chaque type de modification enseigne, la vue Comprendre les blocs, la différence entre Si tu bloques et Dépannage, ainsi que des idées pour les enseignants en cours.

Cet article poursuit notre série qui présente BlueGrays section par section. Dans la partie précédente, nous avons expliqué toute la page de projet avec la veilleuse à LDR et présenté brièvement Comprendre le code ; ici, nous nous concentrons uniquement sur cet onglet et sur la pratique des modifications de code.

Où se trouve Comprendre le code et qui peut l'utiliser ?

Quand tu ouvres un projet et que tu descends jusqu'à la section Code Source, tu vois en haut un sélecteur à deux onglets : Code et Comprendre le code. L'onglet Code affiche le programme complet, avec les boutons Copier et Copier le lien. Si tu passes à Comprendre le code, la version commentée du même programme s'ouvre. Chacun des 200+ projets possède cet onglet, et il fonctionne de la même façon pour les projets Arduino, ESP32 et Raspberry Pi Pico. La règle d'accès est simple : dans les 60 projets gratuits (20 par plateforme), Comprendre le code est ouvert à tous ; même avec un compte gratuit, tu vois le résumé, toutes les étapes, Si tu bloques et le défi À toi de jouer avec sa solution. Dans les projets Premium, une carte de verrouillage remplace l'onglet : « Débloque avec Premium l'explication du code étape par étape. » Tu peux donc appliquer la méthode de cet article à Clignotement d'une LED, Feu de circulation, Gyrophare de police à LED et aux projets à bouton sans rien payer.

Les sections : à quoi sert chacune ?

SectionCe qu'elle montreComment l'utiliser
Que fait ce code ?Un résumé de 2 à 3 phrases : ce que fait le programme, dans quel ordre et pourquoi il se répète sans finAprès l'avoir lu, explique le programme en une phrase sans regarder ; si tu n'y arrives pas, relis-le
Étape par étapeDes étapes numérotées, chacune avec un titre, un court extrait de code et une explication (5 à 6 étapes dans la plupart des projets)Lis les étapes dans l'ordre et retrouve chaque extrait dans le code complet
Extrait de codeUniquement les lignes dont parle cette étape, sans le reste du programmeRegarde les nombres et les numéros de broche ; ce sont en général les parties modifiables
Si tu bloquesLes symptômes fréquents dans ce projet et leurs solutions (souvent 4 ou 5)Si le circuit ne se comporte pas comme prévu, cherche d'abord ton symptôme ici
À toi de jouerUn court défi qui demande une seule modification du codePrédis d'abord le résultat, puis modifie et téléverse
IndiceUne phrase juste sous le défi qui t'indique où regarderLis-la si ta prédiction échoue ; elle ne donne pas la réponse, elle montre la direction
Voir la solutionUn encadré SOLUTION qui s'ouvre d'un toucher : quelle ligne devient quoi, et le résultatOuvre-le en dernier, compare avec ta solution et referme-le avec Masquer la solution

L'ordre des sections est voulu : d'abord la vue d'ensemble, puis les morceaux, ensuite les erreurs et enfin ta propre expérience. Les extraits ne sont pas le programme entier, seulement les lignes que l'étape explique ; l'accolade fermante d'un bloc ouvert dans une étape peut n'apparaître qu'à l'étape suivante. C'est pourquoi lire toutes les étapes dans l'ordre est plus efficace que d'en regarder une seule. L'indice est visible juste sous le texte du défi, alors que la solution reste cachée tant que tu ne touches pas Voir la solution. Cette disposition te laisse le temps de réfléchir avant de voir la réponse.

Exemple : Comprendre le code dans le projet Allumer et éteindre une LED avec un bouton

Le projet utilise un bouton-poussoir et une LED. Un côté du bouton va au 5V et le côté opposé à la broche 13 de la carte ; cette même broche est ramenée à GND par une résistance de 10 kΩ. La patte longue de la LED va à la broche 7 et la patte courte à GND à travers une résistance de 330 Ω. Le résumé de Comprendre le code décrit le programme ainsi : à chaque appui sur le bouton, la LED inverse son état une fois, elle s'allume si elle était éteinte et s'éteint si elle était allumée ; même si tu gardes le bouton enfoncé, la LED ne change qu'une fois, et une attente de 50 ms ignore les rebonds du bouton. Voici le programme complet, avec des commentaires en deux langues.

C++ (Arduino IDE)
1int ledState = 0;     // LED durumu: 0 sönük, 1 yanık / LED state: 0 = off, 1 = on
2int lastButton = 0;   // Butonun önceki okuması / Previous button reading
3
4void setup() {
5  pinMode(13, INPUT);   // Buton girişi, harici pull-down / Button input, external pull-down
6  pinMode(7, OUTPUT);   // LED çıkışı / LED output
7}
8
9void loop() {
10  int button = digitalRead(13);   // Butonu oku / Read the button
11  if (button != lastButton) {     // Buton durumu değişti / Button state changed
12    if (button == 1) {            // Yalnız basış anında (LOW -> HIGH) / Only at the press (LOW -> HIGH)
13      ledState = !ledState;       // Durumu tersine çevir / Flip the state
14      digitalWrite(7, ledState);  // Yeni durumu LED'e yaz / Write the new state to the LED
15    }
16    delay(50);                    // Sıçramayı atlamak için kısa bekleme / Short wait to skip the bounce
17    lastButton = button;          // Bu okumayı sakla / Store this reading
18  }
19}
ÉtapeExtrait de codeL'essentiel de l'explicationNotion apprise
1. Les variables qui mémorisent la LED et le boutonint ledState = 0; int lastButton = 0;ledState garde l'état actuel de la LED et lastButton la lecture précédente du bouton ; déclarées hors des fonctions, elles conservent leur valeur à chaque tour de loopVariable globale
2. setup() : préparer les brochespinMode(13, INPUT); pinMode(7, OUTPUT);D13 est une entrée, D7 une sortie ; INPUT suffit car le circuit a une résistance de pull-down externe de 10 kΩ, sinon la broche serait flottanteEntrée, sortie, pull-down
3. loop() : lire le bouton, détecter le changementint button = digitalRead(13); if (button != lastButton) { if (button == 1) {Si la lecture est identique à la précédente, rien ne se passe ; si elle a changé et vaut maintenant 1, le bouton vient d'être enfoncéDétection de front (passage de LOW à HIGH)
4. Inverser l'état, l'écrire sur la LEDledState = !ledState; digitalWrite(7, ledState);L'opérateur ! transforme 0 en 1 et 1 en 0 ; la nouvelle valeur est écrite sur la LEDBascule (marche/arrêt)
5. Attente de 50 ms et mémorisation de la dernière lecturedelay(50); lastButton = button;Un bouton mécanique rebondit pendant quelques millisecondes ; attendre 50 ms l'ignore, puis la lecture est gardée pour le tour suivantAnti-rebond

En lisant les étapes, remarque que l'explication te dit non seulement ce qui se passe, mais aussi ce qui se passerait sans cette ligne. L'étape 1 rappelle que ledState commence à 0, si bien que la LED est éteinte à la mise sous tension. Une bonne question en découle : si tu mets 1, la LED démarre-t-elle allumée ? Non, car cette ligne ne change que la variable ; setup() n'écrit rien sur la LED, elle démarre donc éteinte, et au premier appui ledState repasse à 0, si bien qu'elle reste éteinte. La valeur d'une variable et l'état réel d'une broche sont deux choses différentes. L'étape 2 relie l'usage d'INPUT sur le bouton à la résistance de 10 kΩ du circuit : quand le bouton n'est pas enfoncé, la résistance ramène la broche à GND et on lit 0. Retire la résistance et la broche devient flottante et lit des valeurs aléatoires ; le symptôme « la LED s'allume et s'éteint toute seule » de Si tu bloques correspond exactement à ce cas.

Les étapes 3 et 5 se lisent ensemble. La comparaison de l'étape 3 ne fonctionne que si lastButton est mis à jour après chaque changement, et cette mise à jour, c'est la ligne lastButton = button de l'étape 5. En faisant correspondre les deux étapes, l'idée centrale du programme apparaît : le code ne vérifie pas si le bouton est enfoncé, mais si son état a changé. Quand tu le maintiens enfoncé, chaque tour lit 1, mais lastButton vaut aussi 1, la comparaison est fausse et la LED ne change pas. L'opérateur ! de l'étape 4 est un interrupteur marche/arrêt en deux lignes. L'étape 5 se termine par un avertissement : si l'attente est trop courte, la LED peut parfois changer plusieurs fois pour un seul appui. Cela te suggère une première expérience avant le défi : passe 50 à 5, appuie plusieurs fois et observe si la LED change parfois deux fois ; le résultat dépend de la qualité du bouton. Pour en savoir plus sur l'anti-rebond, lis comment brancher un bouton-poussoir sur Arduino.

Les blocs en français du projet Allumer et éteindre une LED avec un bouton : variables globales, dans la configuration la broche 13 en entrée et la broche 7 en sortie, et deux blocs si imbriqués dans répéter indéfiniment
Le même programme en blocs. Dans la vue Comprendre les blocs, cette image complète est découpée en étapes, et chaque étape ne montre que ses propres blocs.

La section Si tu bloques de ce projet liste cinq symptômes : la LED ne s'allume jamais ; la LED change toute seule sans qu'on touche le bouton ; rien ne se passe quand on appuie ; le bouton se comporte comme s'il était toujours enfoncé ; le code ne se téléverse pas. Chaque symptôme s'accompagne d'une vérification concrète. Pour « toujours enfoncé », par exemple, elle explique que si les pattes du bouton sont insérées dans le mauvais sens, D13 reste relié au 5V en permanence et qu'il faut tourner le bouton de 90 degrés. Le défi À toi de jouer est le suivant : la LED doit changer quand tu relâches le bouton, et non quand tu appuies. L'indice rappelle que la variable button passe à 1 au moment de l'appui et à 0 au moment du relâchement. La solution tient en un seul caractère : la ligne if (button == 1) devient if (button == 0). Ce petit défi vérifie si tu as vraiment compris la détection de front de l'étape 3.

Méthode de lecture : résumé, correspondance, essai

  1. Lis le résumé, écris-le en une phrase : Lis Que fait ce code ?, puis écris le programme en une phrase dans ton cahier sans regarder le téléphone. Pour le projet à bouton : « Chaque appui allume ou éteint la LED une fois. »
  2. Fais correspondre le code aux étapes de haut en bas : Ouvre le code dans l'Arduino IDE (Copier le lien dans Code Source facilite la chose), retrouve l'extrait de chaque étape dans le code complet et ajoute le numéro d'étape à côté de la ligne en commentaire. Les étapes suivent l'ordre du code : variables globales, setup(), loop().
  3. Repère les lignes sans correspondance : S'il reste une ligne qui n'apparaît dans aucune étape (en général il ne reste que des accolades fermantes), demande-toi pourquoi elle n'est pas expliquée ; si ce n'est pas une accolade, cherche-la à nouveau dans les explications.
  4. Essaie sur le circuit : Téléverse le code et teste un à un les comportements du résumé. Pour le projet à bouton, trois essais suffisent : un appui, un appui maintenu et des appuis rapides successifs. Avant chaque essai, dis à voix haute ce qui va se passer.

La mise en correspondance est l'étape la plus souvent sautée, alors que c'est elle qui rapporte le plus. Quand tu écris les numéros d'étape à côté des lignes, le squelette du code devient visible : quelle ligne s'exécute une fois et laquelle en boucle, où chaque variable est lue et où elle est écrite. Dans le projet à bouton, lastButton apparaît à deux endroits : elle est déclarée à l'étape 1 et mise à jour à l'étape 5. Le voir de tes propres yeux marque bien plus que de lire « une variable est une boîte ». Pour travailler à part les variables, les boucles et les fonctions, lis les bases de la programmation Arduino.

Une routine de 15 minutes avec Comprendre le code

MinutesCe que tu faisOù
0–2Lire le résumé Que fait ce code ? et écrire le programme en une phraseTéléphone, Comprendre le code
2–6Retrouver chaque extrait d'Étape par étape dans le code complet et ajouter les numéros d'étape en commentaireTéléphone + Arduino IDE
6–8Téléverser le code et tester un à un les comportements du résuméOrdinateur + circuit
8–9Lire le défi À toi de jouer, prédire le résultat et le noterTéléphone + cahier
9–12Faire l'unique modification, téléverser et observer le résultatArduino IDE + circuit
12–13Si la prédiction a échoué, lire l'Indice et réessayerTéléphone
13–15Comparer avec Voir la solution, puis essayer une deuxième modification de ton choixTéléphone + Arduino IDE

Cette routine concerne un projet dont le circuit est déjà monté. Si tu montes le circuit pour la première fois, prévois 10 à 15 minutes de plus ou garde la routine pour le lendemain. Les deux dernières minutes sont les plus précieuses : faire ta propre petite modification après avoir vu la solution met à l'épreuve l'idée comprise, pas la réponse mémorisée. Dans le projet à bouton, tu peux par exemple déplacer la LED sur une autre broche ou porter l'attente de 50 ms à 300 ms et voir ce qui arrive aux appuis rapides. Un projet par jour à ce rythme, c'est cinq projets gratuits vraiment compris en une semaine. Pour un plan plus long, consulte la feuille de route Arduino sur 30 jours.

Une stratégie pour résoudre les défis À toi de jouer

Les défis À toi de jouer sont courts mais choisis avec soin : chacun demande une seule modification, et le résultat se voit ou s'entend. Respecter cet ordre pendant que tu les résous double ce que tu apprends :

  1. Prédis : Lis le défi et dis d'abord quelle ligne tu vas toucher et ce que tu verras après la modification. Écrire ta prédiction évite plus tard l'illusion du « je le savais ».
  2. Modifie : Ne change qu'une seule chose. Si tu changes deux lignes à la fois, tu ne pourras pas savoir quelle modification a produit quoi.
  3. Téléverse : Téléverse le code sur la carte et attends le message indiquant que le téléversement est terminé. En cas d'erreur de compilation, vérifie le point-virgule et les parenthèses de la ligne modifiée.
  4. Observe : Compare le résultat avec ta prédiction. Pour les défis de durée, compte les secondes ; pour les défis sonores, écoute l'ancien et le nouveau son l'un après l'autre.
  5. Regarde l'indice : Si ta prédiction a échoué ou si tu ne trouves pas quelle ligne toucher, lis l'indice. Comme il est visible juste sous le défi, le cacher avec la main à la première lecture aide.
  6. Ouvre la solution en dernier : Ne touche Voir la solution qu'après ton propre essai. Si elle correspond à la tienne, demande-toi pourquoi elle est juste ; si elle diffère, demande-toi pourquoi les deux approches donnent des résultats différents.

Autre avantage de cet ordre : il rend les erreurs instructives. Imagine que, dans le défi du projet Feu de circulation, tu veuilles allonger à 1,5 seconde l'orange qui suit le vert, mais que tu modifies par erreur la première ligne delay(300). Au lieu du résultat attendu, tu verras s'allonger l'orange qui suit le rouge. Cette erreur t'apprend bien mieux que la solution que le code comporte deux phases orange distinctes et que loop() s'exécute ligne par ligne. La solution du défi le dit d'ailleurs : la ligne delay(300) tout à la fin de loop() devient delay(1500), et l'orange après le rouge reste à 0,3 seconde.

Types de modification : quelle notion chacun enseigne-t-il ?

En regardant les défis des projets gratuits, tu verras que chacun appartient à l'un de quelques types. Reconnaître le type t'aide aussi à te fixer ton propre défi dans un nouveau projet. Les exemples du tableau viennent de vrais défis À toi de jouer de projets gratuits ; la ligne sur le changement de broche est une expérience que tu peux faire toi-même dans le même projet.

Type de modificationExempleNotion appriseAttention
Changer un nombreClignotement d'une LED : mettre les deux lignes delay à delay(1000) ; Utilisation du buzzer : passer la fréquence de 400 Hz à 1000 HzLes unités (ms, Hz) et la façon dont une valeur détermine le comportementLes durées sont en millisecondes : 1500 = 1,5 s. Le défi de fréquence demande un buzzer passif
Changer une brocheDans le projet à bouton, déplacer la LED de D7 à D8 : changer le fil ainsi que les lignes pinMode(7, OUTPUT) et digitalWrite(7, ledState)Le lien entre code et circuit ; un numéro de broche présent à plusieurs endroitsDéplace le fil USB débranché ; change le numéro partout dans le code
Changer une conditionProjet à bouton : button == 0 au lieu de button == 1 ; Veilleuse avec LDR : seuil de 50 à 300Comparaison, seuil, détection de frontQuand le seuil change, le comportement ne varie pas progressivement mais bascule à un point précis
Inverser le comportementAllumer une LED avec un bouton-poussoir (Push) : la LED est allumée normalement et s'éteint quand on appuieLogique HIGH et LOW, inversion d'une conditionChange soit la condition, soit les valeurs écrites, pas les deux
Limite de boucleGyrophare de police à LED : la LED rouge clignote 5 fois au lieu de 3, for (int i = 0; i < 5; i++)Boucle for, compteur, nombre de répétitionsNe change que la première ligne for ; le bleu continue de clignoter 3 fois
Ajouter un minimum à une expressionChenillard à LED à vitesse réglable : delay(potValue + 50) au lieu de delay(potValue)Utiliser une lecture dans un calcul, limite basseL'attente va alors de 50 à 1073 ms ; la lumière reste facile à suivre même à la vitesse maximale
Quand tu changes de broche, déplace les fils USB débranché et modifie le numéro partout où il apparaît dans le code ; si tu changes pinMode en oubliant digitalWrite, la LED ne s'allumera jamais. Sur l'Arduino Uno, les broches 0 et 1 servent à la communication série et au téléversement par USB ; ne les choisis pas pour tes expériences.

Comprendre les blocs : la même explication en blocs

Les projets disposant d'une vue en blocs ont un interrupteur Voir en blocs dans la section Code Source. Quand tu l'actives, le même programme apparaît sous forme de blocs dans la langue de l'application au lieu du code, et l'onglet voisin passe de Comprendre le code à Comprendre les blocs. Dans cette vue, le résumé, Si tu bloques et le défi restent identiques ; c'est la section Étape par étape qui change : chaque étape montre ses propres blocs à la place de l'extrait de code, et un toucher sur l'image l'ouvre en plein écran. Plus de 100 projets ont une vue en blocs, dont plus de 30 projets gratuits. Les blocs servent uniquement à la lecture ; on ne les modifie pas dans l'application et on ne les téléverse pas sur la carte, c'est toujours le vrai code qui y est envoyé.

La meilleure façon d'utiliser Comprendre les blocs est d'alterner entre les deux vues. Dans le projet à bouton, les blocs de l'étape 3 sont un bloc « définir button à lire la broche 13 » et deux blocs « si » imbriqués ; en code, ce sont la ligne int button = digitalRead(13); et deux if imbriqués. Le bloc « définir ledState à non ledState » de l'étape 4 correspond exactement à la ligne ledState = !ledState;. Lis d'abord le bloc et dis ce qu'il fait, puis désactive l'interrupteur et regarde l'extrait de code de la même étape. Ce va-et-vient entre blocs et code est la façon la plus solide de passer de la programmation par blocs au code textuel ; pour reprendre le sujet depuis le début, lis qu'est-ce que la programmation par blocs et l'article sur le bloc si.

Si tu bloques ou Dépannage : quelle différence ?

CritèreSi tu bloquesDépannage
Où ?Dans l'onglet Comprendre le code, après Étape par étapeUne section séparée sur la page du projet
FormeDes paires symptôme et solution ; 5 dans le projet à boutonUne liste de vérification ordonnée qui commence par « Si votre projet ne fonctionne pas, vérifiez les étapes ci-dessous. » ; 10 étapes dans le projet à bouton
Quand ?Tu connais le symptôme : « la LED change toute seule »Tu ne sais pas ce qui cloche et tu veux tout vérifier depuis le début
ObjetLes erreurs typiques propres au code et au circuit de ce projetDes vérifications générales comme l'alimentation, le téléversement, les numéros de broche, les connexions et GND
AccèsOuvert à tous dans les projets gratuits, avec Premium dans les projets PremiumPrésent dans plus de 170 projets, débloqué avec Premium

En pratique, l'ordre est le suivant : quand le circuit ne fonctionne pas, décris le symptôme en une phrase et cherche-le dans Si tu bloques. Si ton symptôme y figure, la solution tient souvent à un seul fil, une résistance ou une ligne. S'il n'y figure pas, ou si la solution proposée n'a pas suffi, parcours dans l'ordre les étapes du Dépannage ; tu y repéreras sans doute une vérification de base que tu avais sautée (alimentation de la carte, bon port, GND commun). Si tu bloques au téléversement, l'article Arduino ne téléverse pas le code t'aidera, et pour les erreurs de compilation, les erreurs de compilation Arduino.

Pour les enseignants : utiliser Comprendre le code en cours

  • Lecture commune au vidéoprojecteur : En début de cours, projette l'écran de ton téléphone, lisez ensemble le résumé Que fait ce code ? et demande à la classe de résumer le programme en une phrase. Montre ensuite les mêmes étapes avec Voir en blocs activé ; pour les élèves qui ont commencé par les blocs, c'est une passerelle.
  • Un groupe par étape : Pour un projet en 5 étapes, divise la classe en 5 groupes ; chaque groupe lit une étape, retrouve l'extrait dans le code complet et l'explique à la classe en deux minutes. Pendant qu'un groupe explique, les autres demandent : « que se passerait-il sans cette ligne ? ».
  • Fiche de prédiction : Écris le défi À toi de jouer au tableau ; chaque groupe note sa prédiction sur une feuille avant de modifier, puis change le code et le téléverse. Discuter de l'écart entre prédiction et résultat apprend plus que le défi lui-même.
  • Question de sortie : Dans les deux dernières minutes du cours, chacun répond à une question. Exemples pour le projet à bouton : que se passerait-il en maintenant le bouton enfoncé s'il n'y avait pas lastButton ? Que change la suppression de delay(50) ? Pourquoi la LED peut-elle changer toute seule si tu retires la résistance de 10 kΩ ?

Pour organiser l'accès, garde ceci en tête : comme Comprendre le code est ouvert à tous dans les projets gratuits, tes élèves peuvent appliquer cette méthode avec Clignotement d'une LED, Feu de circulation, Gyrophare de police à LED et les deux projets à bouton sans rien payer. Dans les projets Premium, Comprendre le code se débloque avec Premium ; si tu veux passer avec ta classe aux projets Premium, tu peux distribuer des codes des packs éducateurs plutôt que de faire souscrire chaque élève, comme expliqué dans une application Arduino pour la classe. Si tu veux partager un circuit que tu as conçu toi-même, tu peux ouvrir un sujet Tutoriel dans le Forum ; il n'est pas fourni avec des étapes Comprendre le code ni avec une vue en blocs, donc tu rédiges toi-même l'explication dans le texte du sujet et tu ajoutes le code avec Ajouter du code (faire cours avec ton propre projet). L'application n'a pas non plus de tableau de bord qui te montre quels défis chaque élève a résolus ; tu vérifies le défi en cours, en regardant le circuit qui fonctionne ou grâce à une photo.

Erreurs fréquentes et solutions simples

  • Ouvrir la solution tout de suite : Si tu touches Voir la solution dès la lecture du défi, tu apprends la réponse mais pas l'idée. La règle : d'abord la prédiction, puis l'essai, ensuite l'indice et la solution en dernier.
  • Copier sans lire les étapes : Récupérer le code avec Copier et le téléverser fonctionne, mais si tu passes au projet suivant sans lire Étape par étape, tu repars de zéro à chaque fois. Après le téléversement, lis au moins le résumé et les étapes.
  • Prendre un extrait pour le programme entier : Les extraits ne contiennent que les lignes d'une étape ; collé seul dans l'IDE, un extrait ne compile pas. Fais toujours tes modifications dans le code complet.
  • Changer plusieurs choses à la fois : Si tu modifies deux lignes ensemble et que le résultat te surprend, tu ne sauras pas laquelle est en cause. Une modification par téléversement.
  • Changer le numéro de broche à un seul endroit : Changer pinMode en oubliant digitalWrite ou le fil fait partie des erreurs les plus courantes. Avant de modifier, repère tous les endroits du code où apparaît le numéro.
  • Sauter Si tu bloques et demander tout de suite sur le forum : La réponse figure souvent déjà dans la liste Si tu bloques du projet. Regarde d'abord là, puis dans le Dépannage ; si le problème persiste, pose ta question sur le forum avec une photo du circuit et ton code.
  • Terminer le défi et s'arrêter là : Si tu ne fais pas ta propre petite modification après avoir comparé avec la solution, ce que tu as appris reste lié à ce seul défi. Choisis toi-même un nombre, une broche ou une condition.

Une fois que tu as utilisé Comprendre le code dans cet ordre sur quelques projets, le code tout prêt cesse d'être une boîte fermée : tu peux dire à l'avance quelle ligne contrôle quoi et ce qui arrivera si tu la modifies. Allumer et éteindre une LED avec un bouton est un bon point de départ pour prendre cette habitude, car un code court y montre à la fois une variable globale, la détection de front, la bascule et l'anti-rebond. Si tu veux essayer, ouvre ce projet dans l'application BlueGrays et commence par le défi de l'onglet Comprendre le code ; les mêmes sections t'attendent dans chacun des 60 projets gratuits.

Questions fréquentes

Qu'est-ce que Comprendre le code dans BlueGrays ?

Comprendre le code est l'onglet de la section Code Source d'une page de projet BlueGrays qui explique le code du projet pas à pas. Il comprend un résumé, des étapes numérotées (chacune avec un extrait de code et une explication), la section Si tu bloques et un défi À toi de jouer avec un indice et une solution. Tous les projets en disposent.

Comprendre le code est-il gratuit ?

Dans les 60 projets gratuits (20 par plateforme), Comprendre le code est ouvert à tous ; avec un compte gratuit, tu vois le résumé, les étapes, Si tu bloques et le défi avec sa solution. Dans les projets Premium, l'onglet se débloque avec Premium.

Comment comprendre pas à pas un code Arduino tout prêt ?

Résume d'abord en une phrase ce que fait le code, puis découpe-le de haut en bas et note le rôle de chaque partie : variables globales, setup() et loop(). Fais attention aux nombres et aux numéros de broche, puis change une seule valeur et observe le résultat sur la carte. Comprendre le code te donne cet ordre tout prêt pour chaque projet.

Comment voir la solution d'un défi À toi de jouer ?

Touche le bouton Voir la solution sous le défi ; un encadré SOLUTION s'ouvre et indique quelle ligne devient quoi. Tu peux le refermer avec Masquer la solution. Faire d'abord ton propre essai et ouvrir la solution en dernier t'apprend davantage.

Qu'est-ce que Comprendre les blocs ?

Dans les projets avec une vue en blocs, activer l'interrupteur Voir en blocs renomme l'onglet Comprendre le code en Comprendre les blocs. Dans la section Étape par étape, chaque étape montre alors ses propres blocs à la place de l'extrait de code. Plus de 100 projets ont une vue en blocs.

Si tu bloques et Dépannage, est-ce la même chose ?

Non. Si tu bloques est une liste de symptômes et de solutions propre au projet, dans Comprendre le code ; le Dépannage est une liste de vérification ordonnée et séparée sur la page du projet. Le Dépannage existe dans plus de 170 projets et se débloque avec Premium.

Voir tous les projets
Allumer et éteindre une LED avec un bouton
#10Débutant

Allumer et éteindre une LED avec un bouton

Un appui et la lumière s'allume, un deuxième et elle s'éteint, exactement comme l'interrupteur de ta chambre. L'Arduino remarque chaque appui et fait passer la LED à l'état inverse, en attendant un co

4.8(100)
167
Allumer une LED avec un bouton-poussoir (Push)
#9Débutant

Allumer une LED avec un bouton-poussoir (Push)

Comme une sonnette : la lumière reste allumée tant que tu appuies et s'éteint quand tu relâches. L'Arduino surveille le bouton en permanence ; tant qu'il est enfoncé la LED est allumée, et dès que tu

4.8(113)
229
Feu de circulation
#3Débutant

Feu de circulation

Une copie miniature du feu tricolore que tu vois chaque jour dans la rue. Le rouge reste allumé deux secondes, l'orange brille un court instant, le vert reste deux secondes, puis on revient au rouge e

4.8(131)
397
Clignotement d'une LED
#1Débutant

Clignotement d'une LED

Le tout premier bonjour de l'électronique : allumer et éteindre une seule LED. L'Arduino allume et éteint la LED à intervalles très courts, la lumière clignote donc rapidement. Tu vois de la façon la

4.6(188)
1127
Gyrophare de police à LED
#4Débutant

Gyrophare de police à LED

Comme le gyrophare d'une voiture de police : la LED rouge flashe trois fois très vite, puis la bleue flashe trois fois à son tour, et la séquence se répète sans fin. Il te suffit de deux LED et de deu

4.7(103)
258
Veilleuse avec LDR
#12Débutant

Veilleuse avec LDR

Une petite veilleuse qui s'allume toute seule quand il fait nuit et s'éteint au matin. Un capteur de lumière mesure la clarté de la pièce, et l'Arduino allume la LED quand il fait assez sombre puis l'

4.8(102)
205
Utilisation du buzzer
#13Débutant

Utilisation du buzzer

Tu t'es déjà demandé comment une sonnette ou une alarme produit son son ? L'Arduino fait biper un petit buzzer à intervalles courts : bip, silence, bip, silence. Tu vois comment l'électricité devient

4.7(89)
161
Chenillard à LED à vitesse réglable
#7Intermédiaire

Chenillard à LED à vitesse réglable

Six LED s'allument l'une après l'autre et la lumière semble courir d'un bout à l'autre. Quand tu tournes le bouton du potentiomètre, la vitesse de cette course change aussitôt : dans un sens la lumièr

4.6(72)
146