Tìm kiếm mã

Mã Arduino và video bóng đèn AC điều khiển Bluetooth HC-06

Mã Arduino và video bóng đèn AC điều khiển Bluetooth HC-06

Trong hướng dẫn này, chúng ta sẽ khám phá cách điều khiển bóng đèn AC bằng mô-đun Bluetooth HC-06 và Arduino. Dự án này cho phép bạn bật và tắt bóng đèn bằng các lệnh được gửi qua thiết bị kết nối Bluetooth. Tính năng điều khiển từ xa này làm cho nó trở thành một dự án thực tế và thú vị cho người mới bắt đầu muốn tích hợp chức năng Bluetooth vào các dự án Arduino của họ.

HC-06-module

Bằng cách làm theo các bước được nêu trong hướng dẫn này, bạn sẽ có thể thiết lập phần cứng, viết mã và điều khiển đèn từ điện thoại thông minh hoặc máy tính bảng của mình. Nếu bạn cần làm rõ thêm, hãy xem video liên quan đến hướng dẫn này (trong video tại 0:00).

Giải thích về phần cứng

Các thành phần chính của dự án này bao gồm mô-đun Bluetooth HC-06, bo mạch Arduino và mô-đun rơ-le để điều khiển bóng đèn AC. Mô-đun HC-06 chịu trách nhiệm thiết lập kết nối Bluetooth, cho phép thiết bị của bạn giao tiếp không dây với Arduino. Nó có bốn chân: VCC (nguồn), GND (đất), TX (truyền) và RX (nhận).

Mô-đun rơ-le hoạt động như một công tắc để điều khiển bóng đèn AC. Nó kết nối với đường dây điện của bóng đèn, cho phép nó hoàn thành mạch (bật bóng đèn) hoặc ngắt mạch (tắt bóng đèn) dựa trên tín hiệu nhận được từ Arduino. Arduino đóng vai trò là bộ não của hoạt động, diễn giải các lệnh được gửi từ mô-đun Bluetooth và điều khiển rơ-le tương ứng.

Chi tiết bảng dữ liệu

Nhà sản xuấtHC
Số bộ phậnHC-06
Điện áp Logic/IO3,3 V – 6 V
Điện áp cung cấp3,3 V – 6 V
Dòng điện đầu ra (mỗi kênh)20 mA
Dòng điện đỉnh (mỗi kênh)50 mA
Hướng dẫn tần số PWMKhông áp dụng
Ngưỡng logic đầu vào0,2 V (thấp) / 0,7 V (cao)
Sụt áp / RDS(on) / bão hòa0,5 V
Giới hạn nhiệt85 °C
Đóng góiMô-đun
Ghi chú / biến thểBluetooth 2.0

  • Đảm bảo mức điện áp phù hợp để tránh làm hỏng mô-đun.
  • Sử dụng tản nhiệt thích hợp nếu mô-đun được sử dụng trong các ứng dụng tải cao.
  • Giữ các chân TX và RX được kết nối đúng cách để tránh các vấn đề giao tiếp.
  • Kiểm tra kỹ thông số kỹ thuật của rơ-le để phù hợp với định mức điện áp và dòng điện của bóng đèn AC.
  • Thực hiện cách ly thích hợp để tăng cường an toàn khi làm việc với điện áp AC.

Hướng dẫn đấu dây

HC-06_bluetooth_wiring

Để đấu dây mô-đun Bluetooth HC-06 và rơ-le với Arduino, hãy bắt đầu bằng cách kết nối chân VCC của HC-06 với chân 5V trên Arduino và chân GND với đất của Arduino. Tiếp theo, kết nối chân TX của HC-06 với chân kỹ thuật số 10 trên Arduino và chân RX với chân kỹ thuật số 11. Thiết lập này cho phép Arduino giao tiếp với mô-đun Bluetooth.

Đối với mô-đun rơ-le, kết nối chân điều khiển (thường được gắn nhãn là IN) với chân kỹ thuật số 2 trên Arduino. Chân VCC của rơ-le cũng nên kết nối với nguồn điện 5V và chân đất nên đi đến đất chung. Đảm bảo kết nối dây của bóng đèn AC với các đầu nối thường mở (NO) và chung (COM) của rơ-le để điều khiển nguồn điện cho bóng đèn một cách hiệu quả.

Ví dụ mã và hướng dẫn chi tiết

Mã Arduino bắt đầu bằng việc bao gồm thư viện SoftwareSerial, cho phép giao tiếp nối tiếp trên các chân kỹ thuật số khác. Mô-đun Bluetooth được khởi tạo với chân TX kết nối với chân 10 và chân RX kết nối với chân 11:

SoftwareSerial BT(10, 11); // tạo một cổng nối tiếp/UART "ảo"

Thiết lập này cho phép Arduino giao tiếp với mô-đun HC-06 một cách hiệu quả. Chân điều khiển cho rơ-le được định nghĩa như sau:

#define SW 2 // định nghĩa chân 2 là chân điều khiển

Hàm setup() khởi tạo kết nối Bluetooth và đặt chân điều khiển rơ-le làm đầu ra:

void setup() { pinMode(SW, OUTPUT); BT.begin(9600); }

Trong hàm loop(), Arduino kiểm tra các lệnh Bluetooth đến. Nếu nhận được '1', rơ-le được kích hoạt để bật đèn:

if (a=='1') { digitalWrite(SW, LOW); BT.println("Đèn bật"); }

Ngược lại, nếu nhận được '2', rơ-le được hủy kích hoạt để tắt đèn:

if (a=='2') { digitalWrite(SW, HIGH); BT.println("Đèn tắt"); }

Để biết thêm chi tiết và mã hoàn chỉnh, vui lòng tham khảo chương trình đầy đủ được tải bên dưới bài viết.

Trình diễn / Điều gì sẽ xảy ra

Sau khi mọi thứ được thiết lập đúng cách, bạn có thể bật và tắt bóng đèn AC bằng các lệnh Bluetooth. Gõ '1' sẽ bật nguồn cho bóng đèn, trong khi gõ '2' sẽ tắt nó. Đảm bảo thiết bị Bluetooth của bạn được ghép nối với mô-đun HC-06 trước khi gửi lệnh. Nếu các lệnh không được nhận dạng, hãy kiểm tra hệ thống dây điện của bạn và đảm bảo HC-06 được kết nối đúng cách (trong video tại 3:30).

Mốc thời gian video

  • 00:00 - Giới thiệu về dự án
  • 01:45 - Thiết lập phần cứng
  • 04:30 - Giải thích mã
  • 06:15 - Trình diễn ứng dụng
  • 08:00 - Mẹo khắc phục sự cố

Hình ảnh

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.
Ngôn ngữ: 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");
    }   
    
  }
}

Nghĩ bạn có thể cần

Tài nguyên & tài liệu tham khảo

Tập tin📁

Tập tin Fritzing