ESP32 Điều Khiển Bằng Remote Hồng Ngoại
Có lẽ bạn đã gặp remote điều khiển hồng ngoại, hay còn gọi là remote IR, khi sử dụng các thiết bị như TV và điều hòa ở nhà... Trong hướng dẫn này, chúng ta sẽ học cách sử dụng remote điều khiển hồng ngoại (IR) và bộ thu hồng ngoại để điều khiển ESP32. Cụ thể, chúng ta sẽ học:
- Cách kết nối bộ thu IR với bo mạch ESP32
- Cách lập trình ESP32 để đọc lệnh từ remote điều khiển IR thông qua bộ thu IR

Phần Cứng Cần Thiết
| 1 | × | mô-đun phát triển ESP-WROOM-32 | ||
| 1 | × | Alternatively, ESP32 Uno-form board | ||
| 1 | × | Alternatively, ESP32 S3 Uno-form board | ||
| 1 | × | Cáp USB Type-C | ||
| 1 | × | Bộ Kit Remote IR và Bộ Thu | ||
| 1 | × | Pin CR2025 | ||
| 1 | × | breadboard | ||
| 1 | × | Dây Jumper | ||
| 1 | × | (Khuyến nghị) Screw Terminal Expansion Board for ESP32 | ||
| 1 | × | (Khuyến nghị) Breakout Expansion Board for ESP32 | ||
| 1 | × | (Khuyến nghị) Power Splitter for ESP32 |
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | ||
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | ||
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Về Điều Khiển Remote IR
Hệ thống điều khiển IR có hai thành phần: remote điều khiển IR và bộ thu IR.
- Remote điều khiển IR được sử dụng để gửi lệnh bằng tín hiệu hồng ngoại.
- Bộ thu IR thu nhận và giải mã những tín hiệu này để điều khiển thiết bị.
Một bộ kit IR thường bao gồm hai thành phần được đề cập ở trên: remote điều khiển IR và bộ thu IR.
Remote điều khiển IR
Remote điều khiển IR là một thiết bị di động phát ra tín hiệu hồng ngoại. Nó được thiết kế với bàn phím có nhiều nút:
- Mỗi nút trên remote được gán một chức năng hoặc lệnh cụ thể.
- Khi một nút được nhấn, remote phát ra tín hiệu hồng ngoại chứa mã hoặc mẫu duy nhất liên kết với nút được nhấn.
- Những tín hiệu hồng ngoại này nằm trong phổ hồng ngoại và không thể nhìn thấy bằng mắt người.

Bộ Thu IR
Module bộ thu IR là một cảm biến phát hiện và nhận tín hiệu hồng ngoại được phát ra từ remote điều khiển.
Bộ thu hồng ngoại phát hiện tín hiệu hồng ngoai đến và chuyển đổi chúng thành mã (lệnh) đại diện cho nút được nhấn trên remote điều khiển.
Bộ thu IR có thể là cảm biến hoặc module. Bạn có thể sử dụng các lựa chọn sau:
- Chỉ module bộ thu IR
- Chỉ cảm biến bộ thu IR
- Cảm biến bộ thu IR + Adapter


