Mục lục:

Bộ phát và thu hồng ngoại USB NEC: 4 bước (có hình ảnh)
Bộ phát và thu hồng ngoại USB NEC: 4 bước (có hình ảnh)

Video: Bộ phát và thu hồng ngoại USB NEC: 4 bước (có hình ảnh)

Video: Bộ phát và thu hồng ngoại USB NEC: 4 bước (có hình ảnh)
Video: Điều khiển hồng ngoại IR điều khiển TV, Máy lạnh, Quạt Tuya 2024, Tháng sáu
Anonim
Bộ thu và phát hồng ngoại USB NEC
Bộ thu và phát hồng ngoại USB NEC

Dự án này là phần phụ của một dự án khác mà tôi đang thực hiện và vì có cuộc thi Điều khiển từ xa năm 2017 trên Vật phẩm hướng dẫn nên tôi nghĩ mình đăng dự án này. Vì vậy, nếu bạn thích dự án này, hãy bình chọn cho nó. Cảm ơn.

Như bạn có thể biết, tôi là một fan hâm mộ lớn của bộ điều khiển PIC 8-bit của Microchip, hãy xem:

Tôi sử dụng ngôn ngữ lập trình JAL vì nó trông giống như Pascal (mà tôi cũng thích). Có thể tải xuống trình biên dịch JAL và các thư viện từ: https://www.justaosystemlanguage.org/downloads (cuộn xuống để xem phiên bản mới nhất được phát hành).

Thông thường, tôi tự viết tất cả mã để hoàn toàn hiểu những gì tôi đang làm nhưng đối với dự án này, tôi cần kết nối PIC với cổng USB của PC và vì vậy tôi cần trình điều khiển nối tiếp JAL USB cho bộ điều khiển PIC này. Tôi đã sử dụng trình điều khiển nối tiếp USB trong gói tải xuống JAL có vẻ hoạt động tốt. Vì trình điều khiển nối tiếp USB này được viết cho một PIC cụ thể nên tôi đã sử dụng PIC đó là PIC18F14K50. Bộ điều khiển này có nhiều chức năng hơn tôi cần cho dự án này, vì vậy tôi hiện đang trong quá trình làm cho trình điều khiển USB này hoạt động trên phiên bản PIC đơn giản hơn, PIC16F1455, cũng rẻ hơn.

Vì vậy, tất cả các dự án này là gì? Với thiết bị được đề cập trong Tài liệu hướng dẫn này, bạn có thể gửi và nhận các lệnh Điều khiển từ xa màu đỏ hồng từ và đến máy tính của mình thông qua cổng USB bằng giao thức hồng ngoại NEC phổ biến. Bằng cách này, bạn có thể giám sát các lệnh Hồng ngoại và bạn có thể điều khiển bất kỳ thiết bị nào sử dụng giao thức Điều khiển Từ xa Hồng ngoại NEC. Dự án giải mã và dịch các thông điệp Hồng ngoại thành một byte địa chỉ và một byte lệnh hoặc thành một thông điệp lặp lại. Địa chỉ - tất nhiên - được sử dụng để gọi một thiết bị nhất định như TV hoặc Radio trong đó byte lệnh chỉ ra chức năng cần được thực hiện như Tăng âm lượng, Giảm âm lượng. Bên cạnh việc giải mã những tin nhắn này, chúng cũng có thể được truyền qua Hồng ngoại bằng thiết bị này.

Bước 1: Một số thông tin về giao thức hồng ngoại NEC

Một số thông tin về giao thức hồng ngoại NEC
Một số thông tin về giao thức hồng ngoại NEC

Giới thiệu ngắn gọn về giao thức này. Giao thức Điều khiển từ xa hồng ngoại NEC được sử dụng trong nhiều thiết bị và Điều khiển từ xa mà bạn có thể mua. Nó điều chế tín hiệu Hồng ngoại trên sóng mang 38 kHz và sử dụng mã hóa khoảng cách xung để mã hóa logic ‘1’ và logic ‘0’. Giao thức sử dụng một kiểm tra đơn giản để xem liệu thông báo có được chấp nhận hay không bằng cách gửi cả địa chỉ và byte lệnh và phiên bản đảo ngược của cả hai trong một và cùng một thông điệp và kiểm tra xem chúng có giống nhau không sau khi nhận. Khi một nút được nhấn trên Điều khiển từ xa, nó sẽ gửi một thông báo Hồng ngoại hoàn chỉnh với địa chỉ và lệnh một lần. Giữ nút được nhấn sẽ dẫn đến việc gửi một tin nhắn lặp lại ngắn hơn mà không có thông tin về địa chỉ và lệnh. Thời gian lặp lại của các tin nhắn đã truyền trong khi vẫn nhấn nút là cố định.

