Guide · 13 min di lettura

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.

Scheda ESP32 DevKit a 30 pin: porta Micro-USB, pulsanti BOOT ed EN, modulo ESP32-WROOM-32 e due file di pin
La scheda della prima ora: un ESP32 DevKit a 30 pin. Prima di iniziare, individuate insieme sulla scheda la porta USB, i pulsanti BOOT ed EN e i pin D5, GND e 3V3.

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.
La trappola del cavo di ricarica: una parte dei cavi Micro-USB e USB-C nel cassetto serve solo a ricaricare e non ha i fili dati. Con un cavo così il LED di alimentazione della scheda si accende, lo studente pensa che tutto funzioni, ma nell'Arduino IDE la porta non compare mai. La prima cosa che deve fare un gruppo che dice "non c'è la porta" è cambiare cavo. Segna i cavi dati provati e non usare nella prima lezione i cavi portati da casa.

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-serialeCome riconoscerlo sulla schedaNome della porta su WindowsNota
CP2102 / CP2104Piccolo chip quadrato accanto alla porta USB, con la scritta CP2102 o SiLabsSilicon 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 CH340USB-SERIAL CH340 (COMx)Serve il driver CH340 di WCH; a volte Windows Update lo installa in automatico
CH9102Piccolo chip quadrato sulle schede più recenti, con la scritta CH9102USB-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.

Non usare il Wi-Fi nella prima lezione. L'ESP32 si collega solo a reti a 2,4 GHz; le reti scolastiche spesso chiedono nome utente e password o aprono una pagina di accesso nel browser, e l'ESP32 non riesce a superare queste pagine. Quando arriva la lezione sul Wi-Fi, la via più pratica è un hotspot personale sul telefono dell'insegnante impostato sulla banda a 2,4 GHz. Provalo anche il giorno prima con la tua scheda.

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.

MaterialePer gruppoPer la classe (8 gruppi + 1 riserva)Nota
ESP32 DevKit (30 pin, ESP32-WROOM-32)19Un solo modello; modelli diversi confondono l'ordine dei pin
Cavo USB dati (Micro-USB o USB-C a seconda della scheda)1112 cavi di riserva; tutti provati e segnati
Breadboard (830 fori)192 per gruppo se la scheda non ci sta (18 per la classe)
LED rosso da 5 mm220Un LED rosso si accende bene a 3,3 V
Resistenza da 220 Ω220Anelli di colore: rosso-rosso-marrone
Cavetto jumper maschio-maschio4circa 40Usa sempre il nero per GND
Computer con Arduino IDE e pacchetto ESP3218 + il computer dell'insegnanteCon etichetta del numero di porta
Telefono o tablet con BlueGrays aperto1 (facoltativo)8Per leggere schema e codice; basta anche il proiettore
Scatola o bustina dei componenti19Alla fine ritira tutto contando
Un ESP32 DevKit a 30 pin copre quasi tutta una breadboard standard e lascia solo una fila di fori su un lato. Inserisci la scheda in modo che il lato con i pin D5 e GND abbia fori liberi e monta LED e resistenza da quel lato. Su questa scheda D5, GND e 3V3 sono sulla stessa fila, quindi il circuito della prima lezione sta tutto su un lato. Se lo spazio non basta ancora, affianca due breadboard e metti ciascuna fila di pin della scheda su una di esse. Quando togli la scheda, sollevala dai due lati insieme per non piegare i pin.

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.

MinutoFaseInsegnanteStudenti
0–4Apertura e obiettivoMostra 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–9Conoscere la schedaCon 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–17Primo caricamento: LED internoApre 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–21Cambiare un valoreChiede: "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–31Circuito con LED esternoProietta 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–35Mini sfidaDà 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–38RiordinoFa scollegare gli USB e contare i componenti.Smontano il circuito e rimettono i componenti nella scatola contandoli.
38–40Domande di uscitaScrive le quattro domande alla lavagna o le fa a voce.Rispondono brevemente su un foglio e lo consegnano uscendo.
Blocchi in italiano del progetto Lampeggio del LED interno dell'ESP32: definizione BUILTIN_LED_PIN = 2, pin come uscita nella configurazione, scrittura di HIGH e LOW nel ciclo e attesa di 1000 ms
I blocchi del primo caricamento. Se proietti questa immagine accanto al codice, si vede subito che il blocco di definizione corrisponde alla riga int, il blocco di configurazione a setup() e il blocco di ripetizione a loop().

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.

C++ (Arduino IDE)
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}
15

Il 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.

