- Thành phần bắt buộc
- Truyền thông IR hoạt động như thế nào?
- Sơ đồ mạch
- Lập trình cho bộ giải mã từ xa Arduino IR
- Lưu dữ liệu bộ giải mã từ xa IR vào trang tính Excel
Truyền thông IR (Hồng ngoại) là công nghệ truyền thông không dây đơn giản, chi phí thấp và được sử dụng rộng rãi. Ánh sáng hồng ngoại hơi giống với ánh sáng nhìn thấy, ngoại trừ bước sóng dài hơn một chút. Đặc tính này của IR giúp mắt người không thể phát hiện được và hoàn hảo cho giao tiếp không dây.
Có rất nhiều ứng dụng mà bạn cần giải mã tín hiệu IR để vận hành một số thiết bị có điều khiển từ xa IR. Vì vậy, trong hướng dẫn này, chúng tôi sẽ sử dụng bộ thu IR TSOP1838 để xây dựng Bộ giải mã từ xa IR bằng Arduino. Mã hex cho mọi nút sẽ được ghi vào Microsoft Excel Sheet. Bộ giải mã điều khiển từ xa IR đơn giản này có thể được sử dụng trong các dự án như Robot điều khiển từ xa IR, Tự động hóa gia đình và các dự án được điều khiển bằng IR khác.
Trước đây, chúng tôi đã sử dụng điều khiển từ xa IR và bộ thu TSOP để xây dựng nhiều ứng dụng hữu ích như:
- Mạch điều khiển từ xa IR TRIAC Dimmer
- Tự động hóa nhà điều khiển từ xa bằng IR sử dụng Arduino
- Tự động hóa nhà điều khiển từ xa bằng IR sử dụng Vi điều khiển PIC
- Điện thoại di động AC điều khiển bằng Arduino và Bluetooth
Thành phần bắt buộc
- Arduino Uno / Arduino Nano
- Bộ thu IR (TSOP1838)
- Dây nhảy
- Breadboard
Truyền thông IR hoạt động như thế nào?
Giống như các hệ thống thông tin liên lạc khác, Truyền thông hồng ngoại cũng có bộ phát và bộ thu. Máy phát trông giống như một đèn LED, nhưng nó tạo ra ánh sáng trong phổ IR thay vì phổ khả kiến. Trong khi bộ thu IR là một photodiode được nhúng với bộ tiền khuếch đại có chức năng thay đổi ánh sáng IR thành tín hiệu điện. Đối với giao tiếp IR, cả bộ phát và bộ thu phải được hướng vào nhau. Để tìm hiểu thêm về mạch thu và phát IR, hãy theo liên kết.
Khi nhấn nút điều khiển từ xa, IR LED (Bộ phát) sẽ phát ra ánh sáng hồng ngoại. Ánh sáng này được nhận bởi Bộ thu thường là điốt quang hoặc điện trở quang. Nhưng ánh sáng hồng ngoại cũng được phát ra bởi mặt trời, bóng đèn và bất cứ thứ gì khác tạo ra nhiệt. Điều này có thể gây nhiễu tín hiệu máy phát, do đó, để ngăn chặn, tín hiệu máy phát được điều chế bằng cách sử dụng tần số sóng mang từ 36 kHz đến 46 kHz. Khi nhận được tín hiệu, bộ thu IR giải điều chế tín hiệu và chuyển nó thành hệ nhị phân trước khi gửi đến bộ vi điều khiển.
Ở đây chúng tôi đang sử dụng điều khiển từ xa TV để gửi tín hiệu IR và TSOP1838 với Arduino để nhận chúng.
Ngoài ra, hãy kiểm tra các ứng dụng dựa trên IR khác nhau tại đây bao gồm Mạch gây nhiễu điều khiển từ xa cho TV và mạch kiểm tra IR.
Sơ đồ mạch
Sơ đồ mạch cho Bộ giải mã từ xa IR sử dụng Arduino được đưa ra dưới đây:
Các kết nối rất đơn giản vì cảm biến IR Receiver chỉ có ba chân, Vs, GND và Data. Kết nối chân Vs và chân GND của Bộ thu IR với chân 3,3V GND của Arduino và chân Dữ liệu với chân Kỹ thuật số 2 của Arduino.
Lập trình cho bộ giải mã từ xa Arduino IR
Mã hoàn chỉnh cho Bộ giải mã IR Arduino được đưa ra ở cuối trang.
Để giải mã IR Remote, trước tiên, chúng ta cần tải xuống và thêm thư viện IR vào Arduino IDE. Bạn có thể tải xuống thư viện IR Remote từ đây. Sau khi tải xuống tệp, hãy mở Arduino IDE của bạn và đi tới Phác thảo> Bao gồm thư viện> Thư viện Add.Zip . Chọn tệp thư viện và nhấp vào 'Mở'.
Bắt đầu mã của bạn bằng cách bao gồm tệp thư viện IR Remote.
#include
Sau đó, xác định chân Arduino nơi bạn đã kết nối chân Dữ liệu của Bộ thu IR. Trong trường hợp của tôi, nó được kết nối với chân D2 của Arduino.
int IRPIN = 2;
Sau đó, tạo một phiên bản cho chân Bộ thu IR.
IRrecv không thể thay đổi (IRPIN);
Trong dòng tiếp theo, xác định một đối tượng cho lớp decode_results , nó sẽ được sử dụng bởi bộ thu IR để gửi thông tin đã giải mã.
decode_results kết quả;
Bên trong setup () chức năng, bắt đầu giao tiếp nối tiếp, và bắt đầu tiếp nhận hồng ngoại bằng cách gọi IRrecv chức năng enableIRIn ().
void setup () {Serial.begin (9600); Serial.println ("Bật IRin"); không thể thay đổi.enableIRIn (); Serial.println ("IRin đã bật"); Khởi tạo_streamer (); }
Trong vòng lặp () chức năng, irrecv.decode liên tục kiểm tra các tín hiệu mới và nếu một tín hiệu mới được nhận, mã tín hiệu nhận được sẽ được lưu trữ trong một result.value chức năng.
void loop () {if (’tcv.decode (& result)) {Serial.print ("Giá trị:"); Serial.println (result.value, HEX); Write_streamer (); không thể tìm thấy (); } delay (500); }
Để gửi dữ liệu sang trang tính Excel từ Arduino, chúng tôi đang sử dụng PLX-DAQ. Sử dụng hàm Write_streamer () , chúng ta đang gửi dữ liệu nối tiếp theo một mẫu cụ thể giống như hiển thị giá trị trên màn hình nối tiếp. Các dòng chính được giải thích dưới đây:
void Write_streamer () {Serial.print ("DATA"); // luôn ghi "DATA" để Cho biết phần sau là Data Serial.print (","); // Di chuyển đến cột tiếp theo bằng dấu "," Serial.print (result.value, HEX); // Lưu trữ ngày tháng trên Excel Serial.print (","); // Di chuyển đến cột tiếp theo bằng dấu "," Serial.println (); // Cuối hàng chuyển sang hàng tiếp theo}
Khi phần cứng và chương trình đã sẵn sàng, đã đến lúc tải chương trình lên Bảng Arduino Nano của bạn. Sau khi tải mã lên, hướng điều khiển từ xa về phía bộ thu IR và nhấn các nút điều khiển từ xa. Mã hex cho mọi nút sẽ được in trên màn hình nối tiếp.
Lưu dữ liệu bộ giải mã từ xa IR vào trang tính Excel
Bây giờ để gửi dữ liệu sang trang tính Excel, chúng ta sẽ sử dụng PLX-DAQ. Đây là một phần mềm Excel Plug-in giúp bạn ghi các giá trị từ Arduino vào trực tiếp trang tính Excel trên Máy tính xách tay hoặc PC của bạn. Sử dụng liên kết để tải xuống tệp. Sau khi tải về, giải nén tập tin và nhấp vào tập tin.exe để cài đặt. Nó sẽ tạo một thư mục có tên PLX-DAQ trên màn hình của bạn.
Bây giờ hãy mở tệp 'bảng tính PLX-DAQ' từ thư mục trên máy tính để bàn. Nếu macro bị tắt trên Excel của bạn, thì bạn sẽ thấy một khối bảo mật như được hiển thị trong hình ảnh bên dưới:
Nhấp vào Tùy chọn-> Bật nội dung -> Kết thúc -> OK để Bật Macro. Sau đó, bạn sẽ nhận được màn hình sau:
Bây giờ chọn tốc độ truyền là “9600” và cổng kết nối Arduino của bạn, sau đó nhấp vào Kết nối để bắt đầu truyền dữ liệu. Các giá trị của bạn sẽ bắt đầu được ghi lại như trong hình bên dưới.
Đây là cách một Bộ giải mã từ xa IR Arduino có thể được xây dựng dễ dàng để chuyển đổi tín hiệu từ xa IR thành mã HEX tương đương.
Toàn bộ mã Arduino với video demo được đưa ra bên dưới.