🎙️ Arduino • Bluetooth • Relè

Controllare dispositivi con la voce usando Arduino e Bluetooth

Un progetto di domotica con Arduino Uno, modulo Bluetooth HC-05 e quattro relè: i comandi vocali riconosciuti dallo smartphone vengono trasformati in semplici stringhe che Arduino usa per accendere e spegnere i dispositivi.

DifficoltàIntermedia
Tempo30–40 minuti
Cosa impariBluetooth e comandi testuali
Applicazione non disponibile: il progetto utilizza l’app Android BT Voice Control for Arduino, che non è più disponibile sul Google Play Store. Il circuito, lo sketch e il principio di funzionamento restano utili per capire come inviare comandi testuali ad Arduino tramite Bluetooth, ma questa specifica configurazione non può essere completata seguendo l’app indicata.
In poche parole: lo smartphone converte la voce in testo e invia la frase ad Arduino attraverso il modulo HC-05. Arduino confronta il testo ricevuto con i comandi previsti nello sketch e attiva il relè corrispondente.

Cosa imparerai

  • come collegare Arduino a uno smartphone tramite Bluetooth;
  • come usare un modulo HC-05 per ricevere dati seriali;
  • come interpretare semplici comandi testuali;
  • come controllare più relè da Arduino;
  • come associare una frase a una determinata uscita;
  • perché maiuscole e minuscole devono coincidere nel confronto delle stringhe.

Componenti principali

🔌 Arduino Uno
📶 Modulo Bluetooth HC-05
⚡ Modulo a 4 relè
🔗 Cavetti di collegamento
📱 Smartphone Android
🧩 Breadboard

🧰 Kit Arduino consigliato

Un kit completo è utile per avere breadboard, cavetti, resistenze, LED e molti componenti di base per sperimentare con 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. All’interno troverai spiegazioni semplici, schemi chiari e molti progetti pratici pensati per chi parte da zero.

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

Schema del circuito

Schema Arduino controllo vocale Bluetooth quattro relè

Schema del circuito con Arduino, Bluetooth e quattro relè.

Come funziona il controllo vocale

Il riconoscimento della voce non viene eseguito direttamente da Arduino. È lo smartphone a trasformare ciò che viene pronunciato in una stringa di testo.

La frase riconosciuta viene quindi inviata tramite Bluetooth al modulo HC-05. Arduino riceve la stringa e la confronta con i comandi definiti nel programma.

Esempio: pronunciando Accendi la luce, la stringa ricevuta può essere confrontata con il comando *Accendi la luce. Se coincide, Arduino porta l’uscita del relè nello stato previsto.

Esempio di codice

Nel progetto è mostrata questa logica di base per il comando della luce:

Confronto del comando ricevuto
/*
  ESEMPIO DI GESTIONE DI UN COMANDO VOCALE RICEVUTO VIA BLUETOOTH

  La stringa "data" contiene il testo ricevuto dallo smartphone.
  Il confronto fa distinzione tra maiuscole e minuscole.

  Esempio:
  "*Accendi la luce"  -> accende il relè
  "*Spegni la luce"   -> spegne il relè

  Il modulo relè del progetto è gestito con logica active LOW:
  LOW  = relè attivo
  HIGH = relè disattivo
*/

// COMANDO LUCE
if (data == "*Accendi la luce") {

  digitalWrite(luce, LOW);

  Serial.println("LUCE ON");
}

else if (data == "*Spegni la luce") {

  digitalWrite(luce, HIGH);

  Serial.println("LUCE OFF");
}

Attenzione a maiuscole e minuscole

Il confronto delle stringhe è sensibile alle maiuscole. Quindi Accendi la luce e accendi la luce sono due stringhe diverse.

Consiglio: quando definisci i comandi, usa frasi brevi e sempre scritte nello stesso modo. Questo riduce gli errori di riconoscimento.

Scarica lo sketch

⬇️ Scarica arduino_comandi_vocali.zip

Il file contiene il programma associato al circuito. Lo sketch non richiede librerie aggiuntive secondo la documentazione disponibile.

L’app BT Voice Control for Arduino

La configurazione prevedeva l’accoppiamento dello smartphone con il modulo HC-05 e l’uso della funzione Connect Robot dell’app per selezionare il dispositivo Bluetooth.

BT Voice Control for Arduino schermata applicazione
BT Voice Control connessione HC-05

Dopo la connessione, il pulsante con il microfono avviava il riconoscimento vocale. Il testo riconosciuto veniva quindi inviato via Bluetooth ad Arduino.

Comando vocale inviato ad Arduino via Bluetooth

Perché il progetto è ancora interessante

Il principio tecnico non dipende da una particolare interfaccia grafica: Arduino riceve semplicemente testo attraverso una connessione seriale Bluetooth. Questo permette di capire molto bene la separazione tra riconoscimento vocale, eseguito dallo smartphone, e controllo degli attuatori, eseguito da Arduino.

Controllare lampade e altri dispositivi

Il modulo a quattro relè consente di associare più uscite a comandi differenti. Per esempio puoi prevedere frasi distinte per luce, TV, ventilazione o altri dispositivi compatibili con il circuito realizzato.

Sicurezza elettrica: per le prove è preferibile utilizzare carichi a bassa tensione. Se i relè comandano dispositivi collegati alla rete elettrica, servono cablaggi, isolamento, contenitore e protezioni adeguati. Arduino non deve essere collegato direttamente alla tensione di rete.

Debug rapido

  • verifica che HC-05 sia correttamente alimentato e accoppiato;
  • controlla la comunicazione seriale tra HC-05 e Arduino;
  • verifica che i comandi nello sketch coincidano esattamente con le stringhe ricevute;
  • ricorda che maiuscole e minuscole vengono considerate differenti;
  • controlla se il modulo relè è active LOW oppure active HIGH;
  • prova prima ogni relè con un carico a bassa tensione.

Varianti del progetto

  • sostituire l’app con un’interfaccia Bluetooth compatibile che invii stringhe personalizzate;
  • usare ESP32 e Bluetooth integrato;
  • aggiungere un display per mostrare l’ultimo comando ricevuto;
  • aggiungere conferme sonore tramite buzzer;
  • controllare più relè con frasi differenti;
  • normalizzare le stringhe ricevute per ignorare le differenze tra maiuscole e minuscole;
  • passare a Wi-Fi e controllo tramite rete locale.

Cosa devi ricordare

  • Il riconoscimento vocale viene eseguito dallo smartphone.
  • HC-05 trasmette ad Arduino la stringa risultante.
  • Arduino confronta il testo con i comandi definiti nel programma.
  • I relè permettono di comandare più dispositivi.
  • Il confronto distingue maiuscole e minuscole.
  • L’app indicata per questo progetto non è più disponibile.

Domande frequenti

Arduino riconosce direttamente la voce?

No. In questa configurazione il riconoscimento viene eseguito dallo smartphone, che invia ad Arduino una stringa tramite Bluetooth.

Perché “Accendi la luce” funziona e “accendi la luce” può non funzionare?

Perché il confronto delle stringhe distingue lettere maiuscole e minuscole. La frase deve corrispondere a quella prevista nel codice.

L’app indicata è ancora disponibile?

No. BT Voice Control for Arduino non è più disponibile sul Google Play Store, quindi questa specifica procedura non può essere completata con l’app indicata.

Posso comunque usare lo sketch?

Sì, come base tecnica. Serve però un sistema alternativo capace di inviare via Bluetooth le stesse stringhe attese dal programma.