Ví dụ: bạn có thể tìm thêm thông tin về giao thức Hồng ngoại NEC trên:

Bước 2: Các thành phần bắt buộc

Các thành phần bắt buộc
Các thành phần bắt buộc
Các thành phần bắt buộc
Các thành phần bắt buộc

Bạn cần có các thành phần sau cho dự án này:

  • Vi điều khiển PIC PIC18F14K50, xem tại:
  • Tinh thể 12 MHz
  • Tụ gốm: 2 * 100nF, 1 * 220 nF, 2 * 18pF
  • Tụ điện 47 uF / 16V
  • Đầu thu hồng ngoại TSOP4838, xem tại:
  • Điện trở: 2 * 33k, 1 * 4k7, 1 * 1k, 3 * 330 Ohm, 1 * 22 Ohm
  • Đèn LED: 2 * Hồng ngoại, 1 Hổ phách, 1 Xanh lục, 1 Đỏ
  • Transistor BC640, xem tại:
  • Jumper (tùy chọn)
  • Thiết bị kết nối USB

Xem sơ đồ về cách kết nối các thành phần. Tôi đã sử dụng breadboard cho dự án này như bạn có thể thấy trong hình và trong video. Mạch lấy nguồn từ cổng USB của PC.

Bước 3: Phần mềm và hoạt động của thiết bị

Như đã đề cập, phần mềm được viết cho PIC18F14K50. Nó được viết bằng JAL. Tệp Intel Hex để lập trình PIC của bạn được đính kèm. Phần mềm thực hiện các chức năng sau:

  • Giải mã thông báo NEC Infra-Red và gửi đến PC qua USB. Thông điệp được giải mã từ luồng bit được tạo ra bởi bộ thu Infra-Red và được dịch sang địa chỉ + thông điệp lệnh hoặc thông báo lặp lại.
  • Gửi tin nhắn Hồng ngoại NEC nhận được từ PC qua USB. Lưu ý rằng phần mềm cũng tạo ra tần số sóng mang 38 kHz trực tiếp điều khiển các đèn LED hồng ngoại. Song song với đèn LED hồng ngoại, một đèn LED màu hổ phách được kết nối để giúp cho việc truyền tải thông báo có thể nhìn thấy được.

Theo mặc định, mạch này sẽ tắt tiếng bộ thu Hồng ngoại trong quá trình truyền tin nhắn Hồng ngoại. Nếu một jumper được đặt ở vị trí ‘Unmute’, nó sẽ tắt chức năng tắt tiếng này. Trong trường hợp đó, bản tin Hồng ngoại được truyền đi cũng sẽ được giải mã song song với quá trình truyền và sau khi nhận hoàn toàn, nó sẽ được gửi dưới dạng bản tin Hồng ngoại đã nhận đến PC. Nếu nhận được thông báo Hồng ngoại NEC hợp lệ, đèn LED ‘IR OK’ màu đỏ sẽ sáng.

Để vận hành thiết bị này, bạn cần có chương trình Trình mô phỏng thiết bị đầu cuối trên PC của mình. Tôi đã sử dụng "Termite" cho mục đích này. Khi thiết bị được kết nối với PC, nó sẽ tự động được Windows 10 nhận dạng là một cổng COM bổ sung vì dường như có một trình điều khiển Microchip cho thiết bị này trong Windows 10 được cài đặt sẵn. Cài đặt cho cổng COM này phải là: 19200 baud 8 bit, 1 bit dừng, không có chẵn lẻ và sử dụng điều khiển luồng RTS / CTS. Tốc độ truyền có thể được đặt thành bất kỳ giá trị nào khác nếu cần để tốc độ truyền là 115200 cũng sẽ hoạt động. Sau khi thiết bị được định cấu hình qua cổng USB bằng cách kết nối với thiết bị thông qua chương trình Trình mô phỏng thiết bị đầu cuối, đèn LED ‘Đã cấu hình’ màu xanh lục sẽ sáng.

Nhận tin nhắn hồng ngoại

Khi nhận được thông báo Hồng ngoại, thông báo sau sẽ được hiển thị trong chương trình Trình mô phỏng đầu cuối:

  • ‘A: xx C: xx’ trong trường hợp có một thông báo hoàn chỉnh, trong đó xx là số thập lục phân của địa chỉ (A) và lệnh (C). Giá trị cho cả hai có thể nằm trong khoảng từ 0x00 (0) đến 0xFF (255).
  • ‘Lặp lại’ trong trường hợp có tin nhắn lặp lại.

Gửi tin nhắn hồng ngoại

