Arduino-kode en HC-06 Bluetooth AC-gloeilampvideo
In hierdie tutoriaal gaan ons ondersoek hoe om 'n WS-gloeilamp te beheer met behulp van die HC-06 Bluetooth-module en 'n Arduino. Die projek laat jou toe om die gloeilamp aan en af te skakel deur gebruik te maak van opdragte wat via 'n Bluetooth-gekoppelde toestel gestuur word. Hierdie afstandbeheer-funksie maak dit 'n praktiese en prettige projek vir beginners wat Bluetooth-funksionaliteit in hul Arduino-projekte wil integreer.

Deur die stappe in hierdie tutoriaal te volg, sal jy die hardeware kan opstel, die kode skryf, en die lig vanaf jou slimfoon of tablet kan beheer. As jy verdere verduideliking nodig het, maak seker om die video wat met hierdie tutoriaal geassosieer word, te bekyk (in video by 0:00).
Hardeware Verduidelik
Die hoofkomponente van hierdie projek sluit die HC-06 Bluetooth-module, 'n Arduino-bord, en 'n relêmodule vir die beheer van die WS-gloeilamp in. Die HC-06-module is verantwoordelik vir die vestiging van 'n Bluetooth-verbinding, wat jou toestel in staat stel om draadloos met die Arduino te kommunikeer. Dit het vier penne: VCC (krag), GND (grond), TX (stuur), en RX (ontvang).
Die relêmodule dien as 'n skakelaar om die WS-gloeilamp te beheer. Dit koppel aan die gloeilamp se kraglyn, wat dit toelaat om die stroombaan te voltooi (gloeilamp aanskakel) of die stroombaan te breek (gloeilamp afskakel) gebaseer op seine wat van die Arduino ontvang word. Die Arduino dien as die brein van die operasie, wat opdragte wat van die Bluetooth-module gestuur word, interpreteer en die relê dienooreenkomstig beheer.
Datablad Besonderhede
| Vervaardiger | HC |
|---|---|
| Deelnommer | HC-06 |
| Logika/IO-spanning | 3.3 V – 6 V |
| Toevoerspanning | 3.3 V – 6 V |
| Uitsetstroom (per kanaal) | 20 mA |
| Piekstroom (per kanaal) | 50 mA |
| PWM-frekwensie riglyn | Nie van toepassing nie |
| Inset logika drempels | 0.2 V (laag) / 0.7 V (hoog) |
| Spanningval / RDS(on) / versadiging | 0.5 V |
| Termiese limiete | 85 °C |
| Verpakking | Module |
| Notas / variante | Bluetooth 2.0 |
- Verseker behoorlike spanningsvlakke om skade aan die module te vermy.
- Gebruik behoorlike hitte-afvoer as die module in hoë-las toepassings gebruik word.
- Hou die TX- en RX-penne korrek gekoppel om kommunikasieprobleme te vermy.
- Kontroleer relêspesifikasies dubbeld om by die WS-gloeilamp se spanning- en stroomgraderings te pas.
- Implementeer behoorlike isolasie om veiligheid te verbeter wanneer met WS-spanning gewerk word.
Bedradingsinstruksies

Om die HC-06 Bluetooth-module en relê aan die Arduino te bedraad, begin deur die VCC-pen van die HC-06 aan die 5V-pen op die Arduino te koppel en die GND-pen aan die Arduino se grond. Koppel volgende die TX-pen van die HC-06 aan digitale pen 10 op die Arduino en die RX-pen aan digitale pen 11. Hierdie opstelling laat die Arduino toe om met die Bluetooth-module te kommunikeer.
Vir die relêmodule, koppel die beheerpen (dikwels gemerk as IN) aan digitale pen 2 op die Arduino. Die VCC-pen van die relê moet ook aan die 5V-kragtoevoer koppel, en die grondpen moet na die gemeenskaplike grond gaan. Maak seker dat jy die WS-gloeilampdrade aan die relê se normaal-oop (NO) en gemeenskaplike (COM) terminale koppel om die krag na die gloeilamp effektief te beheer.
Kode Voorbeelde & Deurloop
Die Arduino-kode begin deur die SoftwareSerial-biblioteek in te sluit, wat seriekommunikasie op ander digitale penne moontlik maak. Die Bluetooth-module word geïnisialiseer met die TX-pen gekoppel aan pen 10 en die RX-pen gekoppel aan pen 11:
SoftwareSerial BT(10, 11); // skep 'n "virtuele" seriepoort/UART
Hierdie opstelling stel die Arduino in staat om effektief met die HC-06-module te kommunikeer. Die beheerpen vir die relê word soos volg gedefinieer:
#define SW 2 // definieer pen 2 as beheerpen
Die setup()-funksie initialiseer die Bluetooth-verbinding en stel die relêbeheerpen as 'n uitset in:
void setup() { pinMode(SW, OUTPUT); BT.begin(9600); }
In die loop()-funksie kontroleer die Arduino vir inkomende Bluetooth-opdragte. As 'n '1' ontvang word, word die relê geaktiveer om die lig aan te skakel:
if (a=='1') { digitalWrite(SW, LOW); BT.println("Light on"); }
Omgekeerd, as 'n '2' ontvang word, word die relê gedeaktiveer om die lig af te skakel:
if (a=='2') { digitalWrite(SW, HIGH); BT.println("Light off"); }
Vir verdere besonderhede en die volledige kode, verwys asseblief na die volledige program wat onder die artikel gelaai is.
Demonstrasie / Wat om te VerwAg
Sodra alles korrek opgestel is, kan jy die WS-gloeilamp aan en af skakel deur die Bluetooth-opdragte te gebruik. Deur '1' te tik sal die gloeilamp aanskakel, terwyl '2' tik dit sal afskakel. Maak seker jou Bluetooth-toestel is met die HC-06-module gepaar voordat jy opdragte stuur. As die opdragte nie herken word nie, kontroleer jou bedrading en verseker dat die HC-06 behoorlik gekoppel is (in video by 3:30).
Video Tydstempels
- 00:00 - Inleiding tot die projek
- 01:45 - Hardeware-opstelling
- 04:30 - Kode-verduideliking
- 06:15 - Demonstrasie van die app
- 08:00 - Probleemoplossingswenke
/*
* 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");
}
}
}
Goedere wat jy dalk nodig het
-
Amazon
Hulpbronne en verwysings
-
BuitenburgHC-06 Bluetooth code on GitHubgithub.com
Lêers📁
Fritzing-lêer
-
Bluetooth HC-06 Male fritzing
Bluetooth HC-06 Male.fzpz0.04 MB