Tư vấn: 0979.466.469 / 0938.128.290

MENU

Điều khiển các thiết bị trong nhà bằng sóng hồng ngoại

Báo giá đặt hàng nhập

ĐIỀU KHIỂN CÁC THIẾT BỊ TRONG NHÀ BẰNG SÓNG HỒNG NGOẠI

 

Trong bài này, chúng ta sẽ cùng tìm hiểu cách thiết kế mạch điều khiển các thiết bị gia dụng bằng TV Remote. Cách này cũng có thể được áp dụng trong các văn phòng và các ngành công nghiệp.

Mạch dưới đây giúp chúng ta tự động hóa bốn thiết bị trong nhà như đèn, quạt, đèn ngủ và TV. Để làm việc này, chúng ta sử dụng 4 relay. Và mạch dưới đây sẽ nói rõ điều này.

Mạch sử dụng Arduino Nano để điều khiển vì kích thước của nó nhỏ và không yêu cầu thêm lập trình bên ngoài. Arduino sẽ được lập trình điều khiển rơle theo nút bấm trên remote. Cảm biến TSOP 1838T được nối với Arduino, đọc tín hiệu và gửi đến Arduino. Arduino giải mã tín hiệu và bật /tắt các thiết bị tương ứng.

 

 

 

 

 

Nguyên lí làm việc

Arduino là bộ điều khiển chính. Cảm biến TSOP 1838T để nhận tín hiệu từ xa. Chân đầu ra của cảm biến được nối với Arduino, khi nhấn bất kỳ nút nào trên remote, IR LED của remote sẽ gửi tín hiệu được mã hóa, tín hiệu này được nhận bởi cảm biến và gửi đến Arduino, Arduino giải mã tín hiệu và bật và tắt thiết bị tương ứng. Rơle 12V được sử dụng để bật/tắt các thiết bị.

 

TSOP 1838

 

Đây là cảm biến hồng ngoại, nhận tín hiệu của từ Remote. Cảm biến này có ba chân Vcc, GND và OUT; điện áp hoạt động từ 3,7 đến 5V.

 

Rơle

 

 

Relay 12V có chức năng kết nối với các thiết bị gia dụng. Dòng của nó có thể lên tới 7A. Transistor được sử dụng để đóng / ngắt relay và diode được nối song song với relay nhưng theo chiều ngược lại, để tránh dòng ngược.

 

Transitor

Arduino có thể cấp nguồn cho các linh kiện có dòng điện thấp như LED và Buzzer, nhưng relay cần dòng điện cao (100 mA đến 250mA) để đóng / ngắt các thiết bị. Do đó, transistor có chức năng khuếch đại dòng cấp cho relay. Cực E của transistor được nối với GND và Chân C được nối với chân coil của cuộn dây của relay, Arduino cấp tín hiệu đến chân B của transistor. Khi tín hiệu mức CAO được đưa đến chân B thì dòng điện sẽ chạy qua cuộn dây relay. Lúc này cuộn dây được cấp điện và relay bật ON.

 

Sơ đồ mạch nguyên lí

 

Chân đầu ra của cảm biến được nối với chân D12 của Arduino, các chân còn lại của cảm biến được nối với Vcc và GND.

Các chân A2, A3, A4 và A5 của Arduino được nối với các chân B của transistor thông qua điện trở 10K . Chân E được nối với chân GND và chân C được nối với chân cuộn dây (coil) của relay. Chân khác của rơle được cấp nguồn 12V

Các thiết bị được kết nối với nguồn điện thông qua chân C (Chung) và NO (Thường mở) của rơle.

 

Chương trình

Remote gửi tín hiệu được mã hóa vì vậy trước tiên chúng ta cần xác định mã theo các bước sau.

  • Tạo một mạch như sơ đồ.

  • Tải Code 1 lên Arduino.

  • Mở màn hình.

  • Đặt Tốc độ Baud 9600.

  • Nhấn các nút của điều khiển từ xa và ghi lại các giá trị trên màn hình.

  • Kiểm tra kỹ các giá trị và bỏ qua Mã FFFFFFFF.

Khi đã có mã của tất cả các nút, có thể lập trình Arduino cho các thiết bị.

Khi đã có các Mã chuyển đổi, để tải lên mã chính, thực hiện theo các bước sau.

  • Mở Code 2

  • Chọn bất kỳ bốn nút để điều khiển các thiết bị.

  • Đi tới dòng 42 của Code2.

  • Sao chép bất kỳ giá trị mã của một công tắc và dán vào (có dạng YYYYYYY)

  • Thực hiện tương tự cho các dòng 43, 44 và 45 và chọn mã chuyển đổi khác nhau.

 

