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.
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.
Đ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í.
Tí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.
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
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.
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.
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.