Tinkercad Arduino: guida al simulatore con circuiti e codice
Tinkercad Arduino passo passo: account, circuiti con LED e sensori su breadboard, codice a blocchi e testo, monitor seriale, multimetro virtuale e Wokwi.
Simulare Arduino con Tinkercad è il modo più semplice per montare un circuito e far girare il suo codice prima ancora di avere un solo componente. In Tinkercad Circuits, lo strumento gratuito di Autodesk che funziona nel browser, colleghi un Arduino Uno a una breadboard virtuale, aggiungi LED, resistenze, pulsanti e sensori, scrivi il codice e premi Start Simulation (avvia simulazione): il LED si accende, il servo gira e i dati compaiono nel monitor seriale. Nessun LED si brucia e nessuna scheda si rovina per un collegamento sbagliato, perché tutto avviene sullo schermo. Per questo tanti corsi di Arduino a scuola iniziano con Tinkercad.
In questa guida partirai creando un account, monterai il tuo primo circuito sulla breadboard, vedrai la differenza tra codice a blocchi e codice in testo, seguirai i dati di un sensore nel monitor seriale e nel suo grafico e misurerai tensione, corrente e resistenza con il multimetro virtuale. Poi scoprirai le classi per gli insegnanti, quali componenti ha Tinkercad e quali no, dove la simulazione si discosta da un circuito reale e perché per ESP32 e Raspberry Pi Pico conviene passare a Wokwi.

Che cos'è Tinkercad Circuits e come funziona?
Tinkercad è l'app web gratuita di Autodesk che riunisce progettazione 3D, elettronica e programmazione. La sua sezione di elettronica, Circuits, è l'erede di 123D Circuits, chiuso nel 2017, e funziona senza installare nulla in qualsiasi browser aggiornato. I tuoi progetti vengono salvati nel cloud, così puoi continuare a casa un circuito iniziato sul computer della scuola. Tinkercad non si limita a eseguire il codice: calcola anche il comportamento elettrico del circuito, cioè la corrente che attraversa una resistenza, la tensione ai capi di un LED, il potenziale in qualsiasi punto. Le schede programmabili sono l'Arduino Uno R3, l'ATtiny e la BBC micro:bit. Il tuo codice Arduino viene compilato come con il vero compilatore Arduino ed eseguito su un ATmega328P virtuale; per questo il codice che funziona in Tinkercad funziona anche su una scheda reale.
| Caratteristica | Tinkercad Circuits |
|---|---|
| Prezzo | Gratuito (serve un account Autodesk) |
| Installazione | Nessuna; funziona nel browser e i progetti restano nel cloud |
| Schede programmabili | Arduino Uno R3, ATtiny, BBC micro:bit |
| Programmazione | Blocchi, Blocchi + Testo, Testo (Arduino C++) |
| Librerie incluse | Circa 11: Servo, LiquidCrystal, Adafruit NeoPixel, IRremote, Keypad, Wire, SoftwareSerial, EEPROM e altre |
| Strumenti di misura | Multimetro, oscilloscopio, generatore di funzioni, alimentatore regolabile |
| Esempi pronti | Starters: circuiti di base, Arduino e micro:bit |
| Gestione della classe | Tinkercad Classrooms, fino a 250 studenti per classe |
| Passaggio alla scheda reale | Scaricare il codice come file .ino e caricarlo con l'Arduino IDE |
Come si crea un account Tinkercad?
- Apri tinkercad.com nel browser e fai clic sul pulsante Sign Up (registrati) in alto a destra.
- Scegli il percorso adatto a te: un account personale se impari da solo, un account da insegnante (Educators) se fai lezione, oppure Join Class (unisciti a una classe) se il tuo insegnante ti ha dato un codice classe.
- Per un account personale continua con il tuo indirizzo e-mail o con il tuo account Google. Un account Tinkercad è in realtà un account Autodesk, quindi puoi usare le stesse credenziali anche per gli altri servizi Autodesk.
- Dopo l'accesso, apri la sezione Circuits dal menu a sinistra della dashboard e avvia un nuovo circuito con il pulsante Create (crea).
- Il progetto viene salvato automaticamente. Tinkercad gli assegna un nome casuale e buffo; fai clic sul nome in alto a sinistra e scrivi qualcosa di chiaro come "LED e pulsante", così lo ritroverai facilmente.
Per gli studenti sotto i 13 anni la strada più semplice è accedere con il codice classe e il nickname forniti dall'insegnante: non servono e-mail né password. Lo studente fa clic su Join Class su tinkercad.com, inserisce il codice e poi il nickname che gli è stato assegnato. Agli utenti più giovani che vogliono un account personale può essere chiesto il consenso di un genitore durante la registrazione. I dettagli sugli account per insegnanti si trovano più sotto, in una sezione dedicata.
Conoscere l'interfaccia: area di lavoro, componenti e scorciatoie
L'editor dei circuiti ha una grande area di lavoro a sinistra e il pannello dei componenti a destra. Di default il pannello mostra i componenti di base più usati (Basic Components); per vederli tutti scegli All Components dal menu a tendina oppure scrivi un nome come "servo" o "ultrasonic" nella casella di ricerca. Più in basso, nella sezione Starters, ci sono circa due dozzine di circuiti Arduino già pronti. Trascinarne uno nell'area di lavoro, avviare la simulazione e leggerne il codice è il modo più rapido per imparare un componente nuovo. Con i pulsanti della barra in alto passi dalla vista del circuito alla vista schematica, disegnata automaticamente, e all'elenco dei componenti.
| Scorciatoia | Cosa fa |
|---|---|
| F | Adatta l'intero circuito allo schermo (Zoom to fit) |
| R | Ruota il componente selezionato |
| N e Maiusc + N | Aggiunge una nota; nasconde o mostra le note |
| Tasti numerici 0–9 | Cambiano il colore del filo selezionato |
| Maiusc + clic | Seleziona più componenti insieme |
| Rotellina del mouse | Ingrandisce e rimpicciolisce la vista |
| Canc | Elimina il componente o il filo selezionato |
Primo circuito: LED, resistenza e pulsante sulla breadboard

