Tinkercad Arduino : guide de simulation, code et mesures
Tinkercad Arduino pas à pas : créer un compte, circuit LED et capteurs sur breadboard, code en blocs et en texte, moniteur série, multimètre virtuel et Wokwi.
Simuler un Arduino dans Tinkercad est le moyen le plus simple de monter un circuit et d'exécuter son code avant même de posséder un seul composant. Dans Tinkercad Circuits, l'outil gratuit d'Autodesk qui fonctionne dans le navigateur, tu relies un Arduino Uno à une plaque d'essai virtuelle, tu ajoutes des LED, des résistances, des boutons-poussoirs et des capteurs, tu écris le code et tu cliques sur Start Simulation (démarrer la simulation) : la LED s'allume, le servo tourne et les données s'affichent dans le moniteur série. Aucune LED ne grille et aucune carte n'est abîmée par un mauvais branchement, puisque tout se passe à l'écran. C'est pour cela que tant de cours d'Arduino au collège et au lycée commencent par Tinkercad.
Dans ce guide, tu vas d'abord créer un compte, puis monter ton premier circuit sur une breadboard, voir la différence entre le code en blocs et le code en texte, suivre les données d'un capteur dans le moniteur série et sur son graphique, et mesurer tension, courant et résistance avec le multimètre virtuel. Ensuite, tu découvriras les classes pour enseignants, les composants que Tinkercad propose ou non, les points où la simulation diffère d'un vrai circuit et pourquoi il vaut mieux passer à Wokwi pour l'ESP32 et le Raspberry Pi Pico.

