Controllare un LED RGB con Arduino e Bluetooth HC-05
Realizziamo un sistema per controllare da smartphone il colore di un LED RGB o di una striscia LED, utilizzando Arduino e un modulo Bluetooth HC-05.
Come funziona il progetto
Il modulo HC-05 riceve via Bluetooth i comandi inviati dallo smartphone e li trasferisce ad Arduino tramite comunicazione seriale. Arduino interpreta i dati e modifica i tre canali del LED RGB: rosso, verde e blu.
Variando l’intensità dei tre colori di base è possibile ottenere numerose tonalità. La stessa logica può essere estesa anche a una striscia RGB, utilizzando però uno stadio di potenza adeguato.
Esempio di controllo RGB tramite Arduino e Bluetooth.
Materiale necessario
🧰 Kit Arduino consigliato
Un kit completo è utile per avere già a disposizione breadboard, cavetti, resistenze, LED e molti componenti di base per i progetti Arduino.
👉 Guarda il kit Arduino consigliatoLink di affiliazione Amazon: in qualità di Affiliato Amazon ricevo un guadagno dagli acquisti idonei, senza alcun costo aggiuntivo per te.
📘 Vuoi imparare Arduino passo dopo passo?
Se vuoi approfondire e realizzare progetti più completi, puoi dare un’occhiata anche ai miei libri dedicati ad Arduino.
👉 Scopri i miei libri su ArduinoLink di affiliazione Amazon: in qualità di Affiliato Amazon ricevo un guadagno dagli acquisti idonei, senza alcun costo aggiuntivo per te.
Perché un LED RGB può creare molti colori
Un LED RGB contiene tre LED nello stesso contenitore: uno rosso, uno verde e uno blu. Controllando separatamente la luminosità di ciascun canale, i colori si sommano e producono tonalità differenti.
| Rosso | Verde | Blu | Colore risultante |
|---|---|---|---|
| ON | OFF | OFF | Rosso |
| OFF | ON | OFF | Verde |
| OFF | OFF | ON | Blu |
| ON | ON | OFF | Giallo |
| ON | OFF | ON | Magenta |
| OFF | ON | ON | Ciano |
| ON | ON | ON | Bianco |
Comunicazione Bluetooth
HC-05 funziona come un collegamento seriale wireless. Dopo l’abbinamento con lo smartphone, i comandi vengono ricevuti da Arduino e possono essere associati ai colori o ai livelli PWM.
Schema del circuito
Lo schema completo è disponibile come file immagine da scaricare.
⬇️ Scarica lo schema Arduino RGB Bluetooth
Usare una striscia LED RGB
Una normale striscia RGB richiede molta più corrente rispetto a un singolo LED. I pin di Arduino non devono quindi pilotarla direttamente.
Controllo della luminosità con PWM
Per ottenere transizioni morbide e tonalità intermedie, i tre canali possono essere collegati a pin PWM e pilotati con analogWrite().
Con valori compresi tra 0 e 255 puoi regolare separatamente rosso, verde e blu. Per esempio:
| R | G | B | Risultato indicativo |
|---|---|---|---|
| 255 | 0 | 0 | Rosso pieno |
| 255 | 100 | 0 | Arancio |
| 128 | 0 | 255 | Viola |
| 255 | 255 | 255 | Bianco |
Scarica lo sketch Arduino
⬇️ Scarica arduino_rgb_string_led_bluetooth_control.ino
Perché il progetto resta interessante
Anche senza l’app dedicata, il principio è ancora molto utile: Arduino riceve dati via seriale Bluetooth e li trasforma in valori di uscita. È lo stesso concetto che si può applicare a LED, motori, relè e altri dispositivi.
Debug rapido
- verifica che HC-05 sia correttamente abbinato allo smartphone;
- controlla TX e RX;
- verifica il baud rate del modulo;
- controlla se il LED RGB è ad anodo comune o catodo comune;
- usa una resistenza per ogni canale del LED;
- non alimentare una striscia RGB direttamente dai pin Arduino;
- se utilizzi PWM, verifica che i pin scelti supportino
analogWrite().
Varianti del progetto
- aggiungere effetti fade automatici;
- creare sequenze di colori;
- controllare più strisce RGB;
- aggiungere un sensore di luminosità;
- sincronizzare i colori con altri eventi;
- migrare il progetto su ESP32;
- creare una nuova app o dashboard web.
Cosa devi ricordare
- HC-05 riceve i comandi Bluetooth.
- Arduino controlla i tre canali R, G e B.
- Con PWM si possono ottenere molte tonalità.
- Una striscia RGB richiede uno stadio di potenza dedicato.
- L’app Android utilizzata non è più disponibile, ma sketch e schema restano utilizzabili come riferimento.
Domande frequenti
Posso usare una striscia LED RGB direttamente con Arduino?
No. Una striscia assorbe molta più corrente di quella che i pin Arduino possono fornire. Usa MOSFET o un driver adeguato.
Posso usare HC-06 invece di HC-05?
In molti casi sì, se serve soltanto una semplice comunicazione seriale Bluetooth. Verifica comunque baud rate e collegamenti del modulo specifico.
Perché i colori risultano invertiti?
Controlla l’ordine dei pin R, G e B e verifica se il LED è ad anodo comune o catodo comune, perché la logica di pilotaggio può cambiare.
Posso modernizzare il progetto con ESP32?
Sì. ESP32 integra già Bluetooth e Wi-Fi e permette di eliminare il modulo HC-05.

