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:

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

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

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

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

LED lampeggiante a blocchi
LED lampeggianteApri a grandezza intera

Codice

Arduino (C++)
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}
21
Apri il progetto: LED lampeggiante

Progetti 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
#1Principiante

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

4.6(180)
998
Due LED lampeggianti alternati
#2Principiante

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

4.6(103)
329
Semaforo
#3Principiante

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

4.8(129)
370
Lampeggiante della polizia a LED
#4Principiante

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

4.7(99)
238
LED in sequenza
#5Intermedio

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

4.6(85)
202
Effetto Supercar con LED
#6Intermedio

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

4.8(105)
198
LED in sequenza a velocità regolabile
#7Intermedio

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,

4.6(71)
142
Effetto Supercar a velocità regolabile
#8Intermedio

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

4.5(59)
118

Progetti Arduino: tutti i progetti a blocchi

Progetti ESP3225 progetti a blocchi

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)
97
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
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
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)
44
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)
55

Progetti Raspberry Pi Pico10 progetti a blocchi

Lampeggio LED Integrato Raspberry Pi Pico (GP25 LED Onboard)
#147Principiante

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

5.0(1)
9
Accensione di un LED esterno con Raspberry Pi Pico (GP14 + breadboard)
#148Principiante

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

4.5(2)
7
Raspberry Pi Pico Due LED alternati (Flip-Flop, GP14 + GP13)
#149Principiante

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.

5.0(1)
17
Simulatore Semaforo Raspberry Pi Pico (3 LED Sequenziali, GP11/GP12/GP13)
#150Principiante

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.

4.0(1)
12
Raspberry Pi Pico Effetto Lampeggiante Polizia (Rosso + Blu Stroboscopio, GP11 + GP12)
#151Principiante

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

4.7(3)
10
Raspberry Pi Pico Flip-Flop Polizia 3 Burst (2 LED GP11 + GP12)
#152Principiante
Premium

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.

0.0(0)
15
Raspberry Pi Pico LED Controllato da Pulsante (Push, GP14 + GP2)
#155Principiante
Premium

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.

0.0(0)
11
Raspberry Pi Pico Pulsante Toggle LED (GP14 + GP2)
#156Principiante
Premium

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.

0.0(0)
9

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.

Pagine per piattaforma