Đối với điều này, tôi cần xác định một giao thức cho thiết bị biết phải làm gì. Vì chúng tôi sử dụng Trình giả lập đầu cuối nên tôi đã sử dụng các ký tự ASCII để xác định một thông báo. Giao thức để gửi lệnh đến thiết bị sử dụng định dạng sau: ‘! AACCRR #’, trong đó (tất cả các ký tự không phân biệt chữ hoa chữ thường):

  • ‘!’ Cho biết phần bắt đầu của tin nhắn.
  • ‘AA’ là giá trị của địa chỉ ở dạng ký hiệu thập lục phân nên ‘0’ thành ‘9’ và ‘A’ thành ‘F’,
  • ‘CC’ là giá trị của lệnh trong ký hiệu thập lục phân nên ‘0’ thành ‘9’ và ‘A’ thành ‘F’
  • ‘RR’ là số lượng thông báo lặp lại cần được truyền theo ký hiệu thập lục phân nên ‘0’ thành ‘9’ và ‘A’ thành ‘F’. Giá trị ‘00’ có nghĩa là không có tin nhắn lặp lại nào được gửi.

Ví dụ về thông báo có địa chỉ 0x07, lệnh 0x05 và 3 lần lặp lại sau đó sẽ được nhập như sau trên chương trình Trình mô phỏng đầu cuối:! 070503 #

Thiết bị có các phản hồi khác nhau sau khi lệnh được gửi từ PC:

  • ‘Y’ có nghĩa là một thông báo đã được truyền đi. Lưu ý rằng phản hồi này được đưa ra sau khi tất cả các tin nhắn - bao gồm tất cả các tin nhắn lặp lại - được truyền đi, vì vậy có thể mất một thời gian trước khi phản hồi này được đưa ra khi nhiều tin nhắn lặp lại cần được truyền đi.
  • ‘N’ có nghĩa là có một ký tự bất hợp pháp trong tin nhắn được gửi đến PC.
  • ‘B’ có nghĩa là truyền Hồng ngoại vẫn bận khi lệnh được đưa ra.
  • ?’Có nghĩa là thiết bị đang mong đợi‘!’Nhưng thiết bị đã nhận được một thứ khác.

Bước 4:

Tôi đã làm một đoạn video ngắn về thiết bị đang hoạt động. Đối với video này, tôi đã sử dụng Đèn LED thương mại có Điều khiển từ xa để thấy rằng cả truyền và nhận đều hoạt động. Đoạn video cho thấy những điều sau:

  • Định cấu hình thiết bị USB từ chương trình Mô phỏng thiết bị đầu cuối. Khi thiết bị được định cấu hình, nó sẽ phản hồi bằng thông báo ‘Bộ phát và bộ thu hồng ngoại USB NEC’. Trên thiết bị, đèn LED Xanh lục được bật cho thấy thiết bị đã được cấu hình bởi PC.
  • Đèn được bật bằng Điều khiển từ xa. Đối với điều này, Điều khiển từ xa sử dụng địa chỉ 0x00 và lệnh 0x07 được thiết bị giải mã và hiển thị trên PC.
  • Đèn được tắt bằng Điều khiển từ xa. Đối với điều này, Điều khiển từ xa sử dụng địa chỉ 0x00 và lệnh 0x06 được thiết bị giải mã và hiển thị trên PC.
  • Đèn được bật bằng cách nhập lệnh Điều khiển từ xa tương tự trên PC với giá trị lặp lại là 0 (không lặp lại), do đó, bằng cách nhập ‘! 000700 #’. Đèn bật sáng.
  • Thay đổi màu của đèn thành màu xanh lam bằng cách sử dụng địa chỉ 0x00 và lệnh 0x0A và sử dụng các lần lặp lại 0x30. Đèn LED màu hổ phách, được kết nối song song với đèn LED hồng ngoại đang nhấp nháy cho thấy việc truyền tin nhắn lặp lại qua đèn hồng ngoại. Tin nhắn đã nhập là ‘! 000A30 #’.

Lưu ý rằng trong quá trình quay video này, kết nối jumper ‘Unmute’ đã hoạt động nên bạn cũng có thể thấy thông báo đã truyền ‘! 000700 #’, được nhận là ‘A: 00 C: 07’ trên chương trình Mô phỏng đầu cuối. Trong bản demo của đèn có màu xanh lam, bạn cũng có thể thấy rằng đèn LED Đỏ sáng miễn là các thông điệp lặp lại - hợp lệ được truyền đi vì chúng được nhận và giải mã song song với việc truyền các thông điệp lặp lại.

Hãy vui vẻ xây dựng dự án của riêng bạn và mong đợi phản ứng của bạn. Đừng quên bình chọn cho dự án này trong cuộc thi Điều khiển từ xa 2017 nếu bạn thích nó. Cảm ơn một lần nữa.

Đề xuất: