111 progetti a blocchi · Arduino · ESP32 · Pico
Programmazione a blocchi con Arduino, ESP32 e Pico
Invece di leggere il codice riga per riga, segui dei blocchi colorati. 111 progetti BlueGrays hanno già la versione a blocchi, e ogni blocco corrisponde a una riga del codice vero che gira sulla scheda.
Cos'è la programmazione a blocchi?
Programmare a blocchi significa costruire un programma con pezzi che si incastrano come un puzzle, invece di scriverlo. «Imposta il pin come uscita», «accendi il LED», «aspetta 1 secondo»: ogni istruzione è un blocco e, impilandoli, nasce il programma. Niente punti e virgola, parentesi o errori di battitura: ci si concentra sulla logica.
BlueGrays usa un proprio set di blocchi, mostrato nella tua lingua: se usi l'app in italiano, anche i blocchi sono in italiano. Nei progetti Arduino ed ESP32 i blocchi corrispondono a codice C++, in quelli Raspberry Pi Pico a MicroPython.
Lo scopo non è restare ai blocchi, ma capire il codice. Con blocchi e codice dello stesso progetto affiancati vedi a cosa serve ogni riga; dopo qualche progetto inizi a leggere il codice anche senza blocchi.
Come funziona la programmazione a blocchi in BlueGrays
Nell'app i blocchi si trovano nella sezione del codice di ogni progetto che li ha. In quattro passi:
- 01
Scegli un progetto a blocchi
I progetti con il badge dei blocchi hanno la versione a blocchi. Puoi anche filtrare l'elenco per vedere solo quelli.
- 02
Attiva «Mostra a blocchi»
Un interruttore nella sezione del codice trasforma il codice in blocchi. Tocca l'immagine per aprirla a schermo intero e ingrandirla.
- 03
Capire i blocchi
La scheda «Capire i blocchi» spiega il programma passo dopo passo e a ogni passo mostra solo i suoi blocchi e cosa fanno.
- 04
Passa al codice vero
Spegni l'interruttore e compare lo stesso programma come codice. Copialo nell'IDE di Arduino (in Thonny per la Pico) e caricalo sulla scheda.
Lo stesso programma: blocchi e codice
A sinistra i blocchi del progetto, a destra il codice che gira sulla scheda. Ogni blocco ha la sua riga di codice.
Blocchi

Codice
1// ─────────────────────────────────────────
2// BlueGrays · bluegrays.com
3// LED lampeggiante
4// ─────────────────────────────────────────
5// Fa lampeggiare un singolo LED, acceso e spento, ogni 100 ms. Mostra
6// l'uso base delle funzioni digitalWrite e delay.
7//
8// Pin:
9// D9 -> LED (con una resistenza da 220 ohm)
10
11void setup() {
12 pinMode(9,OUTPUT); // Pin del LED come uscita
13}
14
15void loop() {
16 digitalWrite(9,HIGH); // Accendere il LED
17 delay(100); // Attendere 100 ms (1000 ms = 1 s)
18 digitalWrite(9,LOW); // Spegnere il LED
19 delay(100);
20}
21Progetti a blocchi
Tutti i progetti con la versione a blocchi, per piattaforma. Prima quelli gratuiti: in 31 progetti blocchi e codice sono del tutto gratis.
Progetti Arduino76 progetti a blocchi

LED lampeggiante
Il primissimo ciao dell'elettronica: accendere e spegnere un solo LED. L'Arduino accende e spegne il LED a intervalli brevissimi, così la luce lampeggia veloce. Vedi nel modo più semplice come la sche

Due LED lampeggianti alternati
Due LED lampeggiano veloci a turno: quando uno si accende l'altro si spegne, come se si passassero una palla. L'Arduino tiene accesa ogni luce per un quinto di secondo e poi passa all'altra. Dopo il s

Semaforo
Una copia in miniatura del semaforo che vedi ogni giorno per strada. Il rosso resta acceso due secondi, il giallo brilla per un attimo, il verde resta due secondi, poi si torna al rosso passando di nu

Lampeggiante della polizia a LED
Proprio come le luci di un'auto della polizia: il LED rosso lampeggia tre volte velocissimo, poi tocca al blu per altre tre volte, e la sequenza si ripete senza sosta. Ti bastano due LED e due resiste

