Lập trình bộ thu hồng ngoại và Điều khiển từ xa hồng ngoại trên Arduino

0
185
Sơ đồ mạch của giao diện bộ thu IR Arduino

Lập trình bộ thu hồng ngoại và Điều khiển từ xa hồng ngoại trên Arduino : Trong dự án này, chúng ta sẽ tìm hiểu cách thiết lập Bộ thu IR và Điều khiển từ xa IR trên Arduino và cách hoạt động của Giao diện bộ thu IR của Arduino.

Bộ thu IR hoặc Bộ thu hồng ngoại là một thiết bị điện tử nhận thông tin từ Điều khiển từ xa IR, giải mã tín hiệu và gửi đến một thiết bị khác như Vi điều khiển. Một ứng dụng phổ biến cho Bộ thu IR là Điều khiển từ xa TV của chúng tôi.

Điều khiển từ xa của TV gửi tín hiệu hồng ngoại khi bất kỳ phím hoặc nút nào được nhấn. Bộ thu IR, ở phía trước TV, sẽ nhận các tín hiệu này và gửi chúng đến một mạch điều khiển bên trong TV sau khi giải mã chúng. Bộ điều khiển sau đó sẽ thực hiện hành động cần thiết.

Truyền thông IR là không dây, ít tốn kém hơn và rất dễ thực hiện. Điều này làm cho nó trở thành một trong những công nghệ truyền thông không dây được sử dụng rộng rãi.

Do đó, chúng ta sẽ xem cách sử dụng Bộ thu hồng ngoại và Điều khiển từ xa IR với Arduino, với sự trợ giúp của chúng, bạn có thể có ý tưởng về cách triển khai Giao tiếp hồng ngoại với Arduino và sử dụng nó trong nhiều dự án như Điều khiển robot, Hệ thống an ninh, Đo khoảng cách, Màn hình nhịp tim, Cảm biến tiệm cận, v.v.

Trong dự án này, chúng tôi sẽ giao diện TSOP1738, là một Bộ thu IR với Arduino UNO và điều khiển ba đèn LED thông qua Điều khiển từ xa IR đơn giản. 

Lam-cach-nao-de-thiet-lap-Bo-thu-hong-ngoai-va-Dieu-khien-tu-xa-hong-ngoai-tren-Arduino Lập trình bộ thu hồng ngoại và Điều khiển từ xa hồng ngoại trên Arduino

Khái niệm cơ bản về truyền thông IR

Truyền thông hồng ngoại hoặc hồng ngoại dựa trên Ánh sáng hồng ngoại. Ánh sáng hồng ngoại hay Bức xạ hồng ngoại cũng là một loại ánh sáng có bước sóng cao hơn bước sóng của Ánh sáng nhìn thấy. Do đó, chúng ta không thể nhìn thấy ánh sáng hồng ngoại. 

Khai-niem-co-ban-ve-truyen-thong-IR Lập trình bộ thu hồng ngoại và Điều khiển từ xa hồng ngoại trên Arduino

Điều này làm cho nó trở thành một lựa chọn tốt cho Giao tiếp không dây. Nhưng hạn chế duy nhất là Truyền thông IR yêu cầu tầm nhìn giữa máy phát và máy thu. Do đó, không thể sử dụng Giao tiếp IR qua tường hoặc rào cản như Bluetooth hoặc WiFi.

Truyền thông IR hoạt động như thế nào?

Trong mọi thiết lập Giao tiếp IR, có hai thành phần chính được gọi là Bộ phát hồng ngoại và Bộ thu hồng ngoại. Như tên cho thấy, một Máy phát IR truyền Bức xạ IR. Bộ phát hồng ngoại đơn giản là một đèn LED hồng ngoại. Nó trông giống như một đèn LED thông thường nhưng phát ra ánh sáng hồng ngoại.

Mặt khác, một bộ thu IR bao gồm một Diode quang và một mạch Khuếch đại để chuyển đổi ánh sáng IR được phát hiện thành tín hiệu điện. Một ví dụ về Bộ thu IR là IC TSOP1738.