Sơ Đồ Chân Bộ Thu IR
Module hoặc cảm biến bộ thu IR có ba chân:
- Chân VCC: Kết nối chân này với chân 3.3V hoặc 5V của ESP32 hoặc nguồn điện ngoài.
- Chân GND: Kết nối chân này với chân GND của ESP32 hoặc nguồn điện ngoài.
- Chân OUT (Output): Đây là chân đầu ra của module bộ thu IR. Kết nối với chân digital input trên ESP32.
Cách Hoạt Động
Khi người dùng nhấn một nút trên remote điều khiển IR
- Remote điều khiển IR mã hóa lệnh tương ứng với nút thành tín hiệu hồng ngoại thông qua một giao thức cụ thể
- Remote điều khiển IR phát ra tín hiệu hồng ngoại đã mã hóa
- Bộ thu IR nhận tín hiệu hồng ngoại đã mã hóa
- Bộ thu IR giải mã tín hiệu hồng ngoại đã mã hóa thành lệnh
- ESP32 đọc lệnh từ bộ thu IR
- ESP32 ánh xạ lệnh với phím được nhấn
Khi một nút được nhấn trên remote điều khiển IR, chuỗi sự kiện sau sẽ xảy ra:
- Remote điều khiển IR mã hóa lệnh của nút thành tín hiệu hồng ngoại sử dụng giao thức cụ thể.
- Tín hiệu hồng ngoại đã mã hóa được phát ra bởi remote điều khiển IR.
- Bộ thu IR bắt và nhận tín hiệu hồng ngoại đã mã hóa.
- Bộ thu IR giải mã tín hiệu hồng ngoại, chuyển đổi nó trở lại thành lệnh gốc.
- ESP32 đọc và lấy lệnh từ bộ thu IR.
- ESP32 sau đó ánh xạ lệnh nhận được với nút tương ứng đã được nhấn trên remote điều khiển IR.
Về cơ bản, những bước này phác thảo cách thao tác nhấn nút của remote điều khiển IR được chuyển đổi thành lệnh có thể nhận dạng mà ESP32 có thể hiểu và xử lý.
Có vẻ phức tạp, nhưng đừng lo lắng. Nhờ thư viện DIYables_IRcontroller dễ sử dụng, việc thực hiện trở nên vô cùng đơn giản.
Sơ Đồ Đấu Nối
Sơ đồ đấu nối giữa ESP32 và Module Bộ Thu IR

This image is created using Fritzing. Click to enlarge image
Nếu bạn chưa rõ cách cấp nguồn cho ESP32 và các linh kiện khác, xem: Cách Cung Cấp Nguồn Điện Cho ESP32.
Sơ đồ đấu nối giữa ESP32 và Cảm Biến Bộ Thu IR

This image is created using Fritzing. Click to enlarge image
Sơ đồ đấu nối giữa ESP32 và Cảm Biến Bộ Thu IR với Adapter
Trước khi kết nối cảm biến bộ thu IR với ESP32, bạn có thể kết nối nó với adapter. Điều này cho phép tích hợp và thiết lập cảm biến bộ thu IR với ESP32 dễ dàng hơn.

Cách Lập Trình Cho Remote Điều Khiển IR
- Include thư viện:
- Khai báo đối tượng DIYables_IRcontroller_17 hoặc DIYables_IRcontroller_21 tương ứng với remote điều khiển IR 17 phím hoặc 21 phím:
- Khởi tạo IR Controller.
- Trong vòng lặp, kiểm tra xem có phím nào được nhấn hay không. Nếu có, lấy phím
- Sau khi phát hiện phím được nhấn, bạn có thể thực hiện các hành động dựa trên từng phím.
Code ESP32
- Code ESP32 cho remote điều khiển IR 17 phím DIYables
- Code ESP32 cho remote điều khiển IR 21 phím DIYables
Các Bước Nhanh
- Nếu đây là lần đầu bạn sử dụng ESP32, hãy xem ESP32 - Cài Đặt Phần Mềm.
- Click vào biểu tượng Libraries trên thanh bên trái của Arduino IDE.
- Tìm kiếm "DIYables_IRcontroller", sau đó tìm thư viện DIYables_IRcontroller của DIYables
- Click nút Install để cài đặt thư viện DIYables_IRcontroller.

- Bạn sẽ được yêu cầu cài đặt dependency library như hình dưới:

- Click nút Install all để cài đặt dependency
- Sao chép code trên và mở bằng Arduino IDE
- Click nút Upload trên Arduino IDE để upload code lên ESP32
- Nhấn các phím trên remote điều khiển lần lượt từng phím một
- Xem kết quả trên Serial Monitor.
- Khi bạn nhấn các phím trên remote điều khiển IR 21 phím lần lượt từng phím một, kết quả như sau:
Bây giờ bạn có khả năng tùy chỉnh code và điều khiển các thiết bị khác nhau như LED, quạt, máy bơm, actuator và nhiều thứ khác sử dụng remote điều khiển IR. Điều này có nghĩa là bạn có thể thay đổi code để làm cho những thiết bị này phản hồi với các lệnh của bạn được gửi thông qua remote điều khiển.
Video Tutorial
Việc sản xuất video tốn rất nhiều thời gian. Nếu video hướng dẫn hữu ích cho việc học của bạn, hãy đăng ký kênh YouTube để ủng hộ. Nếu nhu cầu đủ cao, chúng tôi sẽ cố gắng làm thêm nhiều video.