🌈 Arduino • RGB LED • Bluetooth HC-05

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.

Compatibilità attuale: l’app Android utilizzata per il controllo non è più disponibile sul Google Play Store. Lo sketch Arduino e lo schema restano comunque utili per comprendere la logica del controllo RGB tramite Bluetooth.
ComunicazioneBluetooth
ModuloHC-05
UscitaLED RGB / striscia

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.

Arduino controllo LED RGB Bluetooth

Esempio di controllo RGB tramite Arduino e Bluetooth.

Materiale necessario

🔌 Arduino Uno, Mega, Leonardo o Yún
📶 Modulo Bluetooth HC-05
🌈 LED RGB
Ω Resistenze per i canali LED
🔗 Cavetti jumper
🧩 Breadboard
📱 Smartphone Android
⚡ MOSFET o driver, se usi una striscia RGB

🧰 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 consigliato

Link 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 Arduino

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

RossoVerdeBluColore risultante
ONOFFOFFRosso
OFFONOFFVerde
OFFOFFONBlu
ONONOFFGiallo
ONOFFONMagenta
OFFONONCiano
ONONONBianco

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.

TX e RX: i collegamenti seriali vanno incrociati, quindi TX del modulo va verso RX di Arduino e RX del modulo verso TX. Verifica anche i livelli logici del pin RX del modulo HC-05.

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.

Importante: per una striscia RGB utilizza MOSFET o un driver adeguato per i tre canali R, G e B, insieme a un’alimentazione dimensionata per la striscia. Arduino deve fornire solo i segnali di comando.

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:

RGBRisultato indicativo
25500Rosso pieno
2551000Arancio
1280255Viola
255255255Bianco

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.

Versione moderna: con ESP32 puoi eliminare il modulo HC-05 e utilizzare direttamente Bluetooth Low Energy oppure Wi-Fi, creando una nuova interfaccia web o mobile.

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.