C++ (Arduino IDE)
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}
16
Il LED interno non è su GPIO2 su tutte le schede. Alcune, come la DevKitC della stessa Espressif, hanno solo un LED rosso di alimentazione e nessun LED programmabile; su altre il LED è collegato a un pin diverso. Se durante il caricamento di prova il LED non lampeggia, guarda il pinout della tua scheda; se non c'è un LED interno, quel gruppo passa subito alla fase del LED esterno. Un solo modello in tutto il kit di classe evita queste sorprese fin dall'inizio.

5 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.

TemaArduino UnoESP32 DevKitCosa significa in classe
Tensione logica5 V3,3 V; i pin non tollerano i 5 VMai dare 5 V a un GPIO; prima di collegare un modulo a 5 V controlla la sua tensione di uscita
Numeri dei pinD0–D13 e A0–A5Si usa il numero GPIO; il pin con la scritta D5 sulla scheda è 5 nel codiceIl numero nel codice è il GPIO sulla scheda, non la posizione contata dal bordo
Pin solo ingressoNessuno; tutti i pin digitali possono essere usciteGPIO34, 35, 36 (VP) e 39 (VN) sono solo ingresso e non hanno resistenze di pull-up interne; GPIO6–11 sono collegati alla memoria flashUn LED sul 34 non si accenderà mai; nella prima lezione resta su GPIO2 e GPIO5
Pulsanti BOOT ed ENUn solo pulsante di reset; il caricamento parte da soloBOOT (GPIO0) per la modalità programmazione, EN per riavviareSe "Connecting..." si allunga si tiene premuto BOOT; se il codice non sembra partire si preme EN
Connessione wirelessNessunaWi-Fi a 2,4 GHz e Bluetooth (Classic e BLE) integratiNon 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

SintomoCausa probabileSoluzione in un minuto
Il menu Strumenti > Porta è vuoto o grigioCavo solo da ricarica o driver mancanteProva 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à programmazioneCarica 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 schedaScegli Strumenti > Scheda > esp32 > ESP32 Dev Module e carica di nuovo
Caricamento riuscito ma sul LED non cambia nullaPorta 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 maiLED al contrario, oppure resistenza e LED non sono sulla stessa fila della breadboardGira 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 spentoIl 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 lampeggiaLa scheda non ha un LED programmabile oppure è su un altro pinGuarda il pinout della scheda; passa senza perdere tempo alla fase del LED esterno
Il LED resta sempre acceso o la scheda si scaldaLED collegato a 5V/VIN o 3V3, oppure cortocircuito tra 3V3 e GNDScollega subito l'USB; sposta il LED su GPIO5, trova il cavo del cortocircuito, poi ricollega
La regola dei tre minuti: se un gruppo resta bloccato sullo stesso problema per più di tre minuti, sostituisci scheda e cavo con il kit di riserva e controlla tu il pezzo difettoso dopo la lezione. Che un gruppo perda l'intera ora per un cavo difettoso costa più che trovare la causa sul momento. Anche se la barra di avanzamento sembra ferma, non far premere Carica una seconda volta; la prima compilazione richiede tempo. Per controlli più approfonditi su porta e driver, i passaggi di Arduino non carica lo sketch valgono anche per l'ESP32.

Domande di uscita e anteprima della seconda lezione

  1. A quale pin della scheda si riferisce il numero 5 nel codice? Perché accanto a quel pin potrebbe esserci scritto "D5"?
  2. Che cosa è cambiato nel LED scrivendo delay(200) invece di delay(1000)? Quante volte al secondo lampeggia ora?
  3. Perché il LED non si è acceso quando era al contrario? Quale gamba del LED va dal lato della resistenza?
  4. 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.

Vedi tutti i progetti
Lampeggio del LED interno dell'ESP32
#106Principiante

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.

4.8(29)
53
LED Lampeggiante con ESP32
#103Principiante

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.

4.7(37)
99
Controllo LED ESP32 con pulsante (Push)
#104Principiante

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.

4.6(36)
55
Controllo LED ESP32 con pulsante (Toggle)
#105Principiante

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.

4.6(39)
57
Semaforo ESP32
#107Principiante

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.

4.4(21)
44
Lettura dell'intensità luminosa con il modulo LDR ESP32
#113Principiante

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.

4.6(36)
55
ESP32 HC-SR04 Misuratore di distanza a ultrasuoni
#116Intermedio

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

4.9(28)
45
ESP32 DHT22 Temperatura e umidità (con display LCD)
#117Intermedio

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.

4.8(38)
56