Lezione ESP32 a scuola: preparazione e prima ora in 40 minuti
Lezione ESP32 a scuola: nella prima ora ogni gruppo carica il codice e accende un LED. Checklist, materiali per 24, scaletta di 40 minuti, codice e 8 problemi.
Quando prepari una lezione ESP32 a scuola, riduci la prima ora a un solo obiettivo: alla fine ogni gruppo ha caricato il codice sul proprio ESP32 e acceso un LED. Wi-Fi, sensori e controllo dal telefono sono roba delle lezioni successive. Se 40 minuti bastano dipende meno da quello che fai in classe che da quello che fai prima: il driver USB-seriale è installato, nell'Arduino IDE c'è il pacchetto schede ESP32, il cavo sul banco trasporta davvero dati? Se queste tre cose sono pronte, il primo caricamento richiede cinque minuti; altrimenti metà lezione se ne va in "non vedo la porta".
Qui trovi un pacchetto da portare in classe domani: una checklist copiabile per una settimana prima, il giorno prima e la mattina della lezione, una tabella dei materiali, una scaletta di 40 minuti minuto per minuto, due sketch che compilano, cinque differenze tra ESP32 e Arduino Uno, soluzioni da un minuto per gli otto problemi più frequenti e domande di uscita. Mettiamo che tu abbia una classe di 24 studenti divisi in 8 gruppi da tre; tutti i numeri partono da qui. Se la tua ora dura 50 o 60 minuti, il resto è il tuo margine. Se l'ESP32 è ancora nuovo per te, leggi prima cos'è l'ESP32.

