Codice Arduino e video della lampadina AC Bluetooth HC-06
In questo tutorial esploreremo come controllare una lampadina AC usando il modulo Bluetooth HC-06 e un Arduino. Il progetto consente di accendere e spegnere la lampadina usando comandi inviati tramite un dispositivo connesso via Bluetooth. Questa funzione di controllo remoto lo rende un progetto pratico e divertente per i principianti che desiderano integrare la funzionalità Bluetooth nei loro progetti Arduino.

Seguendo i passaggi illustrati in questo tutorial, potrai configurare l'hardware, scrivere il codice e controllare la luce dal tuo smartphone o tablet. Se hai bisogno di ulteriori chiarimenti, assicurati di guardare il video associato a questo tutorial (nel video a 0:00).
Hardware spiegato
I componenti principali di questo progetto includono il modulo Bluetooth HC-06, una scheda Arduino e un modulo relè per il controllo della lampadina in corrente alternata (AC). Il modulo HC-06 è responsabile di stabilire una connessione Bluetooth, consentendo al tuo dispositivo di comunicare in modalità wireless con l'Arduino. Ha quattro pin: VCC (alimentazione), GND (massa), TX (trasmissione) e RX (ricezione).
Il modulo relè funge da interruttore per controllare la lampadina in corrente alternata. Si collega alla linea di alimentazione della lampadina, permettendo di completare il circuito (accendere la lampadina) o interromperlo (spegnere la lampadina) in base ai segnali ricevuti dall'Arduino. L'Arduino funge da cervello dell'operazione, interpretando i comandi inviati dal modulo Bluetooth e controllando di conseguenza il relè.
Dettagli della scheda tecnica
| Produttore | HC |
|---|---|
| Numero di parte | HC-06 |
| Tensione logica/IO | 3.3 V - 6 V |
| Tensione di alimentazione | 3.3 V - 6 V |
| Corrente di uscita (per canale) | 20 mA |
| Corrente di picco (per canale) | 50 mA |
| Indicazioni sulla frequenza PWM | Non applicabile |
| Soglie logiche di ingresso | 0.2 V (basso) / 0.7 V (alto) |
| Caduta di tensione / RDS(on)/ saturazione | 0,5 V |
| Limiti termici | 85 °C |
| Pacchetto | Modulo |
| Note / varianti | Bluetooth 2.0 |
- Assicurarsi che i livelli di tensione siano adeguati per evitare di danneggiare il modulo.
- Utilizzare un dissipatore di calore adeguato se il modulo viene impiegato in applicazioni ad alto carico.
- Mantieni i pin TX e RX correttamente collegati per evitare problemi di comunicazione.
- Ricontrollare le specifiche del relè per assicurarsi che corrispondano ai valori di tensione e di corrente della lampadina a corrente alternata.
- Assicurare un adeguato isolamento per migliorare la sicurezza quando si lavora con tensione alternata.
Istruzioni di cablaggio

Per collegare il modulo Bluetooth HC-06 e il relè all'Arduino, inizia collegando il pin VCC dell'HC-06 al pin 5V dell'Arduino e il pin GND alla massa (GND) dell'Arduino. Successivamente collega il pin TX dell'HC-06 al pin digitale 10 dell'Arduino e il pin RX al pin digitale 11. Questa configurazione permette all'Arduino di comunicare con il modulo Bluetooth.
Per il modulo relè, collega il pin di controllo (spesso etichettato come IN) al pin digitale 2 dell'Arduino. Il pin VCC del relè dovrebbe essere collegato anche all'alimentazione a 5V, e il pin di massa deve andare alla massa comune. Assicurati di collegare i fili della lampada AC ai terminali normalmente aperto (NO) e comune (COM) del relè per controllare efficacemente l'alimentazione della lampada.
Esempi di codice e guida passo-passo
Il codice Arduino inizia includendo ilSoftwareSerialla libreria, che consente la comunicazione seriale su altri pin digitali. Il modulo Bluetooth viene inizializzato con il pin TX collegato al pin 10 e il pin RX collegato al pin 11:
SoftwareSerial BT(10, 11); // creates a "virtual" serial port/UARTQuesta configurazione consente all'Arduino di comunicare efficacemente con il modulo HC-06. Il pin di controllo per il relè è definito come segue:
#define SW 2 // define pin 2 as control pinThesetup()La funzione inizializza la connessione Bluetooth e imposta il pin di controllo del relè come uscita:
void setup() { pinMode(SW, OUTPUT); BT.begin(9600); }Nelloop()Nella funzione, l'Arduino verifica la presenza di comandi Bluetooth in arrivo. Se viene ricevuto un '1', il relè viene attivato per accendere la luce:
if (a=='1') { digitalWrite(SW, LOW); BT.println("Light on"); }Viceversa, se viene ricevuto un '2', il relè viene disattivato per spegnere la luce:
if (a=='2') { digitalWrite(SW, HIGH); BT.println("Light off"); }Per ulteriori dettagli e il codice completo, consultare il programma caricato sotto l'articolo.
Dimostrazione / Cosa aspettarsi
Una volta che tutto è impostato correttamente, puoi accendere e spegnere la lampadina AC usando i comandi Bluetooth. Digitando '1' la lampadina si accende, mentre digitando '2' si spegne. Assicurati che il tuo dispositivo Bluetooth sia accoppiato con il modulo HC-06 prima di inviare i comandi. Se i comandi non vengono riconosciuti, controlla il cablaggio e assicurati che l'HC-06 sia correttamente collegato (nel video a 3:30).
Marcatori temporali del video
- 00:00- Introduzione al progetto
- 01:45- Configurazione hardware
- 04:30- Spiegazione del codice
- 06:15- Dimostrazione dell'app
- 08:00- Suggerimenti per la risoluzione dei problemi
/*
* This is the Arduino code for the HC-06 Bluetooth module
* to measure the distance using Arduino for a robotic car and other applications
* Watch the video https://youtu.be/-E9J9ExdZ20
*
* Written by Ahmad Nejrabi for Robojax Video
* Date: January 1, 2018, in Ajax, Ontario, Canada
* Permission granted to share this code given that this
* note is kept with the code.
* Disclaimer: this code is "AS IS" and for educational purposes only.
*
*/
// original source code: https://github.com/tronixlabsAU/HC06
#include <SoftwareSerial.h>
SoftwareSerial BT(10, 11);
// creates a "virtual" serial port/UART
// connect BT module TX to D10
// connect BT module RX to D11
// connect BT Vcc to 5V, GND to GND
#define SW 2 // define pin 2 as control pin
// by Robojax for Robojax.com, January 1, 2018
void setup()
{
// set digital pin to control as an output
pinMode(SW, OUTPUT);
// set the data rate for the SoftwareSerial port
BT.begin(9600);
// Send test message to other device
BT.println("Hello from Arduino");
}
char a; // stores incoming character from other device
void loop()
{
if (BT.available())
// if text arrived from BT serial...
{
a=(BT.read());
if (a=='1')
{
digitalWrite(SW, LOW);// Turn LIGHT ON
BT.println("Light on");
}
if (a=='2')
{
digitalWrite(SW, HIGH);// Turn LIGHT OFF
BT.println("Light off");
}
if (a=='?')
{
BT.println("Send '1' to turn LIGHT on");
BT.println("Send '2' to turn LIGHT off");
}
}
}
Cose di cui potresti avere bisogno
-
Amazon
Risorse e riferimenti
-
EsternoCodice Bluetooth HC-06 su GitHubgithub.com
File📁
File Fritzing
-
Bluetooth HC-06 Maschio fritzing
Bluetooth HC-06 Male.fzpz0.04 MB