- Trascina un Arduino Uno R3 e una breadboard dal pannello dei componenti e mettili uno accanto all'altra. Se non sai come è collegata internamente una breadboard, leggi prima Che cos'è una breadboard?.
- Inserisci un LED nella breadboard. Nel LED di Tinkercad la gamba piegata è l'anodo (+) e quella dritta il catodo (−); passando il mouse su una gamba, Tinkercad ne mostra il nome. Con il LED selezionato puoi cambiarne il colore nel pannello che si apre.
- Aggiungi una resistenza e collegala in serie all'anodo del LED. Con la resistenza selezionata, imposta nel pannello il valore 220 e l'unità Ω; il valore predefinito è 1 kΩ. Il valore giusto per il tuo LED lo trovi con il calcolatore della resistenza per LED.
- Posiziona un pulsante (Pushbutton) a cavallo della scanalatura centrale della breadboard, così le gambe opposte restano separate.
- Per tirare un filo fai clic su un pin o su un foro e poi sulla destinazione; fai clic su punti liberi lungo il percorso per piegarlo. Collega l'estremità libera della resistenza a D9, il catodo del LED a GND, una gamba del pulsante a D2 e la gamba opposta in diagonale a GND.
- Colora i fili: alimentazione in rosso e massa in nero rendono molto più facile trovare gli errori. Poi scrivi il codice qui sotto e premi Start Simulation.
| Collegamento | Arduino Uno (Tinkercad) | ESP32 | Raspberry Pi Pico |
|---|---|---|---|
| Anodo del LED (tramite 220 Ω) | D9 | GPIO 18 | GP14 |
| Catodo del LED | GND | GND | GND |
| Pulsante (l'altra gamba a GND) | D2 | GPIO 4 | GP2 |
| Cursore del potenziometro | A0 | GPIO 34 | GP26 (ADC0) |
| Pin centrale del TMP36 (Vout) | A1 | GPIO 35 | GP27 (ADC1) |
| Alimentazione di potenziometro e TMP36 | 5V e GND | 3V3 e GND | 3V3(OUT) e GND |
Scrivere il codice: modalità Blocchi, Blocchi + Testo e Testo
Il pulsante Code in alto a destra apre il pannello del codice. Il menu a tendina in cima al pannello offre tre modalità. In modalità Blocks (blocchi) trascini e incastri blocchi colorati in stile Scratch, quindi è impossibile dimenticare un punto e virgola o fare un errore di battitura. In modalità Blocks + Text i blocchi restano a sinistra e a destra vedi in tempo reale il codice C++ Arduino che Tinkercad ne ricava; cambi un blocco e il testo cambia subito. Questa modalità è il ponte migliore tra i blocchi e il codice vero. La modalità Text (testo) è quella in cui scrivi direttamente in C++, come nell'Arduino IDE. I blocchi sono divisi per colore in Uscita (Output), Ingresso (Input), Annotazioni (Notation), Controllo (Control), Matematica (Math) e Variabili (Variables).
| Blocco (cosa fa) | Equivalente in modalità Testo |
|---|---|
| Portare un pin a HIGH o LOW | digitalWrite(9, HIGH); |
| Attendere un certo tempo | delay(1000); |
| Leggere un pin digitale | digitalRead(2) |
| Leggere un pin analogico | analogRead(A0) |
| Stampare sul monitor seriale | Serial.println(valore); |
| Ruotare un servo a un angolo | servo.write(90); (con la libreria Servo) |
| Ripeti, se e altrimenti | ciclo for, if ed else |
| Creare e modificare una variabile | int contatore = 0; contatore = contatore + 1; |
Primo programma in codice testuale: pulsante, LED e monitor seriale
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}Il pulsante viene letto con INPUT_PULLUP: una resistenza interna di circa 20–50 kΩ tiene il pin a HIGH e, premendo, il pin viene portato a GND e si legge LOW, quindi non serve un'altra resistenza. Il programma reagisce solo al passaggio da HIGH a LOW, cioè a una nuova pressione, e inverte lo stato del LED ogni volta. Dopo aver avviato la simulazione, fai clic sul pulsante Serial Monitor in fondo al pannello del codice e poi premi il pulsante con il mouse: il contatore aumenta di uno a ogni pressione. I dettagli per montare lo stesso circuito su una scheda reale sono in Come collegare un pulsante ad Arduino.
Monitor seriale e grafico: seguire i dati di un sensore
La cosa più bella dei sensori in Tinkercad è che puoi cambiarne i valori con il mouse. Con la simulazione in corso, fai clic sul sensore di temperatura TMP36: compare un cursore per impostare la temperatura tra −40 e 125 °C. Allo stesso modo cambi la luce sulla fotoresistenza e l'umidità sul sensore di umidità del terreno; per il sensore di distanza a ultrasuoni e il sensore di movimento PIR trascini il bersaglio che appare davanti a loro per simulare distanza o movimento. Il TMP36 fornisce 0,5 V a 0 °C e sale di 10 mV per grado, quindi a 25 °C dà 0,75 V. Collega il pin centrale ad A1 e quelli esterni a 5V e GND; il codice seguente legge questa tensione e la converte in gradi 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}Con il monitor seriale aperto, premi il pulsante del grafico nel pannello per vedere i numeri in arrivo come grafico a linee; muovi il cursore del sensore e guarda la curva salire e scendere. Perché il grafico venga disegnato bene, stampa solo il numero su ogni riga; se aggiungi un'etichetta come "Temp: 24.5", il grafico può risultare errato o non comparire affatto. Puoi anche scrivere del testo nella casella in fondo al monitor, inviarlo e leggerlo nel codice con Serial.read(): così potresti scrivere un programma che accende un LED dalla tastiera. Tutto sulla comunicazione seriale lo trovi in Monitor seriale di Arduino.
Misurare tensione, corrente e resistenza con il multimetro virtuale
La grande differenza tra Tinkercad e l'Arduino IDE è che Tinkercad calcola il circuito dal punto di vista elettrico, quindi puoi misurare come con un vero multimetro. Trascina un Multimeter dal pannello dei componenti; dei due morsetti in basso, quello nero è il COM (−) e quello rosso il morsetto di misura (+). Fai clic sul multimetro per scegliere la modalità di misura nel pannello che si apre; il valore compare sul display mentre la simulazione è in corso:
- Tensione (Voltage): Collega i puntali in parallelo ai due punti da misurare, per esempio quello rosso al cursore del potenziometro e quello nero a GND.
- Corrente (Current): Apri il circuito in un punto e inserisci il multimetro in serie, per esempio tra D9 e la resistenza. Collegare in parallelo un multimetro in modalità corrente equivale a creare un cortocircuito.
- Resistenza (Resistance): Scollega dal circuito il componente da misurare, oppure lascialo senza alimentazione, e collega i puntali alle sue due gambe. In Tinkercad le resistenze sono disegnate con le vere fasce colorate; puoi esercitarti a leggerle con lo strumento codice colori delle resistenze.
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}Per questo esperimento aggiungi al circuito un potenziometro: i terminali esterni a 5V e GND, il cursore ad A0. Con la manopola esattamente a metà, il multimetro segna 2,50 V e il monitor seriale mostra un valore grezzo intorno a 511 e 2,50 V, perché 2,5 / 5 × 1023 ≈ 511. Vedere i due valori coincidere è il miglior esperimento per capire come analogRead trasforma una tensione in un numero. Ora porta il multimetro in modalità corrente, inseriscilo in serie tra D9 e la resistenza e gira il potenziometro al massimo: con un LED rosso e 220 Ω vedrai circa (5 − 2) / 220 ≈ 14 mA. Puoi rifare il calcolo con il calcolatore della legge di Ohm. Nelle posizioni intermedie D9 emette un segnale PWM che si accende e si spegne di continuo; per vederlo aggiungi un oscilloscopio e collega il puntale rosso a D9 e quello nero a GND. Sul pin 9 dell'Uno la frequenza PWM è di circa 490 Hz, e analogWrite(128) disegna un'onda quadra alta per metà del tempo. Il principio del PWM è spiegato in Che cos'è il PWM?.
Eseguire il codice passo passo con il debugger
Se il codice non compila, Tinkercad apre da solo la console degli errori sotto il pannello del codice ed evidenzia la riga problematica; i messaggi sono simili a quelli dell'Arduino IDE. Se il codice compila ma si comporta in modo sbagliato, usa il debugger: in modalità Testo fai clic su un numero di riga per impostare un punto di interruzione (breakpoint) e avvia la simulazione. Il programma si ferma quando arriva a quella riga e, passando il mouse su una variabile, ne vedi il valore in quel momento. Con i pulsanti che compaiono sopra il pannello del codice passi alla riga successiva o fai ripartire il programma. Per capire perché un pulsante viene contato due volte o perché non si entra mai in un if, è molto più veloce che riempire il codice di Serial.print. Abbiamo raccolto il significato dei messaggi di compilazione più comuni in errori di compilazione Arduino.
Quali componenti ha Tinkercad e quali mancano?
| Gruppo | Presenti in Tinkercad | Assenti (cosa usare al loro posto) |
|---|---|---|
| Schede | Arduino Uno R3, ATtiny, BBC micro:bit | Arduino Nano e Mega, ESP32, ESP8266, Raspberry Pi Pico (prova con l'Uno o usa Wokwi) |
| Sensori | Temperatura TMP36, fotoresistenza, distanza a ultrasuoni (3 e 4 pin), PIR, umidità del terreno, gas, inclinazione, flessione e forza, ricevitore IR | DHT11, DHT22 e MPU6050 (per la temperatura usa il TMP36) |
| Display e luce | LED, LED RGB, LCD 16x2 (parallelo e I2C), display a 7 segmenti, striscia e anello NeoPixel | Display OLED (SSD1306) e TFT (prova con un LCD) |
| Motori e uscite | Motore DC, motoriduttore, microservo, motore a vibrazione, buzzer piezo, relè, ponte H L293D | Modulo driver per motori L298N (usa l'L293D) |
| Elementi di ingresso | Pulsante, interruttori a slitta e DIP, potenziometro, tastierino 4x4, telecomando IR | Lettore RFID RC522 e sensore di impronte digitali |
| Integrati e componenti di base | Resistenza, condensatore, induttore, diodo, Zener, transistor NPN e PNP, MOSFET, 555, 74HC595, porte logiche, amplificatore operazionale LM741, regolatore 7805 | Ci sono quasi tutti i componenti di base |
| Comunicazione | Collegare più Uno via seriale (TX/RX) e I2C | Moduli Wi-Fi, Bluetooth (HC-05), nRF24L01 e GSM |
| Misura e alimentazione | Multimetro, oscilloscopio, generatore di funzioni, alimentatore, batterie da 9 V, AA e a bottone | La scarica delle batterie nel tempo e il riscaldamento dei componenti |




Per aggiungere una libreria premi il pulsante delle librerie (l'icona di una scatola di file) nel pannello del codice; scegliendo una delle circa undici librerie dell'elenco, la riga #include viene aggiunta in cima al codice. Se scrivi una libreria che non è nell'elenco, come DHT.h, il compilatore segnala che non trova il file; in Tinkercad non si possono caricare librerie esterne. Con librerie piccole puoi incollare il contenuto dei file .h e .cpp direttamente nel codice, ma la libreria di un componente che in Tinkercad non esiste non funzionerà nemmeno così. Un altro dettaglio importante: negli esempi l'LCD I2C di Tinkercad è pilotato dalla libreria Adafruit_LiquidCrystal, mentre i moduli con PCF8574 in commercio di solito funzionano con LiquidCrystal_I2C e l'indirizzo 0x27 o 0x3F. Passando a una scheda reale dovrai cambiare queste righe; i dettagli sono in display LCD I2C.
Limiti della simulazione: le differenze rispetto a un circuito reale
- Tempi: La simulazione gira nel browser; con un circuito affollato o un computer lento può andare più piano del tempo reale. In quel caso delay(1000) dura più di un secondo sullo schermo, mentre millis() conta l'orologio interno della simulazione.
- Componenti ideali: In Tinkercad i pulsanti non rimbalzano, i fili non si allentano e le letture analogiche sono meno rumorose che in un circuito reale. Su una scheda vera servono il debounce e la media di più letture.
- Limiti di alimentazione: Un motore o tanti LED che in simulazione funzionano senza problemi possono far resettare un Arduino vero o surriscaldare il suo regolatore. Prendi come regola di non chiedere più di circa 20 mA a un pin e di alimentare i motori con una sorgente separata.
- Sembrare collegato non vuol dire esserlo: Se una gamba non entra bene in un foro della breadboard, il filo sembra collegato ma il circuito non funziona. Passa il mouse sul foro e controlla che i fori collegati della stessa fila vengano evidenziati.
- Un solo file, poche librerie: Il codice sta in una sola scheda dell'editor e non si possono aggiungere librerie esterne, il che rende difficile organizzare progetti grandi.
- Caratteri accentati: Il monitor seriale non supporta del tutto l'UTF-8, quindi à, è o ù possono apparire storpiati. La scelta più sicura è evitarli nell'output seriale.
- Niente wireless: Wi-Fi, Bluetooth e internet non vengono simulati; per i progetti di Internet delle cose (IoT) Tinkercad non è adatto.
Tinkercad Classrooms per gli insegnanti
- Imposta il tuo ruolo come insegnante durante la registrazione o nelle impostazioni del profilo; le funzioni per le classi sono disponibili negli account da insegnante.
- Vai alla pagina Classes dal menu in alto e crea una classe con Create new class, indicando nome, età o livello scolastico e materia.
- Con Add Students scrivi i nomi degli studenti; Tinkercad genera per ciascuno un nickname unico all'interno della classe. Invece di digitare lunghi elenchi uno per uno puoi incollarli; una classe può contenere fino a 250 studenti.
- Mostra il codice e il link della classe con il pulsante Class Code. Gli studenti si uniscono aprendo il link e scrivendo il loro nickname, oppure inserendo il codice tramite Join Class su tinkercad.com; non servono e-mail né password.
- Segui il lavoro degli studenti nella scheda Designs della pagina della classe; fai clic sul nome di uno studente per aprire e modificare i suoi progetti.
Le classi partono di default in modalità sicura (Safe Mode): gli studenti non possono rendere pubblici i progetti, cercare nella galleria o vedere i commenti. Per preparare le lezioni puoi sfruttare le lezioni interattive di Arduino nella sezione Learn di Tinkercad e i circuiti Starters. Un metodo diffuso è che l'insegnante condivida un circuito di esempio e che gli studenti lo copino e lo modifichino. Se in classe ci sono kit reali, montare prima il circuito in Tinkercad e poi ripeterlo con i componenti veri riduce nettamente i LED montati al contrario e le schede alimentate male.
Da Tinkercad a un Arduino reale
- Salva il codice sul computer come file .ino con il pulsante di download del pannello del codice, oppure copia il testo.
- Apri il file nell'Arduino IDE; se l'IDE propone di spostarlo in una cartella con lo stesso nome, accetta. Se non hai ancora installato l'IDE, consulta la guida installare l'Arduino IDE.
- Scegli Arduino Uno in Strumenti > Scheda e la porta della tua scheda in Porta, poi fai clic su Carica. Se il caricamento non riesce, segui i passi di Arduino non carica lo sketch.
- Monta il circuito con gli stessi pin seguendo il disegno di Tinkercad; tenere aperta la vista schematica su un secondo schermo ti semplifica il lavoro.
- Correggi le differenze che la simulazione non mostra: aggiungi un debounce software ai pulsanti, cambia libreria e indirizzo dell'LCD I2C e, se al posto del TMP36 usi un altro sensore come il DHT11, adatta il codice.
ESP32 e Raspberry Pi Pico: Tinkercad o Wokwi?
Tinkercad non ha né ESP32 né Raspberry Pi Pico e non simula né il Wi-Fi né MicroPython. Per queste schede puoi usare Wokwi, un altro simulatore che funziona anch'esso nel browser. Oltre ad Arduino Uno, Mega e Nano, Wokwi supporta la famiglia ESP32 e il Pico, collega l'ESP32 a una rete Wi-Fi virtuale e ti permette di usare la maggior parte delle librerie del gestore librerie di Arduino. In compenso Wokwi non calcola il circuito dal punto di vista elettrico: cambiare il valore di una resistenza non modifica la corrente del LED e, al posto di un multimetro che misura tensione e corrente, offre un analizzatore logico per i segnali digitali. In breve, la strada più efficace è imparare le basi dell'elettronica in Tinkercad e provare il codice per ESP32 e Pico in Wokwi. Per una guida dettagliata vedi simulatore Wokwi.
| Caratteristica | Tinkercad Circuits | Wokwi |
|---|---|---|
| Schede | Arduino Uno R3, ATtiny, micro:bit | Uno, Mega, Nano, famiglia ESP32, Raspberry Pi Pico, STM32 e altre |
| Simulazione elettrica (corrente, tensione) | Sì; multimetro e oscilloscopio | Molto limitata; c'è l'analizzatore logico |
| Programmazione a blocchi | Sì | No |
| Librerie | Circa 11 librerie incluse | La maggior parte di quelle del gestore librerie |
| Wi-Fi e internet | No | Sì, con ESP32 e Pico W |
| MicroPython | No | Sì, su Pico ed ESP32 |
| Account | Obbligatorio | Non serve per provare; accedi per salvare |
| Ideale per | Basi dell'elettronica, lezioni a scuola, primi passi con Arduino | ESP32, Pico, IoT e progetti con molte librerie |
Qui sotto trovi la versione MicroPython del programma pulsante e LED per il Raspberry Pi Pico. Con i collegamenti GP14 e GP2 della tabella dei pin puoi eseguirlo in Wokwi o su un Pico vero con Thonny. Sull'ESP32 usi il codice Arduino così com'è e cambi solo LED_PIN in 18 e BUTON_PIN in 4. Per iniziare con il Pico leggi Che cos'è il Raspberry Pi Pico?, per l'ESP32 Che cos'è 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)Idee di progetto da provare in Tinkercad
- Semaforo: Un incrocio con tre LED e un pulsante pedonale; il montaggio passo passo è in semaforo con Arduino.
- Luce notturna: Un LED che si accende quando fa buio; l'uso della fotoresistenza su una scheda reale è spiegato in sensore di luce LDR.
- Sensore di parcheggio: Un sensore a ultrasuoni e un buzzer piezo che suona più in fretta man mano che ti avvicini; il principio di misura è in sensore di distanza HC-SR04.
- Controllo di un servo: Regola l'angolo di un servo con un potenziometro; il codice di servomotore funziona anche in Tinkercad.
- Serratura a codice: Una serratura con tastierino 4x4, LCD e servo; la libreria Keypad usata nell'articolo sul tastierino a matrice c'è anche in Tinkercad.
- Tanti LED con pochi pin: Pilota 8 LED da 3 pin con lo shift register 74HC595; i dettagli sono in 74HC595.
- Due Arduino che comunicano: Incrocia le linee TX e RX di due Uno e invia messaggi dall'uno all'altro; Tinkercad simula più schede contemporaneamente.
- Lampeggiatore con il 555: Monta un LED lampeggiante senza microcontrollore e misura la frequenza con l'oscilloscopio; il calcolo è in timer 555.
Errori comuni e come risolverli
| Sintomo | Causa probabile | Soluzione |
|---|---|---|
| Il LED non si accende | LED al contrario o con le due gambe nella stessa fila della breadboard | La gamba piegata (anodo) va verso la resistenza; metti le gambe in file diverse |
| Il LED è molto debole | Resistenza da 220 kΩ invece di 220 Ω, o rimasta al valore predefinito di 1 kΩ | Seleziona la resistenza e controlla valore e unità |
| Avviso o icona di esplosione sul LED | Manca la resistenza, la corrente supera i 20 mA | Aggiungi una resistenza da 220–330 Ω in serie al LED |
| Il monitor seriale è vuoto | Manca Serial.begin() o il monitor non è aperto | Aggiungi Serial.begin(9600) in setup() e apri il Serial Monitor a simulazione avviata |
| Il grafico non mostra nulla | Accanto al numero viene stampato del testo | Invia solo il numero con Serial.println() |
| Errore di compilazione: libreria non trovata | È stata inclusa una libreria che Tinkercad non ha (come DHT.h) | Usa una libreria dell'elenco o un componente equivalente |
| Il pulsante funziona al contrario | Con INPUT_PULLUP si legge LOW mentre è premuto | Scrivi la condizione per LOW o usa una resistenza di pull-down esterna |
| La simulazione è molto lenta | Molti componenti, una striscia NeoPixel lunga o Serial.print troppo frequenti | Semplifica il circuito, aggiungi un breve delay nel ciclo, chiudi le altre schede del browser |
Tinkercad è il miglior punto di partenza per imparare Arduino gratis e senza rischi: monti il circuito, lo misuri, segui il codice passo passo e, quando sei pronto, carichi lo stesso codice su una scheda vera. Ogni circuito che funziona in simulazione rende più facile anche il tuo primo tentativo sul banco. Nell'app BlueGrays trovi molti progetti con schemi e codice passo passo, dal primo LED e dal semaforo ai progetti con pulsanti e LDR, fino alla misura della distanza con l'HC-SR04 e alla comunicazione tra due Arduino, così puoi ripetere con componenti reali i circuiti montati in Tinkercad. Per altre idee dai un'occhiata alla nostra lista di idee per progetti Arduino.
Domande frequenti
Tinkercad è gratis?
Sì. Tutti gli strumenti di Tinkercad, compreso Tinkercad Circuits, sono gratuiti; serve solo un account Autodesk. Gli studenti possono entrare anche senza indirizzo e-mail con il codice classe del loro insegnante. Non c'è nulla da installare: bastano un browser aggiornato e una connessione a internet.
In Tinkercad ci sono l'ESP32 o il Raspberry Pi Pico?
No. Le uniche schede programmabili di Tinkercad sono l'Arduino Uno R3, l'ATtiny e la BBC micro:bit. Per simulare ESP32, ESP8266 o Raspberry Pi Pico puoi usare Wokwi, che supporta anche il Wi-Fi dell'ESP32 e MicroPython sul Pico.
Si possono aggiungere librerie in Tinkercad? Posso usare un DHT11?
In Tinkercad non si possono caricare librerie esterne; si possono usare solo le circa undici librerie dell'elenco nel pannello del codice, come Servo, LiquidCrystal, Adafruit NeoPixel, IRremote e Keypad. Anche i sensori DHT11 e DHT22 mancano dall'elenco dei componenti. Per misurare la temperatura usa il sensore TMP36 con analogRead.
Il codice di Tinkercad funziona su un Arduino vero?
Sì, perché Tinkercad compila normale codice C++ per Arduino. Scarica il file .ino dal pannello del codice, aprilo nell'Arduino IDE e caricalo sulla scheda. Potresti dover solo sostituire le librerie specifiche di Tinkercad (come Adafruit_LiquidCrystal per l'LCD I2C) con quella adatta al tuo modulo reale e aggiungere il debounce ai pulsanti.
Meglio Tinkercad o Wokwi?
Ognuno eccelle in cose diverse. Tinkercad calcola il circuito dal punto di vista elettrico e offre multimetro e programmazione a blocchi, quindi è più adatto alle basi dell'elettronica e alle lezioni a scuola. Wokwi si distingue nei progetti avanzati e IoT grazie a ESP32, Pico, Wi-Fi e all'ampio supporto di librerie.
Come accedono gli studenti a Tinkercad?
Il tuo insegnante ti dà un link della classe, oppure un codice classe e un nickname. Apri il link e scrivi il tuo nickname, oppure fai clic su Join Class su tinkercad.com e inserisci prima il codice e poi il nickname. In questo modo non servono e-mail né password; se hai già un tuo account, accedi e unisciti alla classe dalla dashboard.
Progetti da realizzare dopo questo articolo
Vedi tutti i progetti
LED lampeggiante
Progetto di input di base che accende e spegne un singolo LED a determinati intervalli con Arduino. Insegna l'uso delle funzioni digitalWrite e delay.

Semaforo
Progetto che simula un vero semaforo con LED rossi, gialli e verdi. Insegna la temporizzazione e la logica di controllo sequenziale.

Accendere un LED con un pulsante (Push)
Progetto di controllo istantaneo (push) che accende il LED quando il pulsante viene premuto e lo spegne quando viene rilasciato. Insegna l'uso della lettura dei pulsanti e dell'espressione condizional

Misurare l'intensità luminosa con LDR
Progetto che misura l'intensità della luce ambientale con un sensore LDR e la visualizza su un monitor seriale. Insegna le basi della lettura dei sensori analogici e della comunicazione seriale.

Uso del cicalino
Progetto di base che utilizza il cicalino per emettere un suono con una certa frequenza e intervalli. Insegna l'uso delle funzioni tone() e noTone().

HC-SR04 Misura della distanza (display seriale)
Il sensore a ultrasuoni HC-SR04 misura la distanza e visualizza il risultato in cm sul monitor seriale. Insegna il principio del calcolo della distanza con l'onda sonora.

Utilizzo del servomotore
Progetto di base che posiziona il servomotore su angoli di 0°, 90° e 180° in sequenza. Insegna la libreria dei servo e la logica di controllo degli angoli.

Comunicazione unidirezionale tra 2 Arduino
Un progetto per il trasferimento unidirezionale di dati tra due Arduino tramite comunicazione seriale. Rileva la pressione del pulsante sul lato trasmettitore e insegna a controllare il LED sul lato r