Bây giờ đến công việc của Truyền thông IR, Ánh sáng Hồng ngoại ở khắp mọi nơi tức là mọi vật thể đều phát ra bức xạ hồng ngoại. Các nguồn ánh sáng hồng ngoại có thể là bất cứ thứ gì từ Mặt trời, Bóng đèn cho đến Con người và động vật.

Điều này có nghĩa là có khả năng bị nhiễu và nhiễu khi sử dụng Truyền thông IR. Do đó, chúng ta cần điều chế ánh sáng hồng ngoại và sau đó truyền Tín hiệu hồng ngoại để chỉ truyền tín hiệu dự định.

Tại bộ phát của Truyền thông IR, tức là tại Điều khiển từ xa IR, một bộ mã hóa được sử dụng để điều chế tín hiệu nhị phân và tín hiệu điều chế được áp dụng cho đèn LED hồng ngoại. Ánh sáng hồng ngoại từ đèn LED hồng ngoại hiện được điều chế theo tín hiệu đã điều chế và được truyền qua không khí. 

Truyen-thong-IR-hoat-dong-nhu-the-nao Lập trình bộ thu hồng ngoại và Điều khiển từ xa hồng ngoại trên ArduinoTín hiệu IR đã điều chế sau đó được nhận bởi Bộ thu IR, bộ thu này sẽ giải điều chế Ánh sáng IR và chuyển đổi nó trở lại tín hiệu nhị phân ban đầu. Tín hiệu nhị phân này sau đó được truyền đến một Vi điều khiển.

Trong khi Điều chế, Đèn hồng ngoại được tạo ra để BẬT và TẮT ở một tần số cụ thể được gọi là Tần số sóng mang. Chỉ Bộ thu IR được điều chỉnh theo tần số này mới có thể nhận được Tín hiệu IR được điều chế.

Một số Tần số sóng mang phổ biến được sử dụng trong điều chế ánh sáng hồng ngoại là 30KHz, 36KHz, 38KHz và 56KHz. Tần số sóng mang phổ biến nhất cho Điều chế ánh sáng hồng ngoại là 38KHz.

Mô hình mà ánh sáng hồng ngoại được điều chế được xác định bởi các Giao thức Truyền dẫn Hồng ngoại. Một số giao thức phổ biến là Sony, JVC, NEC, RC5, RC6 và RCA. 

Giao diện bộ thu IR Arduino – Lập trình bộ thu hồng ngoại và Điều khiển từ xa hồng ngoại trên Arduino

Trước khi giao tiếp Bộ thu IR với Arduino, chúng ta hãy cùng tìm hiểu sơ lược về Bộ thu hồng ngoại tiêu điểm, tức là TSOP1738.

bo-thu-IR-Arduino Lập trình bộ thu hồng ngoại và Điều khiển từ xa hồng ngoại trên Arduino

TSOP1738 là một Bộ thu IR rất phổ biến và thông dụng, được điều chỉnh cho tần số sóng mang 38kHZ. Bên ngoài, nó bao gồm ba chân cụ thể là: GND, Vs và OUT.

Bên trong, nó bao gồm một Diode ảnh, bộ điều khiển độ lợi tự động, bộ lọc băng thông và bộ giải điều chế. Đầu ra giải điều chế của Bộ thu IR TSOP 1738 có thể được giải mã trực tiếp bằng bộ vi điều khiển.     

Sơ đồ mạch Lập trình bộ thu hồng ngoại và Điều khiển từ xa hồng ngoại trên Arduino

So-do-mach-cua-giao-dien-bo-thu-IR-Arduino Lập trình bộ thu hồng ngoại và Điều khiển từ xa hồng ngoại trên Arduino

Thành phần bắt buộc

  • Arduino UNO
  • Bộ thu IR TSOP1738
  • LED màu đỏ
  • LED xanh
  • LED trắng
  • Điện trở 100Ω x 3
  • Breadboard
  • Kết nối dây
  • Nguồn cấp

Thiết kế mạch Lập trình bộ thu hồng ngoại và Điều khiển từ xa hồng ngoại trên Arduino 