Qu'est-ce que Tinkercad Circuits et comment ça marche ?
Tinkercad est l'application web gratuite d'Autodesk qui réunit conception 3D, électronique et programmation. Sa partie électronique, Circuits, succède à 123D Circuits, fermé en 2017, et fonctionne sans aucune installation dans n'importe quel navigateur récent. Tes projets sont enregistrés dans le cloud : tu peux continuer chez toi un circuit commencé sur l'ordinateur de l'école. Tinkercad ne se contente pas d'exécuter ton code, il calcule aussi le comportement électrique du circuit : le courant qui traverse une résistance, la tension aux bornes d'une LED, le potentiel en n'importe quel point. Les cartes programmables sont l'Arduino Uno R3, l'ATtiny et la BBC micro:bit. Ton code Arduino est compilé comme avec le vrai compilateur Arduino puis exécuté sur un ATmega328P virtuel ; c'est pourquoi un code qui marche dans Tinkercad marche aussi sur une vraie carte.
| Caractéristique | Tinkercad Circuits |
|---|---|
| Prix | Gratuit (un compte Autodesk est nécessaire) |
| Installation | Aucune ; fonctionne dans le navigateur, les projets sont stockés dans le cloud |
| Cartes programmables | Arduino Uno R3, ATtiny, BBC micro:bit |
| Programmation | Blocs, Blocs + Texte, Texte (Arduino C++) |
| Bibliothèques intégrées | Environ 11 : Servo, LiquidCrystal, Adafruit NeoPixel, IRremote, Keypad, Wire, SoftwareSerial, EEPROM et d'autres |
| Instruments | Multimètre, oscilloscope, générateur de fonctions, alimentation réglable |
| Exemples prêts à l'emploi | Starters : circuits de base, Arduino et micro:bit |
| Gestion de classe | Tinkercad Classrooms, jusqu'à 250 élèves par classe |
| Passage à une vraie carte | Télécharger le code en fichier .ino et le téléverser avec l'IDE Arduino |
Comment créer un compte Tinkercad ?
- Va sur tinkercad.com dans ton navigateur et clique sur le bouton Sign Up (s'inscrire) en haut à droite.
- Choisis le parcours qui te correspond : un compte personnel si tu apprends seul, un compte enseignant (Educators) si tu donnes des cours, ou Join Class (rejoindre une classe) si ton professeur t'a donné un code de classe.
- Pour un compte personnel, continue avec ton adresse e-mail ou ton compte Google. Un compte Tinkercad est en fait un compte Autodesk : les mêmes identifiants fonctionnent pour les autres services d'Autodesk.
- Une fois connecté, ouvre la section Circuits dans le menu à gauche de ton tableau de bord et lance un nouveau circuit avec le bouton Create (créer).
- Ton projet est enregistré automatiquement. Tinkercad lui donne un nom aléatoire et amusant ; clique sur ce nom en haut à gauche et tape quelque chose de clair comme « LED et bouton » pour le retrouver plus tard.
Pour les élèves de moins de 13 ans, le plus simple est de se connecter avec le code de classe et le pseudo (nickname) fournis par l'enseignant : ni e-mail ni mot de passe ne sont nécessaires. L'élève clique sur Join Class sur tinkercad.com, saisit le code, puis le pseudo qui lui a été attribué. Les plus jeunes qui veulent un compte personnel peuvent se voir demander l'accord d'un parent lors de l'inscription. Les détails des comptes enseignants se trouvent plus bas, dans une section à part.
Découvrir l'interface : espace de travail, composants et raccourcis
L'éditeur de circuits comporte un grand espace de travail à gauche et le panneau des composants à droite. Par défaut, ce panneau affiche les composants de base les plus courants (Basic Components) ; pour tout voir, choisis All Components dans le menu déroulant ou tape un nom comme « servo » ou « ultrasonic » dans la barre de recherche. Plus bas, la section Starters contient environ deux douzaines de circuits Arduino tout faits. En faire glisser un dans l'espace de travail, lancer la simulation et lire son code est le moyen le plus rapide d'apprendre un nouveau composant. Les boutons de la barre du haut permettent de passer de la vue du circuit à la vue schématique, dessinée automatiquement, et à la liste des composants.
| Raccourci | Action |
|---|---|
| F | Affiche tout le circuit à l'écran (Zoom to fit) |
| R | Fait pivoter le composant sélectionné |
| N et Maj + N | Ajoute une note ; masque ou affiche les notes |
| Touches 0 à 9 | Changent la couleur du fil sélectionné |
| Maj + clic | Sélectionne plusieurs composants à la fois |
| Molette de la souris | Zoome et dézoome |
| Suppr | Supprime le composant ou le fil sélectionné |
Premier circuit : LED, résistance et bouton sur la breadboard

- Fais glisser un Arduino Uno R3 et une breadboard depuis le panneau des composants et place-les côte à côte. Si tu ne sais pas comment une breadboard est reliée à l'intérieur, lis d'abord Qu'est-ce qu'une breadboard ?.
- Place une LED sur la breadboard. Sur la LED de Tinkercad, la patte pliée est l'anode (+) et la patte droite la cathode (−) ; quand tu survoles une patte avec la souris, Tinkercad affiche son nom. Quand la LED est sélectionnée, tu peux changer sa couleur dans le panneau qui s'ouvre.
- Ajoute une résistance et branche-la en série avec l'anode de la LED. Quand la résistance est sélectionnée, règle dans le panneau la valeur sur 220 et l'unité sur Ω ; la valeur par défaut est 1 kΩ. Tu trouveras la bonne valeur pour ta LED avec le calculateur de résistance pour LED.
- Place un bouton-poussoir (Pushbutton) à cheval sur la rainure centrale de la breadboard, pour que les pattes opposées restent séparées.
- Pour tirer un fil, clique sur une broche ou un trou, puis sur la destination ; clique sur des points libres en chemin pour plier le fil. Relie l'extrémité libre de la résistance à D9, la cathode de la LED à GND, une patte du bouton à D2 et la patte opposée en diagonale à GND.
- Colore tes fils : l'alimentation en rouge et la masse en noir rendent la recherche d'erreurs bien plus facile. Tape ensuite le code ci-dessous et clique sur Start Simulation.
| Liaison | Arduino Uno (Tinkercad) | ESP32 | Raspberry Pi Pico |
|---|---|---|---|
| Anode de la LED (via 220 Ω) | D9 | GPIO 18 | GP14 |
| Cathode de la LED | GND | GND | GND |
| Bouton (autre patte à GND) | D2 | GPIO 4 | GP2 |
| Curseur du potentiomètre | A0 | GPIO 34 | GP26 (ADC0) |
| Broche centrale du TMP36 (Vout) | A1 | GPIO 35 | GP27 (ADC1) |
| Alimentation du potentiomètre et du TMP36 | 5V et GND | 3V3 et GND | 3V3(OUT) et GND |
Écrire le code : modes Blocs, Blocs + Texte et Texte
Le bouton Code en haut à droite ouvre le panneau de code. Le menu déroulant en haut du panneau propose trois modes. En mode Blocks (blocs), tu assembles par glisser-déposer des blocs colorés façon Scratch : impossible d'oublier un point-virgule ou de faire une faute de frappe. En mode Blocks + Text, les blocs restent à gauche et tu vois à droite, en direct, le code C++ Arduino que Tinkercad en génère ; modifie un bloc et le texte change aussitôt. Ce mode est la meilleure passerelle entre les blocs et le vrai code. Le mode Text (texte) est celui où tu écris directement en C++, comme dans l'IDE Arduino. Les blocs sont rangés par couleur en Sortie (Output), Entrée (Input), Notation, Contrôle (Control), Maths (Math) et Variables.
| Bloc (ce qu'il fait) | Équivalent en mode Texte |
|---|---|
| Mettre une broche à HIGH ou LOW | digitalWrite(9, HIGH); |
| Attendre un certain temps | delay(1000); |
| Lire une broche numérique | digitalRead(2) |
| Lire une broche analogique | analogRead(A0) |
| Afficher dans le moniteur série | Serial.println(valeur); |
| Tourner un servo à un angle | servo.write(90); (avec la bibliothèque Servo) |
| Répéter, si et sinon | boucle for, if et else |
| Créer et modifier une variable | int compteur = 0; compteur = compteur + 1; |
Premier programme en code texte : bouton, LED et moniteur série
1// Tinkercad ilk program: buton, LED ve Seri Monitör / First Tinkercad sketch: button, LED and Serial Monitor
2const int LED_PIN = 9; // LED + 220 ohm direnç / LED + 220 ohm resistor
3const int BUTON_PIN = 2; // butonun diğer ucu GND'de / other button leg goes to GND
4
5int basmaSayisi = 0; // basma sayacı / press counter
6int oncekiDurum = HIGH; // önceki buton durumu / previous button state
7bool ledAcik = false; // LED durumu / LED state
8
9void setup() {
10 pinMode(LED_PIN, OUTPUT);
11 pinMode(BUTON_PIN, INPUT_PULLUP); // basılınca LOW okunur / reads LOW when pressed
12 Serial.begin(9600);
13 Serial.println("Hazir / Ready");
14}
15
16void loop() {
17 int durum = digitalRead(BUTON_PIN);
18 if (durum != oncekiDurum) { // durum değişti / state changed
19 if (durum == LOW) { // yeni basış / new press
20 basmaSayisi++;
21 ledAcik = !ledAcik; // LED'i tersine çevir / toggle the LED
22 digitalWrite(LED_PIN, ledAcik ? HIGH : LOW);
23 Serial.print("Basma / Presses: ");
24 Serial.println(basmaSayisi);
25 }
26 delay(50); // basma ve bırakmada debounce / debounce on press and release
27 oncekiDurum = durum;
28 }
29}Le bouton est lu avec INPUT_PULLUP : une résistance interne d'environ 20 à 50 kΩ maintient la broche à HIGH, et l'appui la relie à GND, ce qui donne une lecture LOW ; inutile donc d'ajouter une résistance. Le programme ne réagit qu'au passage de HIGH à LOW, c'est-à-dire à un nouvel appui, et inverse l'état de la LED à chaque fois. Après avoir lancé la simulation, clique sur le bouton Serial Monitor en bas du panneau de code, puis clique sur le bouton-poussoir avec la souris : le compteur augmente de un à chaque appui. Pour monter le même circuit sur une vraie carte, vois Brancher un bouton-poussoir sur Arduino.
Moniteur série et graphique : suivre les données d'un capteur
Le grand avantage des capteurs dans Tinkercad, c'est que tu peux changer leurs valeurs à la souris. Pendant la simulation, clique sur le capteur de température TMP36 : un curseur apparaît pour régler la température entre −40 et 125 °C. De la même façon, tu changes la luminosité sur la photorésistance et l'humidité sur le capteur d'humidité du sol ; pour le capteur de distance à ultrasons et le détecteur de mouvement PIR, tu fais glisser la cible qui apparaît devant eux pour imiter une distance ou un mouvement. Le TMP36 fournit 0,5 V à 0 °C et monte de 10 mV par degré, soit 0,75 V à 25 °C. Relie la broche centrale à A1 et les broches extérieures à 5V et GND ; le code suivant lit cette tension et la convertit en degrés Celsius :
1// TMP36 ile sıcaklık: Seri Monitör ve grafik / Temperature with TMP36: Serial Monitor and graph
2const int TMP36_PIN = A1; // TMP36 orta ucu (Vout) / TMP36 middle pin (Vout)
3
4void setup() {
5 Serial.begin(9600);
6}
7
8void loop() {
9 int ham = analogRead(TMP36_PIN); // 0-1023 arası ham değer / raw value 0-1023
10 float volt = ham * 5.0 / 1023.0; // gerilime çevir / convert to volts
11 float sicaklik = (volt - 0.5) * 100.0; // 0,5 V = 0 °C ve 10 mV/°C / 0.5 V = 0 °C and 10 mV/°C
12 Serial.println(sicaklik, 1); // yalnız sayı: grafik için / number only: for the graph
13 delay(500);
14}Moniteur série ouvert, clique sur le bouton graphique du panneau pour voir les nombres reçus sous forme de courbe ; déplace le curseur du capteur et regarde la courbe monter et descendre. Pour un graphique propre, n'affiche que le nombre sur chaque ligne ; si tu ajoutes une étiquette comme « Temp: 24.5 », le graphique peut être faussé ou ne pas s'afficher du tout. Tu peux aussi taper du texte dans la case en bas du moniteur, l'envoyer et le lire dans le code avec Serial.read() : de quoi écrire un programme qui allume une LED depuis le clavier. Tout sur la communication série se trouve dans Moniteur série Arduino.
Mesurer tension, courant et résistance avec le multimètre virtuel
La grande différence entre Tinkercad et l'IDE Arduino, c'est que Tinkercad calcule le circuit électriquement : tu peux donc mesurer comme avec un vrai multimètre. Fais glisser un Multimeter depuis le panneau des composants ; des deux bornes du bas, la noire est le COM (−) et la rouge la borne de mesure (+). Clique sur le multimètre pour choisir le mode de mesure dans le panneau qui s'ouvre ; la valeur s'affiche sur son écran pendant la simulation :
- Tension (Voltage) : Branche les pointes en parallèle sur les deux points à mesurer, par exemple la rouge sur le curseur du potentiomètre et la noire sur GND.
- Courant (Current) : Ouvre le circuit en un point et insère le multimètre en série, par exemple entre D9 et la résistance. Brancher en parallèle un multimètre en mode courant revient à faire un court-circuit.
- Résistance (Resistance) : Débranche du circuit le composant à mesurer, ou laisse-le hors tension, et relie les pointes à ses deux pattes. Dans Tinkercad, les résistances sont dessinées avec de vrais anneaux de couleur ; entraîne-toi à les lire avec l'outil code couleur des résistances.
1// Potansiyometre ile LED parlaklığı ve multimetre karşılaştırması
2// Potentiometer LED brightness and multimeter comparison
3const int POT_PIN = A0; // potansiyometre orta ucu / potentiometer wiper
4const int LED_PIN = 9; // PWM destekli pin / PWM-capable pin
5
6void setup() {
7 pinMode(LED_PIN, OUTPUT);
8 Serial.begin(9600);
9}
10
11void loop() {
12 int ham = analogRead(POT_PIN); // 0-1023
13 float volt = ham * 5.0 / 1023.0; // multimetreyle karşılaştır / compare with the multimeter
14 int parlaklik = map(ham, 0, 1023, 0, 255); // PWM değeri / PWM value
15 analogWrite(LED_PIN, parlaklik);
16
17 Serial.print(ham);
18 Serial.print(" ");
19 Serial.print(volt, 2);
20 Serial.println(" V");
21 delay(300);
22}Pour cette expérience, ajoute un potentiomètre au circuit : ses broches extérieures sur 5V et GND, son curseur sur A0. Bouton exactement au milieu, le multimètre affiche 2,50 V et le moniteur série une valeur brute d'environ 511 et 2,50 V, car 2,5 / 5 × 1023 ≈ 511. Voir les deux valeurs concorder est la meilleure expérience pour comprendre comment analogRead transforme une tension en nombre. Passe maintenant le multimètre en mode courant, insère-le en série entre D9 et la résistance et tourne le potentiomètre à fond : avec une LED rouge et 220 Ω, tu verras environ (5 − 2) / 220 ≈ 14 mA. Tu peux refaire ce calcul avec le calculateur de la loi d'Ohm. Aux positions intermédiaires, D9 délivre un signal PWM qui s'allume et s'éteint sans arrêt ; pour le voir, ajoute un oscilloscope et relie sa pointe rouge à D9 et la noire à GND. Sur la broche 9 de l'Uno, la fréquence PWM est d'environ 490 Hz, et analogWrite(128) trace un signal carré à l'état haut la moitié du temps. Le principe du PWM est expliqué dans Qu'est-ce que le PWM ?.
Exécuter le code pas à pas avec le débogueur
Si ton code ne compile pas, Tinkercad ouvre automatiquement la console d'erreurs sous le panneau de code et met en évidence la ligne fautive ; les messages ressemblent à ceux de l'IDE Arduino. Si le code compile mais se comporte mal, utilise le débogueur (debugger) : en mode Texte, clique sur un numéro de ligne pour poser un point d'arrêt (breakpoint) et lance la simulation. Le programme s'arrête en arrivant sur cette ligne, et si tu survoles une variable avec la souris, tu vois sa valeur à cet instant. Les boutons qui apparaissent au-dessus du panneau de code permettent de passer à la ligne suivante ou de reprendre l'exécution. Pour comprendre pourquoi un bouton est compté deux fois ou pourquoi on n'entre jamais dans un if, c'est bien plus rapide que de semer des Serial.print partout. Nous avons rassemblé la signification des messages de compilation courants dans erreurs de compilation Arduino.
Quels composants Tinkercad propose-t-il, et lesquels manquent ?
| Groupe | Disponible dans Tinkercad | Absent (que prendre à la place ?) |
|---|---|---|
| Cartes | Arduino Uno R3, ATtiny, BBC micro:bit | Arduino Nano et Mega, ESP32, ESP8266, Raspberry Pi Pico (teste avec l'Uno ou utilise Wokwi) |
| Capteurs | Température TMP36, photorésistance, distance à ultrasons (3 et 4 broches), PIR, humidité du sol, gaz, inclinaison, flexion et force, récepteur IR | DHT11, DHT22 et MPU6050 (pour la température, prends le TMP36) |
| Affichage et lumière | LED, LED RVB, LCD 16x2 (parallèle et I2C), afficheur 7 segments, bande et anneau NeoPixel | Écrans OLED (SSD1306) et TFT (essaie un LCD) |
| Moteurs et sorties | Moteur à courant continu, motoréducteur, micro-servo, moteur vibreur, buzzer piézo, relais, pont en H L293D | Module de pilotage moteur L298N (utilise le L293D) |
| Organes d'entrée | Bouton-poussoir, interrupteurs à glissière et DIP, potentiomètre, clavier 4x4, télécommande IR | Lecteur RFID RC522 et capteur d'empreintes |
| Circuits intégrés et composants de base | Résistance, condensateur, bobine, diode, Zener, transistors NPN et PNP, MOSFET, 555, 74HC595, portes logiques, ampli op LM741, régulateur 7805 | Presque tous les composants de base sont là |
| Communication | Relier plusieurs Uno en série (TX/RX) et en I2C | Modules Wi-Fi, Bluetooth (HC-05), nRF24L01 et GSM |
| Mesure et alimentation | Multimètre, oscilloscope, générateur de fonctions, alimentation, piles 9 V, AA et boutons | La décharge des piles dans le temps et l'échauffement des composants |




Pour ajouter une bibliothèque, clique sur le bouton des bibliothèques (l'icône de boîte à fichiers) dans le panneau de code ; quand tu choisis l'une des onze bibliothèques environ de la liste, la ligne #include est ajoutée en haut du code. Si tu écris une bibliothèque absente de la liste, comme DHT.h, le compilateur signale qu'il ne trouve pas le fichier ; on ne peut pas importer de bibliothèques externes dans Tinkercad. Pour de petites bibliothèques, tu peux coller le contenu des fichiers .h et .cpp directement dans ton code, mais la bibliothèque d'un composant qui n'existe pas dans Tinkercad ne fonctionnera pas pour autant. Autre détail important : dans les exemples, le LCD I2C de Tinkercad est piloté par la bibliothèque Adafruit_LiquidCrystal, alors que les modules à PCF8574 du commerce fonctionnent en général avec LiquidCrystal_I2C et l'adresse 0x27 ou 0x3F. En passant à une vraie carte, il faudra modifier ces lignes ; les détails sont dans écran LCD I2C.
Limites de la simulation : les différences avec un vrai circuit
- Timing : La simulation tourne dans le navigateur ; avec un circuit chargé ou un ordinateur lent, elle peut aller moins vite que le temps réel. Dans ce cas, delay(1000) dure plus d'une seconde à l'écran, tandis que millis() compte l'horloge propre de la simulation.
- Composants idéaux : Dans Tinkercad, les boutons ne rebondissent pas, les fils ne se débranchent jamais et les lectures analogiques sont moins bruitées que dans un vrai circuit. Sur une vraie carte, il faut un anti-rebond et faire la moyenne de plusieurs mesures.
- Limites d'alimentation : Un moteur ou beaucoup de LED qui fonctionnent sans souci en simulation peuvent faire redémarrer un vrai Arduino ou chauffer son régulateur. Prends l'habitude de ne pas tirer plus d'environ 20 mA d'une broche et d'alimenter les moteurs avec une source séparée.
- Avoir l'air branché n'est pas être branché : Si une patte est mal enfoncée dans un trou de la breadboard, le fil semble relié mais le circuit ne marche pas. Survole le trou et vérifie que les trous reliés de la même rangée sont mis en évidence.
- Un seul fichier, peu de bibliothèques : Le code tient dans un seul onglet et on ne peut pas ajouter de bibliothèques externes, ce qui complique l'organisation des gros projets.
- Caractères accentués : Le moniteur série ne gère pas complètement l'UTF-8, donc é, è ou ç peuvent s'afficher de travers. Le plus sûr est de les éviter dans les sorties série.
- Pas de sans-fil : Le Wi-Fi, le Bluetooth et Internet ne sont pas simulés ; Tinkercad ne convient donc pas aux projets d'Internet des objets (IoT).
Tinkercad Classrooms pour les enseignants
- Indique le rôle enseignant lors de l'inscription ou dans les paramètres du profil ; les fonctions de classe sont disponibles sur les comptes enseignants.
- Va sur la page Classes depuis le menu du haut et crée une classe avec Create new class en indiquant son nom, l'âge ou le niveau et la matière.
- Avec Add Students, saisis les noms de tes élèves ; Tinkercad génère pour chacun un pseudo unique dans la classe. Plutôt que de taper de longues listes une à une, tu peux les coller ; une classe accueille jusqu'à 250 élèves.
- Affiche le code et le lien de la classe avec le bouton Class Code. Les élèves rejoignent la classe en ouvrant le lien et en saisissant leur pseudo, ou en entrant le code via Join Class sur tinkercad.com ; ni e-mail ni mot de passe ne sont nécessaires.
- Suis le travail de tes élèves dans l'onglet Designs de la page de la classe ; clique sur le nom d'un élève pour ouvrir et modifier ses projets.
Les classes s'ouvrent par défaut en mode sécurisé (Safe Mode) : les élèves ne peuvent pas rendre leurs projets publics, ni chercher dans la galerie, ni voir les commentaires. Pour préparer tes cours, tu peux t'appuyer sur les leçons Arduino interactives de la section Learn de Tinkercad et sur les circuits Starters. Une méthode répandue consiste à partager un circuit d'exemple que les élèves copient puis modifient. Si la classe dispose de kits réels, monter d'abord le circuit dans Tinkercad puis le refaire avec de vrais composants réduit nettement le nombre de LED à l'envers et de cartes mal alimentées.
Passer de Tinkercad à un vrai Arduino
- Enregistre le code sur ton ordinateur en fichier .ino avec le bouton de téléchargement du panneau de code, ou copie le texte.
- Ouvre le fichier dans l'IDE Arduino ; si l'IDE propose de le déplacer dans un dossier du même nom, accepte. Si l'IDE n'est pas encore installé, consulte le guide installer l'IDE Arduino.
- Choisis Arduino Uno dans Outils > Type de carte et le port de ta carte dans Port, puis clique sur Téléverser. Si le téléversement échoue, suis les étapes de erreur de téléversement Arduino.
- Monte le circuit avec les mêmes broches en suivant ton dessin Tinkercad ; garder la vue schématique ouverte sur un second écran facilite le travail.
- Corrige les différences que la simulation ne montre pas : ajoute un anti-rebond logiciel aux boutons, change la bibliothèque et l'adresse du LCD I2C et, si tu utilises un autre capteur que le TMP36, par exemple le DHT11, adapte le code.
ESP32 et Raspberry Pi Pico : Tinkercad ou Wokwi ?
Tinkercad ne propose ni ESP32 ni Raspberry Pi Pico, et ne simule ni le Wi-Fi ni MicroPython. Pour ces cartes, tu peux utiliser Wokwi, un autre simulateur qui tourne lui aussi dans le navigateur. En plus de l'Arduino Uno, du Mega et du Nano, Wokwi prend en charge la famille ESP32 et le Pico, connecte l'ESP32 à un réseau Wi-Fi virtuel et te permet d'utiliser la plupart des bibliothèques du gestionnaire de bibliothèques Arduino. En revanche, Wokwi ne calcule pas le circuit électriquement : changer la valeur d'une résistance ne modifie pas le courant de la LED et, au lieu d'un multimètre qui mesure tension et courant, il propose un analyseur logique pour les signaux numériques. En bref, le plus efficace est d'apprendre les bases de l'électronique dans Tinkercad et de tester le code ESP32 et Pico dans Wokwi. Pour un guide détaillé, vois simulateur Wokwi.
| Caractéristique | Tinkercad Circuits | Wokwi |
|---|---|---|
| Cartes | Arduino Uno R3, ATtiny, micro:bit | Uno, Mega, Nano, famille ESP32, Raspberry Pi Pico, STM32 et d'autres |
| Simulation électrique (courant, tension) | Oui ; multimètre et oscilloscope | Très limitée ; analyseur logique disponible |
| Programmation par blocs | Oui | Non |
| Bibliothèques | Environ 11 bibliothèques intégrées | La plupart de celles du gestionnaire de bibliothèques |
| Wi-Fi et Internet | Non | Oui, avec l'ESP32 et le Pico W |
| MicroPython | Non | Oui, sur le Pico et l'ESP32 |
| Compte | Obligatoire | Inutile pour essayer ; connexion requise pour enregistrer |
| Idéal pour | Bases de l'électronique, cours en classe, premiers pas avec Arduino | ESP32, Pico, IoT et projets riches en bibliothèques |
Voici la version MicroPython du programme bouton et LED pour le Raspberry Pi Pico. Avec les liaisons GP14 et GP2 du tableau des broches, tu peux l'exécuter dans Wokwi ou sur un vrai Pico avec Thonny. Sur l'ESP32, tu reprends le code Arduino tel quel en mettant simplement LED_PIN à 18 et BUTON_PIN à 4. Pour débuter avec le Pico, lis Qu'est-ce que le Raspberry Pi Pico ?, et pour l'ESP32, Qu'est-ce que l'ESP32 ?.
1# Aynı program Raspberry Pi Pico'da (MicroPython) / The same program on Raspberry Pi Pico (MicroPython)
2from machine import Pin
3import time
4
5led = Pin(14, Pin.OUT) # LED + 220 ohm direnç / LED + 220 ohm resistor
6buton = Pin(2, Pin.IN, Pin.PULL_UP) # butonun diğer ucu GND'de / other button leg goes to GND
7
8basma = 0 # basma sayacı / press counter
9onceki = 1 # önceki buton durumu / previous button state
10
11while True:
12 durum = buton.value()
13 if durum != onceki: # durum değişti / state changed
14 if durum == 0: # yeni basış / new press
15 basma += 1
16 led.toggle() # LED'i tersine çevir / toggle the LED
17 print("Basma / Presses:", basma)
18 time.sleep_ms(50) # basma ve bırakmada debounce / debounce on press and release
19 onceki = durum
20 time.sleep_ms(5)Idées de projets à essayer dans Tinkercad
- Feu tricolore : Un carrefour avec trois LED et un bouton piéton ; le montage pas à pas est dans feu tricolore Arduino.
- Veilleuse : Une LED qui s'allume quand il fait sombre ; l'utilisation de la photorésistance sur une vraie carte est expliquée dans capteur de lumière LDR.
- Radar de recul : Un capteur à ultrasons et un buzzer piézo qui bipe plus vite quand on approche ; le principe de mesure est dans capteur de distance HC-SR04.
- Commande de servo : Règle l'angle d'un servo avec un potentiomètre ; le code de servomoteur fonctionne aussi dans Tinkercad.
- Serrure à code : Une serrure avec clavier 4x4, LCD et servo ; la bibliothèque Keypad utilisée dans l'article clavier matriciel existe aussi dans Tinkercad.
- Beaucoup de LED avec peu de broches : Pilote 8 LED depuis 3 broches avec un registre à décalage 74HC595 ; les détails sont dans 74HC595.
- Deux Arduino qui dialoguent : Croise les lignes TX et RX de deux Uno et envoie des messages de l'un à l'autre ; Tinkercad simule plusieurs cartes à la fois.
- Clignotant au 555 : Monte une LED clignotante sans microcontrôleur et mesure la fréquence à l'oscilloscope ; le calcul est dans temporisateur 555.
Erreurs fréquentes et solutions
| Symptôme | Cause probable | Solution |
|---|---|---|
| La LED ne s'allume pas | LED à l'envers ou ses deux pattes dans la même rangée de la breadboard | La patte pliée (anode) va vers la résistance ; place les pattes dans des rangées différentes |
| La LED est très faible | Résistance réglée sur 220 kΩ au lieu de 220 Ω, ou restée à 1 kΩ par défaut | Sélectionne la résistance et vérifie la valeur et l'unité |
| Avertissement ou icône d'explosion sur la LED | Pas de résistance, courant supérieur à 20 mA | Ajoute une résistance de 220 à 330 Ω en série avec la LED |
| Le moniteur série reste vide | Pas de Serial.begin() ou moniteur non ouvert | Ajoute Serial.begin(9600) dans setup() et ouvre le Serial Monitor pendant la simulation |
| Le graphique n'affiche rien | Du texte est envoyé à côté du nombre | N'envoie que le nombre avec Serial.println() |
| Erreur de compilation : bibliothèque introuvable | Une bibliothèque absente de Tinkercad (comme DHT.h) a été incluse | Utilise une bibliothèque de la liste ou un composant équivalent |
| Le bouton fonctionne à l'envers | Avec INPUT_PULLUP, la broche lit LOW quand on appuie | Écris la condition pour LOW ou utilise une résistance de pull-down externe |
| La simulation est très lente | Beaucoup de composants, une longue bande NeoPixel ou des Serial.print trop fréquents | Simplifie le circuit, ajoute un court delay dans la boucle, ferme les autres onglets |
Tinkercad est le meilleur point de départ pour apprendre Arduino gratuitement et sans risque : tu montes le circuit, tu le mesures, tu suis le code pas à pas et, quand tu es prêt, tu téléverses le même code sur une vraie carte. Chaque circuit qui fonctionne en simulation rend aussi ton premier essai sur la table plus facile. Dans l'application BlueGrays, tu trouveras de nombreux projets avec schémas et code pas à pas, de la première LED et du feu tricolore aux projets avec boutons et LDR, en passant par la mesure de distance avec le HC-SR04 et la communication entre deux Arduino ; de quoi refaire avec de vrais composants les circuits montés dans Tinkercad. Pour plus d'inspiration, jette un œil à notre liste d'idées de projets Arduino.
Questions fréquentes
Tinkercad est-il gratuit ?
Oui. Tous les outils Tinkercad, y compris Tinkercad Circuits, sont gratuits ; il suffit d'un compte Autodesk. Les élèves peuvent aussi rejoindre une classe sans adresse e-mail grâce au code de leur enseignant. Rien à installer : un navigateur récent et une connexion Internet suffisent.
Peut-on utiliser l'ESP32 ou le Raspberry Pi Pico dans Tinkercad ?
Non. Les seules cartes programmables de Tinkercad sont l'Arduino Uno R3, l'ATtiny et la BBC micro:bit. Pour simuler l'ESP32, l'ESP8266 ou le Raspberry Pi Pico, tu peux utiliser Wokwi, qui gère aussi le Wi-Fi de l'ESP32 et MicroPython sur le Pico.
Peut-on ajouter des bibliothèques dans Tinkercad et utiliser un DHT11 ?
On ne peut pas importer de bibliothèques externes dans Tinkercad ; seules les quelque onze bibliothèques de la liste du panneau de code sont disponibles, comme Servo, LiquidCrystal, Adafruit NeoPixel, IRremote et Keypad. Les capteurs DHT11 et DHT22 ne figurent pas non plus dans la liste des composants. Pour mesurer une température, utilise le capteur TMP36 avec analogRead.
Le code Tinkercad fonctionne-t-il sur un vrai Arduino ?
Oui, car Tinkercad compile du code C++ Arduino standard. Télécharge le fichier .ino depuis le panneau de code, ouvre-le dans l'IDE Arduino et téléverse-le sur ta carte. Il faudra peut-être seulement remplacer les bibliothèques propres à Tinkercad (comme Adafruit_LiquidCrystal pour le LCD I2C) par celle de ton vrai module et ajouter un anti-rebond aux boutons.
Lequel est le meilleur, Tinkercad ou Wokwi ?
Chacun excelle dans un domaine. Tinkercad calcule le circuit électriquement et propose un multimètre et la programmation par blocs : il convient mieux aux bases de l'électronique et aux cours. Wokwi se distingue pour les projets avancés et IoT grâce à l'ESP32, au Pico, au Wi-Fi et à son large choix de bibliothèques.
Comment un élève se connecte-t-il à Tinkercad ?
Ton enseignant te donne un lien de classe, ou un code de classe et un pseudo. Ouvre le lien et tape ton pseudo, ou clique sur Join Class sur tinkercad.com et saisis d'abord le code, puis le pseudo. Aucun e-mail ni mot de passe n'est nécessaire ; si tu as déjà ton propre compte, connecte-toi et rejoins la classe depuis ton tableau de bord.
Projets à réaliser après cet article
Voir tous les projets
Clignotement d'une LED
Projet d'entrée basique qui allume et éteint une seule LED à certains intervalles avec Arduino. Enseigne l'utilisation des fonctions digitalWrite et delay.

Feu de circulation
Projet qui simule un vrai feu de circulation avec des DEL rouges, jaunes et vertes. Enseigne la synchronisation et la logique de contrôle séquentielle.

Allumer une LED avec un bouton-poussoir (Push)
Projet de commande instantanée (push) qui allume la LED lorsque le bouton est pressé et l'éteint lorsqu'il est relâché. Enseigne l'utilisation de la lecture de bouton et de l'expression conditionnelle

Mesurer l'intensité lumineuse avec une LDR
Projet qui mesure l'intensité de la lumière ambiante à l'aide d'un capteur LDR et l'affiche sur un moniteur série. Enseigne les bases de la lecture de capteurs analogiques et de la communication série

Utilisation du buzzer
Projet de base qui utilise un buzzer pour émettre un son à une certaine fréquence et à certains intervalles. Il enseigne l'utilisation des fonctions tone() et noTone().

HC-SR04 Mesure de la distance (affichage en série)
Le capteur ultrasonique HC-SR04 permet de mesurer la distance et d'afficher le résultat en cm sur le moniteur série. Il enseigne le principe du calcul de la distance à l'aide d'une onde sonore.

Utilisation du servomoteur
Projet d'utilisation de base qui positionne le servomoteur à des angles de 0°, 90° et 180° dans l'ordre. Enseigne la bibliothèque des servos et la logique de contrôle des angles.

Communication unidirectionnelle entre 2 Arduino
Un projet de transfert de données unidirectionnel entre deux Arduinos via une communication série. Il détecte la pression d'un bouton du côté de l'émetteur et apprend à contrôler la LED du côté du réc