LED in sequenza
Luci che si accendono una dopo l'altra, come se corressero. L'Arduino accende sei LED uno alla volta; ognuno brilla per un istante e si spegne, così la luce percorre la fila dall'inizio alla fine e po

Effetto Supercar con LED
La classica luce che va e viene: un punto luminoso scorre da un capo all'altro di sei LED e poi torna indietro. L'Arduino accende ogni LED per un decimo di secondo prima di passare al successivo, inve

LED in sequenza a velocità regolabile
Sei LED si accendono uno dopo l'altro e la luce sembra correre da un'estremità all'altra. Girando la manopola del potenziometro la velocità di questa corsa cambia all'istante: da un lato la luce vola,

Effetto Supercar a velocità regolabile
Una luce corre su sei LED da un'estremità all'altra, torna indietro e riparte. Girando la manopola del potenziometro cambi subito la velocità della corsa: con la manopola da un lato la luce quasi vola
Progetti Arduino: tutti i progetti a blocchi
- #9Accendere un LED con un pulsante (Push)Gratis
- #10Accendere e spegnere un LED con un pulsanteGratis
- #11Misurare l'intensità luminosa con LDRGratis
- #12Luce notturna con LDRGratis
- #13Uso del cicalinoGratis
- #14Impostazione della frequenza con cicalinoGratis
- #27HC-SR04 Misura della distanza (display seriale)Gratis
- #55Temperatura e umidità con DHT11Gratis
- #16Leggere i codici di un telecomando IR
- #17Accendere e spegnere LED con ricevitore IR e telecomando
- #19Lampadina 220V con pulsante (Push)
- #20Accendere e spegnere una lampadina 220V con un pulsante
- #21Accendere una lampadina 220V con il telecomando
- #22Sistema di allarme laser
- #23Sistema di sicurezza laser
- #24Rilevatore di movimento con sensore di movimento
- #25Campanello e luce con sensore di movimento
- #26Pianoforte semplice con cicalino e pulsante
- #28Sensore di parcheggio con HC-SR04
- #29Visualizzare un messaggio su display LCD 2x16
- #30Testo che rimbalza a destra e sinistra su LCD
- #31Misurazione della distanza tramite display LCD
- #32Utilizzo dello schermo LCD con I2C
- #33Progetto di misurazione dell'altezza
- #34Controllare un LED dal telefono tramite Bluetooth
- #35Utilizzo del servomotore
- #36Funzionamento del servomotore con potenziometro
- #37Lettura di un sensore reed
- #38Sensore porta con contatto reed
- #39Utilizzo dei LED RGB
- #40Transizione cromatica omogenea con LED RGB
- #42Visualizzare i numeri da 0 a 99 su display a 7 segmenti
- #43Contatore con display a 7 segmenti e pulsanti
- #44Misura di temperatura con NTC e display Lcd 2x16
- #45Configurazione del modulo orologio RTC DS1302
- #46DS1302 Orologio RTC con display LCD
- #47Numeri da 0 a 9999 su display a 7 segmenti a 4 cifre
- #48Orologio digitale con display a 7 segmenti a 4 cifre
- #49Animazione bomba con display a 7 segmenti a 4 cifre
- #50Utilizzo del sensore di fiamma
- #51Utilizzo del sensore di gas
- #52Allarme del sensore di fiamma e gas
- #53Lettura del valore RFID
- #54Autenticazione RFID
- #56Voltmetro digitale con display LCD
- #58Comunicazione bidirezionale tra 2 Arduino
- #59Controllo LED con joystick
- #60Servocomando con joystick
- #61Funzionamento del tastierino 3x4
- #62Controllo LED con tastierino 3x4
- #63Funzionamento del tastierino 4x4
- #64Serratura con password, tastierino 4x4 e LCD
- #67Utilizzo del motore passo-passo
- #68Costruzione del servomotore a 360 gradi dal motore passo-passo
- #69Utilizzo della striscia LED WS2812B
- #70Lampeggiante della polizia con WS2812B
- #71LED in sequenza con WS2812B
- #72LED in sequenza con WS2812B (riempimento)
- #73Effetto Supercar con WS2812B
- #74WS2812B Tuono nero 3 pezzi
- #75WS2812B Animazione 1
- #77Lettura della riflessione (prossimità) con TCRT5000
- #78TCRT5000 Rilevamento di superfici bianche e nere
- #82Illuminazione intelligente di scale e corridoi
- #83Stazione di irrigazione intelligente
- #96Ruota della roulette Arduino
- #97Test di reazione con segnale acustico con Arduino
- #99SG90 Servocomando angolare con potenziometro
Progetti ESP3225 progetti a blocchi

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.

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.

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.
Progetti ESP32: tutti i progetti a blocchi
- #122Allarme rilevatore di gas/fumo ESP32 MQ-2Gratis
- #123Lettore di schede RFID RC522 per ESP32 (con LCD)Gratis
- #108LED Sequenziale ESP32 (Knight Rider)
- #109ESP32 Effetto Lampeggiante della Polizia
- #110Dissolvenza LED ESP32 con PWM
- #111Controllo LED RGB ESP32
- #112ESP32 Luce notturna con LDR
- #114ESP32 Riproduzione di melodia con cicalino
- #115Luminosità di un LED con Potenziometro su ESP32 (Analogico → PWM)
- #118Servomotore ESP32 (controllo tramite potenziometro)
- #119Schermo LCD I2C per ESP32 (16x2)
- #120Orologio digitale con ESP32 e RTC DS1307 (I2C + LCD)
- #121Illuminazione automatica con sensore di movimento PIR ESP32
- #125ESP32 TM1637 Display a 7 segmenti a 4 cifre
- #126Controllo della striscia LED NeoPixel WS2812B con ESP32
- #139Sistema di irrigazione intelligente per piante ESP 32
- #140Allarme con sensore di movimento ESP32
Progetti Raspberry Pi Pico10 progetti a blocchi