Code 1

#include

 

IRrecv irrecv(12);

decode_results results;

 

void setup(){

Serial.begin(9600);

Module điện tử 932*50

irrecv.enableIRIn();

}

void loop(){

if (irrecv.decode(&results)) {

Serial.println(results.value, HEX);

irrecv.resume();

}

}

Khai báo thư viện IR Remote (IRremote.h) . Trong dòng tiếp theo, khai báo hàm “IRvv irrecv (12)” để sử dụng chân của Arduino kết nối với cảm biến hồng ngoại. “decode_results results;” có chức năng giải mã mã chuyển đổi.

Trong void setup lệnh “serial.begin (9600)” có mục đích bật màn hình. “irrecv.enableIRIn” có chức năng bật cảm biến hồng ngoại.

Trong vòng lặp void, điều kiện sẽ đúng khi nhấn bất kỳ nút nào của remote. Sau đó, giá trị HEX của kết quả được in trên màn hình. Sau đó gọi hàm “irrecv.resume ()” cài đặt lại cảm biến hồng ngoại.

 

Code 2

#include

 

IRrecv irrecv(12);

decode_results results;

 

int lig1 = A2;

int lig2 = A3;

int lig3 = A4;

int lig4 = A5;

 

int flag1 = 0;

int flag2 = 0;

int flag3 = 0;

int flag4 = 0;

 

unsigned int value;

 

void setup() {

irrecv.enableIRIn();

 

pinMode(lig1, OUTPUT);

pinMode(lig2, OUTPUT);

pinMode(lig3, OUTPUT);

pinMode(lig4, OUTPUT);

 

pinMode(13, OUTPUT);

}

 

void loop() {

if (irrecv.decode(&results)) {

value = results.value;

irrecv.resume();

 

digitalWrite(13, HIGH);

delay(100);

digitalWrite(13, LOW);

 

if (results.value == 0x1FE50AF) {flag1 = !flag1; digitalWrite(lig1, flag1 ? HIGH : LOW); value =0; }

if (results.value == 0x1FED827) {flag2 = !flag2; digitalWrite(lig2, flag2 ? HIGH : LOW); value =0; }

if (results.value == 0x1FEF807) {flag3 = !flag3; digitalWrite(lig3, flag3 ? HIGH : LOW); value =0; }

if (results.value == 0x1FE30CF) {flag4 = !flag4; digitalWrite(lig4, flag4 ? HIGH : LOW); value =0; }

}

}

 

Các biến lig1, lig2, lig3 và lig4 được khai báo kiểu dữ liệu số nguyên (int) để chỉ các chân. Các biến flag1, flag2, flag3 và flag4 cũng được khai báo theo kiểu dữ liệu số nguyên. Chúng sử dụng để lưu trạng thái của chân đầu ra.

Trong void setup (), bộ cảm biến hồng ngoại được bật. Sau đó, tất cả các chân lig1, lig2, lig3, lig4 và D13 được khai báo là đầu ra.

Trong vòng lặp void, điều kiện sẽ đúng khi ấn bất kì nút nhấn nào, lúc này giá trị được giải mã sẽ được lưu trong biến “value”. Sau đó, cảm biến hồng ngoại hoạt động trở lại. Đèn led ( chân 13) sẽ được bật trong 100 mili giây.

Trong dòng 38, khi điều kiện so sánh đúng, flag1 được đảo ngược giá trị ('0' trở thành '1' và '1' trở thành '0') và chân tương ứng của Arduino sẽ bật / tắt. Sau đó, giá trị trở thành số 0. Tương tự đối với các dòng lệnh 39, 40 và 41 để bật / tắt các chân khác.

Gia công pcb 932*150
Sản phẩm nổi bật
Sale 0%
25000 /Cái
/ Cái

Code: 6003-084 Còn hàng

Lưu xem sau
Sale 0%
385000 /Cái
/ Cái

Code: M-6001-093 Còn hàng

Lưu xem sau
Sale 0%
SWR ≤ 1.5 Tần Số 433MHz
19000 /Cái
/ Cái

Code: 6003-085 Còn hàng

Lưu xem sau
Sale 0%
39000 /Cái
/ Cái

Code: M-6001-042 Còn hàng

Lưu xem sau
Hỗ trợ liên kết
0979466469
0899909838
0938128290
0899909838
Khiếu nại: 0964238397
0979466469
0868565469
0868565469

Hotline: 0979 466 469

Loading
0964238397
Bạn cần linh kiện mẫu ? 7-11 ngày