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 Project này, mình 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 mình.

Điều khiển từ xa của TV gửi tín hiệu hồng ngoại khi các 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 đó, mình 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 Project 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 Project này, mình 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. 

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 đó, mình không thể nhìn thấy ánh sáng hồng ngoại. 

Khái niệm cơ bản về truyền thông 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 linh kiệ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 đó, mình 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í. 

Truyền thông IR hoạt động như thế nào 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ể thấy 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, mình 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.

bộ thu IR 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

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

linh kiệ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. mình đã thấy mã này trong Tự động hóa gia đình dựa trên Arduino sử dụng Project 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 Project.

#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 Project Arduino IR Receiver Interface rất đơn giản. Project 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.

TRUNG TÂM SỬA CHỮA ĐIỆN TỬ QUẢNG BÌNH
MR. XÔ - 0901.679.359 - 80 Võ Thị Sáu, Phường Quảng Thuận, tx Ba Đồn, tỉnh Quảng Bình
Sửa điện tử tại Quảng Bình

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 mình, mình đã 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 Project lớn hơn nhiều.
  • Một trong những Project như vậy là Project Tự động hóa gia đình, mình đã 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 Project 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.    

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

+ 78 = 86