Lampeggio LED Integrato Raspberry Pi Pico (GP25 LED Onboard)
Il progetto di apertura della serie Raspberry Pi Pico! Facciamo lampeggiare il LED integrato (LED verde collegato a GP25) per verificare che la scheda funzioni — un classico primo esperimento "Hello World". NESSUN componente esterno, solo Pico e cavo USB. Il codice è scritto in **MicroPython** (il linguaggio ufficialmente supportato dalla Raspberry Pi Foundation). Impara la classe `machine.Pin`, la modalità `Pin.OUT`, i metodi `led.on()/off()` e `time.sleep()` in Thonny IDE. Segui ogni commutazi

Accensione di un LED esterno con Raspberry Pi Pico (GP14 + breadboard)
Il passo successivo dopo il LED integrato di Pico: collegare un LED esterno alla breadboard e controllarlo tramite il pin GP14. Con questo progetto imparerai come utilizzare qualsiasi pin GPIO generico del Pico come uscita, la polarità del LED (stelo lungo = anodo/+, stelo corto = catodo/–) e perché è indispensabile un resistore di limitazione della corrente (220 Ω). Se non inserisci il resistore, l’LED riceverà una corrente eccessiva e potrebbe bruciarsi. Il circuito è molto semplice: Pico GP14

Raspberry Pi Pico Due LED alternati (Flip-Flop, GP14 + GP13)
Il passo successivo dopo il LED singolo sul Pico: due LED lampeggiano alternativamente in un pattern flip-flop classico. Due LED di colori diversi (rosso su GP14, verde su GP13) scambiano stati ogni 500ms. `Pin.toggle()` di MicroPython rende il codice breve. Base di semafori, lampeggianti.

Simulatore Semaforo Raspberry Pi Pico (3 LED Sequenziali, GP11/GP12/GP13)
Simuliamo un vero semaforo con LED rosso, giallo e verde. Verde 4 sec "vai", giallo 1,5 sec "preparati", rosso 3 sec "fermati" e rosso+giallo 1 sec "partenza" (pattern europeo). Impara la definizione di funzione, la logica della macchina a stati e la sincronizzazione multi-GPIO. Circuito semplice: 3 LED su GP11/GP12/GP13.

Raspberry Pi Pico Effetto Lampeggiante Polizia (Rosso + Blu Stroboscopio, GP11 + GP12)
Simuliamo il lampeggiante di un'auto della polizia con un Raspberry Pi Pico nella sua forma più semplice! 🚨 I LED rosso e blu si alternano (flip-flop): mentre il rosso è acceso il blu è spento, e ogni 0,3 secondi si scambiano, all'infinito. Il codice scrive i due passi direttamente in un unico ciclo `while True`; la velocità si regola con la costante `WAIT_MS`.