Chân OUT của Bộ thu IR TSOP1738 được kết nối với Chân số 9 của Arduino. Ba đèn LED (Xanh lục, Trắng và Đỏ) được kết nối với các Chân 6, 5 và 3 của Arduino UNO thông qua các điện trở giới hạn dòng điện tương ứng.

CODE

Code đầu tiên là giải mã dữ liệu từ điều khiển từ xa. Chúng tôi đã thấy mã này trong Tự động hóa gia đình dựa trên Arduino sử dụng Dự án từ xa TV.

Tải lên code này và nhận danh sách Mã HEX cho tất cả các nút / phím trên điều khiển từ xa của bạn.

#include <IRremote.h>
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup() {
Serial.begin(9600);
irrecv.enableIRIn();
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
irrecv.resume();
}
delay(100);
}

LƯU Ý: Code này và code tiếp theo sẽ sử dụng thư viện “IRremote”. Trước tiên, bạn phải tải xuống thư viện này từ liên kết này : https://github.com/z3t0/Arduino-IRremote và trích xuất nội dung vào thư mục Arduino / library ,

Code tiếp theo là code chính cho dự án.

#include <IRremote.h>
int RECV_PIN = 9;

int red = 6;
int white = 5;
int yellow = 3;
int val=85;

bool r=false;
bool w=false;
bool y=false;
bool a=false;

IRrecv irrecv(RECV_PIN);
decode_results results;

void setup()
{
Serial.begin(9600);
pinMode(red, OUTPUT);
pinMode(white, OUTPUT);
pinMode(yellow, OUTPUT);
irrecv.enableIRIn();
irrecv.blink13(true);
}
void loop()
{
if (irrecv.decode(&results))
{
Serial.println(results.value,HEX);
delay(100);
/////////////////////////
if(results.value==0x40BD00FF)
{
r=!r;
digitalWrite(red, r);

}
////////////////////////
else if(results.value==0x40BD807F)
{
w=!w;
digitalWrite(white, w);

}
else if(results.value==0x40BD40BF)
{
y=!y;
digitalWrite(yellow, y);

}
//////////////////////////////
else if(results.value==0x40BD28D7)
{
if(r||w||y)
{
a=true;
r=false;
w=false;
y=false;

Serial.println(“a=true”);
}
a=!a;
digitalWrite(red, a);
digitalWrite(white, a);
digitalWrite(yellow, a);
if(a)
{
r=true;
w=true;
y=true;
}
}

irrecv.resume(); // Receive the next value
}

}

Hoạt động

Hoạt động của dự án Arduino IR Receiver Interface rất đơn giản. Dự án này sẽ hướng dẫn bạn cách thiết lập Bộ thu IR và Điều khiển từ xa IR trên Bảng Arduino.

Sau khi giải mã dữ liệu của điều khiển từ xa, mỗi phím trên điều khiển từ xa có thể được chỉ định cho một nhiệm vụ cụ thể dựa trên thông tin đã giải mã.

Trong trường hợp của chúng tôi, chúng tôi đã lập trình Arduino để BẬT / TẮT tất cả các đèn LED nếu nút Nguồn được nhấn. Ngoài ra, các phím 1, 2 và 3 được sử dụng để điều khiển ba đèn LED riêng lẻ.

Các ứng dụng Lập trình bộ thu hồng ngoại và Điều khiển từ xa hồng ngoại trên Arduino

  • Việc giao tiếp Bộ thu IR với Arduino rất dễ dàng và có thể hữu ích trong việc thực hiện các dự án lớn hơn nhiều.
  • Một trong những dự án như vậy là dự án Tự động hóa gia đình, chúng tôi đã thực hiện với tên gọi Tự động hóa gia đình dựa trên Arduino bằng Điều khiển từ xa.
  • Các dự án khác bao gồm, hệ thống an ninh gia đình, cảm biến tiệm cận, cảm biến khoảng cách, v.v.    

LEAVE A REPLY

Please enter your comment!
Please enter your name here