- Các thành phần bắt buộc:
- Giải thích làm việc:
- Sơ đồ mạch:
- Giải mã tín hiệu điều khiển từ xa IR bằng Arduino:
- Xây dựng ứng dụng Android cho IR Blaster:
Tôi bắt đầu dự án này để loại bỏ các điều khiển từ xa khác nhau tại nhà của mình và xây dựng một cái gì đó duy nhất có thể kết hợp các tính năng của tất cả chúng. Tôi có ý tưởng này khi tôi nhìn thấy một trong những điện thoại di động của bạn tôi có tích hợp IR blaster, vào thời điểm đó tôi quyết định không mua một chiếc điện thoại tương tự thay vì tự làm thiết bị tương thích với điện thoại hiện có của tôi. Vì vậy, ở đây chúng tôi sẽ chuyển Điện thoại Android thành Điều khiển từ xa IR bằng Arduino để điều khiển các thiết bị khác nhau ở nhà.
Các thành phần bắt buộc:
- Arduino Uno
- IR LED
- Bộ thu TSOP-IR (1838T)
- Mô-đun Bluetooth (HC05)
- Thiết bị Android (Điện thoại, Máy tính bảng, v.v.)
Giải thích làm việc:
Nói chung, chúng tôi sử dụng hai điều khiển từ xa để điều khiển TV tại nhà, một cho TV và một cho Set-Top Box, vì vậy ở đây trong Dự án này, tôi đang nhắm mục tiêu hai điều khiển từ xa này và làm cho Điện thoại Android hoạt động như IR Blaster để có thể điều khiển TV bằng Điện thoại, mà không cần chạm vào bất kỳ Lời nhắc nào.
Việc sử dụng bảng Arduino Uno chỉ giúp tôi giải quyết phần mã hóa và giải mã IR dễ dàng hơn. Tấm chắn được làm tùy chỉnh chỉ làm tăng thêm phần tiện lợi của dự án này. Tấm chắn bao gồm bộ thu TSOP IR (1838T), đèn LED hồng ngoại và mô-đun Bluetooth (HC-05), xem hình ảnh bên dưới:
Bạn có thể xây dựng lá chắn tùy chỉnh hoặc có thể kết nối trực tiếp các thành phần với Arduino như được hiển thị trong 'Sơ đồ mạch' ở phần bên dưới.
Trước khi tiếp tục, trước tiên chúng ta hãy thảo luận về 'cách điều khiển từ xa IR hoạt động'. Hầu hết các điều khiển từ xa IR hoạt động xung quanh tần số 38 KHz (đây là lý do tại sao tôi đã chọn 18 38 T). Khi tham gia sâu hơn vào chủ đề này, người ta sẽ nhận ra rằng không có đại diện cố định cho số không và số không trong các phương pháp truyền dữ liệu IR này. Những mã này sử dụng các kỹ thuật mã hóa khác nhau mà chúng tôi nghiên cứu trong giáo trình kỹ thuật của mình (vì tôi là sinh viên kỹ thuật điện tử). Ý nghĩa của 38 KHz là nó là tần số mà tín hiệu dao động khi cao về mặt logic, tức là đây là tần số sóng mang của tín hiệu. Hãy nhìn vào hình ảnh dưới đây; đây là một ví dụ về Giao thức NEC. Điều này sẽ làm cho khái niệm của bạn rõ ràng hơn:
Vì vậy, đây là cách IR Blaster này hoạt động; Điện thoại Android có Ứng dụng Android tùy chỉnh sẽ gửi tín hiệu đến mạch Arduino qua Bluetooth, hơn nữa Arduino nhận tín hiệu thông qua bộ thu TSOP-IR (1838T) và phân tích nó. Sau đó, Arduino ra lệnh cho đèn LED hồng ngoại nhấp nháy theo một kiểu cụ thể, tương ứng với nút được nhấn trên Ứng dụng thiết bị Android đó. Kiểu nhấp nháy này được chụp bởi bộ thu IR của TV hoặc Set-Top box và nó tuân theo hướng dẫn tương ứng như thay đổi kênh hoặc tăng âm lượng.
Nhưng trước đó chúng ta cần giải mã các điều khiển từ xa hiện có. Như đã đề cập trước đó, trong dự án này, tôi đã sử dụng hai điều khiển từ xa, một điều khiển giao tiếp với TV trong khi một điều khiển khác dành cho Set-top box kết nối với TV.
Sơ đồ mạch:
Giải mã tín hiệu điều khiển từ xa IR bằng Arduino:
Bảng Arduino ở đây hoạt động theo hai giai đoạn, một là khi bạn đang sử dụng nó để giải mã các mã IR từ xa và một là khi bạn đang sử dụng nó như một thiết bị IR blaster.
Hãy để chúng tôi nói về giai đoạn đầu tiên. Bây giờ để giải mã các mã nút IR, tôi đã sử dụng tệp tiêu đề IRremote của Ken Shirriff . Tệp tiêu đề này có nhiều ví dụ / mã được xác định trước chỉ để giúp chúng tôi làm việc với mã IR dễ dàng hơn:
- Trước tiên, bạn cần tải xuống và cài đặt thư viện từ xa IR từ đây
- Giải nén nó và đặt nó vào thư mục Arduino 'Libraries' của bạn. Sau đó đổi tên thư mục đã giải nén thành IRremote.
- Sau đó ghi mã được cung cấp bên dưới vào Arduino, cắm lá chắn tùy chỉnh như hình trên và đặt một điều khiển từ xa cần giải mã trước bộ thu TSOP IR. Mở màn hình nối tiếp tương ứng với Arduino này và nhấn bất kỳ nút nào bạn muốn từ điều khiển từ xa. Bạn sẽ thấy một số thông tin được hiển thị trên thiết bị đầu cuối, thông tin này liên quan đến loại mã, giá trị của nó và số lượng bit liên quan đến nó. Đây là cách nó trông như thế nào:
#include
Khi bạn đã hoàn tất phần giải mã mong muốn, hãy ghi lại tất cả các giá trị giải mã và thông tin khác với tên nút tương ứng được nhấn. Đây sẽ là cơ sở dữ liệu cho giai đoạn tiếp theo của Arduino. Chương trình trên được lấy từ thư mục 'example' của thư viện IRremote, bạn có thể xem thêm các ví dụ khác để tìm hiểu thêm về cách sử dụng IR remote. Vì vậy, đó là cách chúng tôi giải mã đầu ra từ xa IR.
Bây giờ ghi Mã, được đưa ra trong phần Mã ở cuối, lên cùng bảng này. Xin chúc mừng, bạn đã hoàn thành nửa đầu của dự án này.
Xây dựng ứng dụng Android cho IR Blaster:
Ở đây là nửa thứ hai, tạo ứng dụng Android. Tôi chỉ đơn giản là thích sử dụng APP phát minh-2 của MIT để tạo ra các loại ứng dụng như vậy. Nếu bạn là một người nghiệp dư về lập trình Android, điều này sẽ tiết kiệm thời gian của bạn và mang lại kết quả tốt. Các thành phần chính được sử dụng để tạo ra ứng dụng này không nhiều, chỉ có vài nút và một gói ứng dụng khách Bluetooth. Trong khi mã hóa ứng dụng, hãy cung cấp văn bản tương ứng sẽ được gửi cho mỗi nút được nhấn trên màn hình, nút này sẽ yêu cầu Arduino nhấp nháy đèn LED hồng ngoại theo cách tương tự như nó sẽ được thực hiện bởi điều khiển từ xa riêng lẻ; cũng đảm bảo rằng bạn cung cấp địa chỉ chính xác của mô-đun Bluetooth HC-05 của mình. Đây là cách Ứng dụng cuối cùng sẽ trông như thế nào trong Điện thoại thông minh Android của bạn:
Đây là quy trình từng bước để xây dựng ứng dụng:
BƯỚC 1:
Đăng nhập vào liên kết này: ai2.appinventor.mit.edu, hoặc thử và tìm kiếm MIT appinventor-2 trên Google. Đăng nhập vào AI2 yêu cầu phải có tài khoản Google, vì vậy nếu bạn chưa có, hãy tạo một tài khoản.
BƯỚC 2:
Sau khi đăng nhập bằng tài khoản Google của mình, bạn sẽ được chuyển hướng đến trang web làm việc của AI2, trông giống như sau:
Bắt đầu một dự án mới bằng cách nhấp vào tab “Dự án” ở trên cùng và chọn “Bắt đầu dự án mới”. Khi bạn hoàn thành phần đặt tên và tất cả, một màn hình trống sẽ hiển thị cho bạn, trong đó bạn có thể đặt các nút và văn bản như hình trên. Đây là màn hình GUI, trong đó bạn quyết định ứng dụng sẽ trông như thế nào đối với người dùng.
Để sử dụng gói nút, hãy chọn tab “Nút” ở bên trái màn hình trong phần “Giao diện người dùng”. Chỉ cần kéo bất kỳ gói nào từ menu bên trái và thả vào màn hình làm việc. Tương tự như vậy để hiển thị bất kỳ nội dung liên quan đến văn bản nào, hãy sử dụng gói “Nhãn”.
BƯỚC 3:
Sau khi sắp xếp tất cả các nút và nhãn của bạn, bây giờ là lúc tạo mã cho ứng dụng này. Nhưng trước đó, chúng ta cần chọn một gói Bluetooth để giao tiếp với Arduino.
Bạn sẽ nhận thấy rằng gói này không được hiển thị trên màn hình thay vì nó nằm trong “Thành phần không hiển thị”. Đây là những thành phần không có ý nghĩa trong trang điểm GUI.
BƯỚC 4:
Tiếp theo là phần mã hóa, trong đó bạn sẽ xác định chức năng cho các thành phần mà bạn đã chọn và bạn muốn làm việc.
Ở phía bên trái của màn hình, bạn sẽ thấy tất cả các gói mà bạn đã chọn trong phần GUI. Hình ảnh trên cho thấy tất cả các thành phần có trong một gói cụ thể mà bạn có thể sử dụng. Cũng lưu ý rằng địa chỉ của mô-đun Bluetooth cần được cung cấp ở định dạng văn bản.
BỘ 5:
Khi bạn cảm thấy ứng dụng đó đã sẵn sàng để sử dụng và không có lỗi, hãy nhấp vào tab “Xây dựng” như hình trên và chọn tùy chọn thứ hai. Thao tác này sẽ tải xuống ứng dụng đã tạo của riêng bạn, vào máy tính, ở định dạng “.apk”. Sau đó, chỉ cần chuyển tệp.apk này sang bất kỳ thiết bị Android nào và nhấp vào nó để cài đặt.
Vì vậy, đây là cách bạn có thể điều khiển bất kỳ thiết bị điều khiển từ xa IR nào bằng Điện thoại thông minh của mình, bạn chỉ cần giải mã điều khiển từ xa của bất kỳ thiết bị nào bạn muốn điều khiển bằng Điện thoại của mình và thay thế mã HEX đã giải mã của các nút từ xa trong mã Arduino.