Obiettivo della prima lezione: perché un solo LED?
Nella prima lezione con l'ESP32 hai due strade: mostrare un progetto Wi-Fi d'effetto oppure far funzionare a ciascuno qualcosa di piccolo con le proprie mani. La seconda insegna molto di più. Per accendere un LED lo studente deve percorrere una volta tutta la catena dall'inizio alla fine: aprire il codice, scegliere scheda e porta, compilare, caricare, montare il circuito, vedere il risultato, poi cambiare un valore e caricare di nuovo. Una volta che questa catena funziona, nelle lezioni successive si aggiungono solo componenti nuovi. Se passi al Wi-Fi prima, password di rete, driver e cavo si sommano e capire da dove arriva l'errore diventa quasi impossibile. Per questo il piano non usa la rete nella prima ora: prima il LED interno della scheda, poi un solo LED esterno sulla breadboard e, per i gruppi veloci, i due che lampeggiano a turno.
Checklist di preparazione prima della lezione
Dividi la preparazione in tre momenti. Puoi copiare e stampare l'elenco o condividerlo con il tecnico informatico della scuola; i lavori che richiedono i permessi di amministratore, come installare driver e programmi, nella maggior parte delle scuole passano da lui. Una settimana prima:
- Conta le schede e controlla il modello. Questo piano è scritto per l'ESP32 DevKit a 30 pin (con modulo ESP32-WROOM-32); sulle schede a 38 pin il codice è lo stesso, cambia solo l'ordine dei pin.
- Leggi il piccolo chip accanto alla porta USB della scheda: è un CP2102, un CH340 o un CH9102? Da questo dipende il driver che ti serve.
- Fai installare Arduino IDE 2 sui computer del laboratorio. Sui computer della scuola di solito servono i permessi di amministratore, quindi fissa un momento con il tecnico.
- Nell'Arduino IDE installa il pacchetto esp32 by Espressif Systems dal Gestore schede. Scarica centinaia di megabyte; con la rete della scuola 40 minuti potrebbero non bastare se lo fai a lezione.
- Installa il driver USB-seriale, collega una scheda e controlla che in Strumenti > Porta compaia una nuova porta.
- Prova i cavi: carica uno sketch su una scheda con ciascun cavo, scarta quelli solo da ricarica e segna quelli dati con nastro colorato.
- Inserisci un ESP32 in una breadboard e guarda se restano fori liberi su entrambi i lati. Se no, ogni gruppo avrà due breadboard.
- Informati sui limiti della rete scolastica: l'ESP32 si collega solo al Wi-Fi a 2,4 GHz, e le reti aziendali con nome utente e password sono complicate. Nella prima lezione non userai il Wi-Fi, ma per le lezioni successive ti serve saperlo già ora.
Il giorno prima ogni computer deve essere pronto; l'idea è che in classe nessun passaggio di installazione avvenga per la prima volta. Tieni anche dieci minuti per la mattina della lezione. Le due liste sono insieme:
- Giorno prima: Fai un caricamento di prova su ogni computer. Collega la scheda, scegli ESP32 Dev Module e la porta, carica lo sketch del LED interno e controlla che lampeggi. La prima compilazione può superare il minuto; questa prova accorcia anche le successive.
- Giorno prima: Su Windows attacca sul fianco del computer un'etichetta con il numero di porta (COM3, COM5…). La stessa scheda sulla stessa presa USB di solito riceve lo stesso numero.
- Giorno prima: Prepara le scatole dei gruppi: scheda, cavo, breadboard, due LED, due resistenze da 220 Ω, quattro cavetti jumper. Tieni il kit di riserva sulla cattedra.
- Giorno prima: Salva i due sketch sul desktop di ogni computer; se internet rallenta, gli studenti aprono il codice da lì.
- Giorno prima: Controlla che il progetto Lampeggio del LED interno dell'ESP32 si apra in BlueGrays sul proiettore.
- Mattina della lezione: Accendi i computer, apri l'Arduino IDE e controlla che la scheda sia ancora impostata su ESP32 Dev Module.
- Mattina della lezione: Disegna alla lavagna uno schema semplice della scheda: porta USB, BOOT, EN, GND, 3V3 e GPIO5 (sulla scheda c'è scritto D5).
- Mattina della lezione: Scrivi una riga in un angolo della lavagna: "Bloccato su Connecting...? Tieni premuto BOOT."
- Mattina della lezione: Conta un'ultima volta LED e resistenze nelle scatole e metti i cavi sopra.
Driver, pacchetto schede e BOOT: i dettagli da sapere
Nel Gestore schede dell'Arduino IDE puoi vedere due pacchetti ESP32. Per le schede del laboratorio quello giusto è il pacchetto esp32 di Espressif; quello chiamato "Arduino ESP32 Boards" è per la Nano ESP32 di Arduino. Dopo l'installazione scegli ESP32 Dev Module in Strumenti > Scheda > esp32. Se il pacchetto non compare nell'elenco, devi aggiungere l'indirizzo del pacchetto Espressif negli URL aggiuntivi del gestore schede, nelle Impostazioni; trovi i passaggi in cos'è l'ESP32. Gli sketch ESP32 compilano più lentamente di quelli per Uno; anche per un LED lampeggiante la prima compilazione può superare il minuto. Dillo agli studenti fin dall'inizio, altrimenti premeranno Carica più volte mentre la barra sembra ferma. Il chip USB-seriale della scheda decide quale driver installare:
| Chip USB-seriale | Come riconoscerlo sulla scheda | Nome della porta su Windows | Nota |
|---|---|---|---|
| CP2102 / CP2104 | Piccolo chip quadrato accanto alla porta USB, con la scritta CP2102 o SiLabs | Silicon Labs CP210x USB to UART Bridge (COMx) | Windows spesso installa il driver da solo; altrimenti serve il driver CP210x di Silicon Labs |
| CH340 (CH340C, CH340G) | Chip rettangolare con la scritta CH340 | USB-SERIAL CH340 (COMx) | Serve il driver CH340 di WCH; a volte Windows Update lo installa in automatico |
| CH9102 | Piccolo chip quadrato sulle schede più recenti, con la scritta CH9102 | USB-Enhanced-SERIAL CH9102 (COMx) | Serve il driver CH9102/CH343 di WCH; il driver CH340 non riconosce questo chip |
Il pulsante BOOT è collegato al pin GPIO0 dell'ESP32. All'inizio di un caricamento la scheda deve entrare in modalità programmazione; la maggior parte delle DevKit lo fa da sola con due segnali del chip USB-seriale. Con alcune combinazioni di scheda e cavo questo passaggio automatico non riesce: i puntini di "Connecting..." si allungano e alla fine compare l'errore "Failed to connect to ESP32". La soluzione è tenere premuto BOOT appena appare "Connecting..." e rilasciarlo quando iniziano a scorrere le righe che cominciano con "Writing at". Il pulsante EN riavvia la scheda; se il caricamento è finito ma il codice non sembra partire, basta premere EN una volta. Se il problema si ripete sempre sulla stessa scheda, abbassare Upload Speed nel menu Strumenti da 921600 a 115200 di solito risolve. Su macOS il nome della porta di solito inizia con cu.usbserial o cu.SLAB_USBtoUART.
Elenco materiali: per gruppo e per una classe di 24
Dividendo 24 studenti in gruppi da tre ottieni 8 gruppi; con un kit di riserva prepari 9 kit. Se preferisci le coppie servono 12 gruppi più una riserva, cioè 13 kit, e più computer. Nessun componente richiede saldature. Due LED e due resistenze per gruppo hanno un motivo semplice: un LED montato al contrario o con una gamba rotta è molto comune nella prima lezione, e nessun gruppo deve restare ad aspettare.
| Materiale | Per gruppo | Per la classe (8 gruppi + 1 riserva) | Nota |
|---|---|---|---|
| ESP32 DevKit (30 pin, ESP32-WROOM-32) | 1 | 9 | Un solo modello; modelli diversi confondono l'ordine dei pin |
| Cavo USB dati (Micro-USB o USB-C a seconda della scheda) | 1 | 11 | 2 cavi di riserva; tutti provati e segnati |
| Breadboard (830 fori) | 1 | 9 | 2 per gruppo se la scheda non ci sta (18 per la classe) |
| LED rosso da 5 mm | 2 | 20 | Un LED rosso si accende bene a 3,3 V |
| Resistenza da 220 Ω | 2 | 20 | Anelli di colore: rosso-rosso-marrone |
| Cavetto jumper maschio-maschio | 4 | circa 40 | Usa sempre il nero per GND |
| Computer con Arduino IDE e pacchetto ESP32 | 1 | 8 + il computer dell'insegnante | Con etichetta del numero di porta |
| Telefono o tablet con BlueGrays aperto | 1 (facoltativo) | 8 | Per leggere schema e codice; basta anche il proiettore |
| Scatola o bustina dei componenti | 1 | 9 | Alla fine ritira tutto contando |
La scaletta della lezione di 40 minuti
La scaletta si basa su due progetti gratuiti di BlueGrays: prima Lampeggio del LED interno dell'ESP32 (nessun circuito, solo scheda e cavo), poi LED Lampeggiante con ESP32 (GPIO5, una resistenza da 220 Ω e un LED). In entrambi i progetti elenco dei componenti, schema, codice, blocchi e Capire il codice sono aperti gratuitamente. Assegna tre ruoli in ogni gruppo e falli ruotare a ogni fase: uno alla tastiera, uno che monta il circuito, uno che legge schema e codice dal telefono o dal proiettore. Così nessuno passa 40 minuti solo a guardare.
| Minuto | Fase | Insegnante | Studenti |
|---|---|---|---|
| 0–4 | Apertura e obiettivo | Mostra la scheda e dice l'unico obiettivo: "Prima della campanella ogni gruppo carica il proprio codice e accende un LED." Ricorda che la scheda ha il Wi-Fi come il telefono, ma oggi non si usa. | Si dividono i ruoli, aprono la scatola, contano i componenti. |
| 4–9 | Conoscere la scheda | Con lo schema alla lavagna indica porta USB, pulsanti BOOT ed EN e i pin GND, 3V3 e GPIO5; dà l'avvertenza sui 3,3 V. | Trovano questi punti sulla propria scheda e cercano il LED interno. |
| 9–17 | Primo caricamento: LED interno | Apre al proiettore il progetto Lampeggio del LED interno dell'ESP32, mostra una volta la scelta di scheda e porta, ricorda la nota su BOOT. | Aprono o copiano il codice, scelgono ESP32 Dev Module e la porta, caricano; il LED lampeggia una volta al secondo. |
| 17–21 | Cambiare un valore | Chiede: "Che cosa succede se scrivete 200 invece di 1000?" e fa fare prima una previsione. | Dicono la loro previsione, cambiano i due valori di delay(), caricano di nuovo e confrontano il risultato con la previsione. |
| 21–31 | Circuito con LED esterno | Proietta lo schema di LED Lampeggiante con ESP32, indica la gamba lunga del LED e dove va la resistenza, gira tra i gruppi e controlla ogni circuito con l'USB scollegato. | Scollegano l'USB, montano GPIO5 → 220 Ω → gamba lunga del LED, gamba corta → GND e caricano il codice dopo l'ok dell'insegnante. |
| 31–35 | Mini sfida | Dà ai gruppi veloci un compito in più: far lampeggiare a turno il LED interno e quello esterno. Con i gruppi bloccati controlla prima il cavo e il verso del LED. | Impostano entrambi i pin come uscita, spengono uno mentre l'altro è acceso; chi finisce passa al compito Prova tu di Capire il codice. |
| 35–38 | Riordino | Fa scollegare gli USB e contare i componenti. | Smontano il circuito e rimettono i componenti nella scatola contandoli. |
| 38–40 | Domande di uscita | Scrive le quattro domande alla lavagna o le fa a voce. | Rispondono brevemente su un foglio e lo consegnano uscendo. |

Il codice: LED interno e LED esterno
I due sketch qui sotto usano gli stessi pin e gli stessi tempi dei progetti nell'app e compilano direttamente nell'Arduino IDE con ESP32 Dev Module selezionato. Il primo fa lampeggiare il LED sulla scheda una volta al secondo. Sulla maggior parte delle schede ESP32 DevKit questo LED blu è collegato a GPIO2. Sull'Arduino Uno il LED interno era sul pin 13; chi ha già usato un Uno potrebbe scrivere 13 per abitudine, quindi spiega subito la differenza.
1// ESP32 Dahili LED Yakma / ESP32 built-in LED blink
2// Çoğu ESP32 DevKit kartında dahili LED GPIO2'dedir / On most ESP32 DevKit boards the built-in LED is on GPIO2
3int BUILTIN_LED_PIN = 2; // Kartına göre değişebilir / May differ on your board
4
5void setup() {
6 pinMode(BUILTIN_LED_PIN, OUTPUT); // Pini çıkış yap / Set the pin as output
7}
8
9void loop() {
10 digitalWrite(BUILTIN_LED_PIN, HIGH); // LED'i yak / Turn the LED on
11 delay(1000); // 1 saniye bekle / Wait 1 second
12 digitalWrite(BUILTIN_LED_PIN, LOW); // LED'i söndür / Turn the LED off
13 delay(1000); // 1 saniye bekle / Wait 1 second
14}
15Il circuito del secondo sketch: da GPIO5 a un capo della resistenza da 220 Ω, dall'altro capo della resistenza alla gamba lunga del LED (anodo), dalla gamba corta (catodo) a GND. Il pin dell'ESP32 fornisce 3,3 V; su un LED rosso cadono circa 2 V e gli 1,3 V restanti su 220 Ω fanno passare circa 6 mA. Bastano per un LED ben visibile e non affaticano il pin. Se usi un altro colore, controlla la resistenza con il calcolatore della resistenza per LED. Nella mini sfida i gruppi veloci uniscono i due sketch: in setup() impostano entrambi i pin come uscita e in loop() scrivono HIGH su uno mentre l'altro è LOW.
1// ESP32 ile LED Yakma: harici LED / ESP32 external LED blink
2// Bağlantı: GPIO5 -> 220 Ω direnç -> LED uzun bacak (+), kısa bacak (-) -> GND
3// Wiring: GPIO5 -> 220 ohm resistor -> LED long leg (+), short leg (-) -> GND
4const int LED_PIN = 5; // Harici LED pini (kartta D5) / External LED pin (D5 on the board)
5
6void setup() {
7 pinMode(LED_PIN, OUTPUT); // Pini çıkış yap / Set the pin as output
8}
9
10void loop() {
11 digitalWrite(LED_PIN, HIGH); // Pin 3,3 V verir, LED yanar / Pin outputs 3.3 V, LED on
12 delay(500); // Yarım saniye bekle / Wait half a second
13 digitalWrite(LED_PIN, LOW); // Pin 0 V verir, LED söner / Pin outputs 0 V, LED off
14 delay(500); // Yarım saniye bekle / Wait half a second
15}
165 differenze tra ESP32 e Arduino Uno
Alcuni tuoi studenti potrebbero aver già usato un Arduino Uno. Il codice si scrive nello stesso linguaggio Arduino e setup() e loop() sono al loro posto, ma l'hardware è diverso, e la maggior parte degli errori della prima lezione nasce proprio da queste differenze. Puoi spiegare i cinque punti qui sotto in pochi minuti mentre conoscete la scheda. Per un confronto più dettagliato, leggi Arduino o ESP32.
| Tema | Arduino Uno | ESP32 DevKit | Cosa significa in classe |
|---|---|---|---|
| Tensione logica | 5 V | 3,3 V; i pin non tollerano i 5 V | Mai dare 5 V a un GPIO; prima di collegare un modulo a 5 V controlla la sua tensione di uscita |
| Numeri dei pin | D0–D13 e A0–A5 | Si usa il numero GPIO; il pin con la scritta D5 sulla scheda è 5 nel codice | Il numero nel codice è il GPIO sulla scheda, non la posizione contata dal bordo |
| Pin solo ingresso | Nessuno; tutti i pin digitali possono essere uscite | GPIO34, 35, 36 (VP) e 39 (VN) sono solo ingresso e non hanno resistenze di pull-up interne; GPIO6–11 sono collegati alla memoria flash | Un LED sul 34 non si accenderà mai; nella prima lezione resta su GPIO2 e GPIO5 |
| Pulsanti BOOT ed EN | Un solo pulsante di reset; il caricamento parte da solo | BOOT (GPIO0) per la modalità programmazione, EN per riavviare | Se "Connecting..." si allunga si tiene premuto BOOT; se il codice non sembra partire si preme EN |
| Connessione wireless | Nessuna | Wi-Fi a 2,4 GHz e Bluetooth (Classic e BLE) integrati | Non si usa nella prima lezione; più avanti, a seconda della rete scolastica, si prova con un hotspot del telefono |
Gli 8 problemi più frequenti in classe e la soluzione in un minuto
| Sintomo | Causa probabile | Soluzione in un minuto |
|---|---|---|
| Il menu Strumenti > Porta è vuoto o grigio | Cavo solo da ricarica o driver mancante | Prova un cavo dati segnato; se la porta non c'è ancora, cerca il nome del chip in Gestione dispositivi e prova la scheda sul computer dell'insegnante |
| "Connecting..." non finisce, poi "Failed to connect to ESP32" | La scheda non è entrata da sola in modalità programmazione | Carica di nuovo, tieni premuto BOOT quando compare "Connecting..." e rilascialo quando iniziano le righe "Writing at" |
| Errori avrdude nell'output | È ancora selezionato Arduino Uno come scheda | Scegli Strumenti > Scheda > esp32 > ESP32 Dev Module e carica di nuovo |
| Caricamento riuscito ma sul LED non cambia nulla | Porta sbagliata (più schede collegate) | Scollega la scheda, guarda quale porta sparisce dal menu, ricollegala e scegli quella porta; confrontala con l'etichetta sul computer |
| Il LED esterno non si accende mai | LED al contrario, oppure resistenza e LED non sono sulla stessa fila della breadboard | Gira il LED: gamba lunga verso la resistenza, gamba corta a GND; controlla che i collegamenti siano sulla stessa fila |
| Il circuito sembra giusto ma il LED resta spento | Il cavo è su un altro pin (per esempio D4 o D34) | Leggi l'etichetta del pin in cui è il cavo e confrontala con il numero nel codice; evita i pin da 34 a 39 |
| Codice caricato ma il LED interno non lampeggia | La scheda non ha un LED programmabile oppure è su un altro pin | Guarda il pinout della scheda; passa senza perdere tempo alla fase del LED esterno |
| Il LED resta sempre acceso o la scheda si scalda | LED collegato a 5V/VIN o 3V3, oppure cortocircuito tra 3V3 e GND | Scollega subito l'USB; sposta il LED su GPIO5, trova il cavo del cortocircuito, poi ricollega |
Domande di uscita e anteprima della seconda lezione
- A quale pin della scheda si riferisce il numero 5 nel codice? Perché accanto a quel pin potrebbe esserci scritto "D5"?
- Che cosa è cambiato nel LED scrivendo delay(200) invece di delay(1000)? Quante volte al secondo lampeggia ora?
- Perché il LED non si è acceso quando era al contrario? Quale gamba del LED va dal lato della resistenza?
- Che tensione forniscono i pin dell'ESP32? Perché non dobbiamo collegare un LED o un modulo direttamente al pin 5V?
Le risposte ti dicono quale concetto ripassare nella seconda lezione; chi risponde 2,5 alla seconda domanda ha capito la temporizzazione. Nella seconda lezione si aggiunge un pulsante allo stesso circuito: nel progetto Controllo LED ESP32 con pulsante (Push) il LED resta acceso finché tieni premuto il pulsante, in Controllo LED ESP32 con pulsante (Toggle) ogni pressione ne inverte lo stato. Sono entrambi gratuiti e hanno i blocchi; gli studenti leggono per la prima volta un ingresso e decidono con if. Nella terza o quarta lezione puoi passare al Wi-Fi; per quella lezione tieni a portata di mano la tabella dei codici di stato di l'ESP32 non si connette al Wi-Fi. I progetti ESP32 con Wi-Fi in BlueGrays sono Premium; se vuoi che i tuoi studenti proseguano con quelli, in codici Premium per la classe spieghiamo come dare a ciascuno un codice da un pacchetto educatore invece di abbonamenti separati.
Come usare BlueGrays a lezione?
- Trovare il progetto: In Scopri › Progetti usa Filtra per scegliere la piattaforma ESP32 e in Stato del Prezzo l'opzione gratuito. I progetti ESP32 adatti alle prime lezioni, come LED, pulsante, semaforo, sensore di luce e sensore di distanza, sono completamente aperti.
- Componenti Necessari e Schema del Circuito: L'elenco dei componenti è pronto con le quantità. Puoi ingrandire lo schema e proiettarlo, oppure salvarlo con Salva nella Galleria e stamparlo.
- Codice Sorgente: Con Copia il codice va negli appunti. Se uno studente ha aperto il progetto sul telefono, Copia link gli dà un link per aprire il codice sul computer, così nessuno deve ricopiarlo a mano.
- Capire il codice: Prima il riepilogo Cosa fa questo codice?, poi la spiegazione Passo dopo passo, la sezione Se ti blocchi e il compito Prova tu. È il passo successivo già pronto per i gruppi che finiscono presto la mini sfida.
- Mostra a blocchi: Tutti i progetti ESP32 gratuiti hanno la vista a blocchi. Attivando l'interruttore, al posto del codice compaiono i blocchi dello stesso programma e la scheda diventa Capire i blocchi. I blocchi servono per leggere; non si modificano nell'app e non si caricano sulla scheda, sulla scheda va sempre il codice vero.
- Costruiscilo passo dopo passo: Una modalità guidata con i passi prepara i componenti, monta il circuito, carica il codice, avvia e prova. Lo schermo resta acceso, quindi il gruppo segue i passi con il telefono appoggiato sul banco; alla fine L'ho fatto segna il progetto come completato.
La prima lezione può sembrare solo un LED, ma in quei 40 minuti gli studenti vivono una volta compilazione, caricamento, numeri dei pin, il limite dei 3,3 V e il debug, e ogni lezione ESP32 successiva si appoggia su questa base. Spieghiamo nel dettaglio tutte le sezioni della pagina di un progetto nella guida alla pagina del progetto. Se vuoi realizzare tu i due progetti una volta prima della lezione, apri Lampeggio del LED interno dell'ESP32 nell'app BlueGrays; schema, codice, blocchi e Capire il codice sono pronti, e la tua prova non supererà i dieci minuti.
Domande frequenti
Cosa si fa nella prima lezione con l'ESP32?
L'obiettivo della prima lezione è che ogni gruppo carichi il codice sul proprio ESP32 e accenda un LED: prima il LED interno della scheda, poi un LED esterno con una resistenza da 220 Ω sulla breadboard. Wi-Fi e sensori arrivano dopo. Così gli studenti percorrono una volta senza intoppi la catena di compilazione, caricamento e numero del pin.
Quale scheda scegliere per l'ESP32 nell'Arduino IDE?
Per schede generiche come l'ESP32 DevKit installa il pacchetto esp32 di Espressif e scegli ESP32 Dev Module in Strumenti > Scheda > esp32. Il pacchetto Arduino ESP32 Boards è per l'Arduino Nano ESP32. Se la scheda resta impostata su Arduino Uno, il caricamento si ferma con un errore avrdude.
Perché il computer non riconosce il mio ESP32?
Cambia prima il cavo; molti cavi USB servono solo a ricaricare e non trasportano dati. Poi leggi il chip USB-seriale sulla scheda (CP2102, CH340 o CH9102) e installa il driver corrispondente. Su Windows deve comparire una nuova porta COM sotto Porte in Gestione dispositivi.
Bisogna premere BOOT per caricare il codice sull'ESP32?
La maggior parte delle DevKit entra da sola in modalità programmazione, quindi BOOT non serve. Se "Connecting..." si allunga e compare "Failed to connect to ESP32", riavvia il caricamento, tieni premuto BOOT quando appare "Connecting..." e rilascialo quando inizia la scrittura. Se succede spesso, abbassa la velocità di caricamento a 115200.
Su quale pin è il LED interno dell'ESP32?
Sulle schede ESP32 DevKit a 30 pin più diffuse il LED blu interno è collegato a GPIO2. Dipende però dalla scheda: la DevKitC di Espressif ha solo il LED di alimentazione e su alcune schede il LED è su un altro pin. Se hai dubbi, guarda il pinout della scheda o usa un LED esterno sulla breadboard.
A scuola si può iniziare con l'ESP32 invece che con Arduino Uno?
Sì; il codice si scrive nello stesso linguaggio Arduino e la prima lezione con il LED è quasi identica. Le differenze sono la logica a 3,3 V, la numerazione GPIO, i pin solo ingresso e il pulsante BOOT, e bastano pochi minuti della prima lezione per spiegarle. La preparazione richiede un po' più tempo che con un Uno, ma in cambio Wi-Fi e Bluetooth sono già pronti per le lezioni successive.
Progetti da realizzare dopo questo articolo
Vedi tutti i progetti
Lampeggio del LED interno dell'ESP32
Far lampeggiare il LED blu integrato nell'ESP32 DevKit V1. Non sono necessari componenti esterni! Il primo progetto da provare quando si acquista un ESP32. Il GPIO 2 è collegato al LED interno.

LED Lampeggiante con ESP32
Insegna l'uso di base delle uscite GPIO con l'ESP32. Otteniamo un effetto lampeggiante accendendo e spegnendo un LED dal pin digitale. Versione ESP32 del classico progetto blink su Arduino UNO; i comandi di base di blink nell'ambiente Arduino sono gli stessi, ma la disposizione dei pin e i livelli GPIO a 3,3 V dell'ESP32 sono diversi da quelli di Arduino UNO.

Controllo LED ESP32 con pulsante (Push)
Il LED si accende quando il pulsante viene premuto e si spegne quando viene rilasciato. Mostra come vengono utilizzati il pin di ingresso digitale dell'ESP32 e la resistenza di pull-up interna. Grazie alla modalità INPUT_PULLUP, non è necessaria alcuna resistenza esterna.

Controllo LED ESP32 con pulsante (Toggle)
Ogni volta che si preme il pulsante, lo stato del LED cambia: se è acceso si spegne, se è spento si accende. Classico schema toggle. Con il debounce puliamo il rumore meccanico del pulsante per garantire una singola commutazione con una sola pressione.

Semaforo ESP32
Simulazione di un vero semaforo con 3 LED rosso-giallo-verde. I tempi si avvicinano alla logica del traffico reale: rosso lungo, giallo corto, verde lungo. Classico esempio di controllo GPIO sequenziale.

Lettura dell'intensità luminosa con il modulo LDR ESP32
Monitoraggio in tempo reale sul Serial Monitor del valore grezzo dell'ADC del modulo LDR e della percentuale relativa di luce calcolata dai valori di riferimento al buio e alla luce. Questa percentuale non è una misurazione in lux. Spiega il principio di calibrazione del modulo. È consigliabile eseguirlo prima del Progetto 10, poiché serve a determinare il valore di soglia.

ESP32 HC-SR04 Misuratore di distanza a ultrasuoni
Il sensore a ultrasuoni HC-SR04 calcola la distanza misurando il tempo di volo (Time of Flight) dell'onda sonora che emette dopo aver colpito un oggetto e essere rimbalzata indietro. In questo progetto invieremo un impulso di 10 microsecondi dall'ESP32 al pin TRIG del sensore e leggeremo il tempo di eco proveniente dal pin ECHO con pulseIn(). Visualizziamo la distanza calcolata in cm su un display LCD I2C 16x2. Poiché l'HC-SR04 funziona a 5V, è necessario un divisore di tensione sul pin EC

ESP32 DHT22 Temperatura e umidità (con display LCD)
Si tratta di un progetto che misura la temperatura e l'umidità dell'ambiente tramite il sensore DHT22 e le visualizza in tempo reale su un display LCD I2C 16x2. I dati vengono letti dal sensore utilizzando il protocollo one-wire tramite la libreria Adafruit DHT. Questo progetto costituisce la base per stazioni meteorologiche IoT, sistemi di automazione domestica intelligente o sistemi di monitoraggio ambientale nelle serre. La comunicazione con il DHT22 avviene tramite il pin GPIO 4 dell'ESP32.
Altri articoli
App BlueGrays
Costruisci questo circuito passo passo sul telefono
Schema, codice ed elenco componenti in un’unica schermata. Oltre 200 progetti Arduino, ESP32 e Pico da realizzare.
Inquadra con il telefono
Punta la fotocamera sul codice: si apre lo store del tuo telefono.
oppure apri lo store

