Cerca codice

Codice Arduino e video della lampadina AC Bluetooth HC-06

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.

HC-06-module

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

ProduttoreHC
Numero di parteHC-06
Tensione logica/IO3.3 V - 6 V
Tensione di alimentazione3.3 V - 6 V
Corrente di uscita (per canale)20 mA
Corrente di picco (per canale)50 mA
Indicazioni sulla frequenza PWMNon applicabile
Soglie logiche di ingresso0.2 V (basso) / 0.7 V (alto)
Caduta di tensione / RDS(on)/ saturazione0,5 V
Limiti termici85 °C
PacchettoModulo
Note / variantiBluetooth 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

HC-06_bluetooth_wiring

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/UART

Questa 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 pin

Thesetup()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

Immagini

HC-06-module
HC-06-module
HC-06_bluetooth_wiring
HC-06_bluetooth_wiring
52-This is the Arduino code for an HC-06 Bluetooth AC bulb ON/OFF.
Lingua: C++
/*
 * 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

Risorse e riferimenti

File📁

File Fritzing