Raspberry Pi Pico Flip-Flop Polizia 3 Burst (2 LED GP11 + GP12)
Variazione ritmica del progetto lampeggiante polizia — flip-flop 3 burst! 🚨 Stesso circuito 2 LED come #151, ma pattern diverso: LED rosso lampeggia 3 volte velocemente, poi blu 3 volte, all'infinito.

Raspberry Pi Pico LED Controllato da Pulsante (Push, GP14 + GP2)
Primo progetto di **input** con Pico — lettura pulsante! 🔘 LED si accende mentre il pulsante è premuto. Impara `Pin.IN`, `Pin.PULL_UP` e `button.value()`. GP14 LED, GP2 pulsante con PULL_UP interno. Premuto = 0, rilasciato = 1 — standard.

Raspberry Pi Pico Pulsante Toggle LED (GP14 + GP2)
Pulsante + LED — livello successivo! 🔁 A differenza di #155, non serve tenere premuto. Premi e rilascia → LED acceso. Premi di nuovo → LED spento (toggle). Stesso circuito di #155, grande differenza di codice. Impara edge detection, state tracking e debounce.
Progetti Raspberry Pi Pico: tutti i progetti a blocchi
Per chi è?
Bambini e genitori
Il coding per bambini resta impresso molto di più quando finisce con un LED che si accende sul tavolo. I blocchi rendono leggibile il programma e il circuito lo montate insieme.
Insegnanti e laboratori
In una lezione di robotica o di tecnologia puoi spiegare un progetto prima con i blocchi e poi passare al codice. Ogni progetto ha la lista dei componenti e lo schema.
Principianti
Con i blocchi capisci la logica dei tuoi primi progetti Arduino molto più in fretta. Parti dai blocchi e passa al codice quando ti senti pronto.
Domande frequenti
Cos'è la programmazione basata su blocchi?
È un modo di programmare in cui le istruzioni non si scrivono ma compaiono come blocchi che si incastrano come pezzi di un puzzle. Dato che gli errori di battitura sono impossibili, principianti e bambini capiscono più facilmente la logica di un programma.
Quanti progetti BlueGrays hanno i blocchi?
Al momento 111: 76 progetti Arduino, 25 ESP32 e 10 Raspberry Pi Pico. L'elenco cresce man mano che convertiamo altri progetti.
La programmazione a blocchi è gratuita?
L'app è gratuita. I blocchi e il codice di 31 progetti sono aperti a tutti. Negli altri progetti i blocchi si sbloccano con Premium, come il codice.
Posso caricare i blocchi direttamente sulla scheda?
No. I blocchi servono a leggere e capire il programma; sulla scheda va sempre il codice vero del progetto. Lo copi nell'IDE di Arduino, o in Thonny per la Pico, e lo carichi.
Posso creare programmi miei con i blocchi?
Non ancora. Prepariamo noi i blocchi di ogni progetto e li facciamo corrispondere uno a uno al codice, così dietro ogni blocco c'è un programma testato e funzionante.
Che differenza c'è con Scratch o mBlock?
Con Scratch e mBlock trascini i blocchi sul computer per scrivere il tuo programma. In BlueGrays ogni progetto a blocchi arriva con schema, lista dei componenti e codice vero, e i blocchi sono la versione leggibile di quel codice. Le due cose si completano.
È adatto ai bambini? Da che età si può iniziare?
I bambini di 9 o 10 anni che leggono con sicurezza possono iniziare insieme a un adulto. I primi progetti non richiedono saldature: si montano su breadboard con LED, pulsanti e un buzzer.
In quali lingue sono i blocchi?
In italiano, inglese, turco, tedesco, spagnolo e francese. I blocchi compaiono nella lingua in cui usi l'app.
L'app BlueGrays
Inizia a programmare a blocchi dal telefono
Blocchi, schema, lista dei componenti e codice vero in un'unica schermata. Gratis su iOS e Android.
Inquadra con il telefono
Punta la fotocamera sul codice e si apre lo store del tuo telefono.

