Mündəricat:

USB NEC infraqırmızı ötürücü və qəbuledici: 4 addım (şəkillərlə birlikdə)
USB NEC infraqırmızı ötürücü və qəbuledici: 4 addım (şəkillərlə birlikdə)

Video: USB NEC infraqırmızı ötürücü və qəbuledici: 4 addım (şəkillərlə birlikdə)

Video: USB NEC infraqırmızı ötürücü və qəbuledici: 4 addım (şəkillərlə birlikdə)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Noyabr
Anonim
USB NEC infraqırmızı ötürücü və qəbuledici
USB NEC infraqırmızı ötürücü və qəbuledici

Bu layihə, üzərində işlədiyim başqa bir layihənin bir hissəsidir və Təlimat verilə bilən Uzaqdan İdarəetmə 2017 müsabiqəsi olduğu üçün bu layihəni yayımladığımı düşündüm. Bu layihəni bəyənirsinizsə, ona səs verin. Təşəkkürlər.

Bildiyiniz kimi, mən Microchip 8-bit PIC nəzarətçilərinin böyük bir pərəstişkarıyam, baxın:

JAL proqramlaşdırma dilindən istifadə edirəm, çünki Paskal (mənim də bəyəndiyim) kimi görünür. JAL tərtibçisi və kitabxanaları https://www.justanotherlanguage.org/downloads saytından yükləyə bilərsiniz (son buraxılan versiya üçün aşağıya fırladın).

Ümumiyyətlə nə etdiyimi başa düşmək üçün bütün kodları özüm yazıram, amma bu layihə üçün PIC -i PC -nin USB portuna bağlamalıydım və bu PIC nəzarətçisi üçün JAL USB seriya sürücüsünə ehtiyacım var idi. JAL yükləmə paketində yaxşı işləyən USB serial sürücüsündən istifadə etdim. Bu USB serial sürücüsü müəyyən bir PIC üçün yazıldığı üçün PIC18F14K50 olan PIC -dən istifadə etdim. Bu nəzarətçi bu layihə üçün ehtiyac duyduğumdan daha çox funksiyaya malikdir, buna görə də hazırda bu USB sürücüsünü daha sadə bir PIC versiyası olan PIC16F1455 üzərində işləyirəm, bu da daha ucuzdur.

Bəs bu layihə nədən ibarətdir? Bu Təlimatlarda qeyd olunan cihazla məşhur NEC Infra-Red protokolundan istifadə edərək USB portu vasitəsilə kompüterinizə və kompüterinizə İnfra Qırmızı Uzaqdan İdarəetmə əmrlərini göndərə və qəbul edə bilərsiniz. Bu şəkildə Infra-Red əmrlərini izləyə bilərsiniz və NEC Infra-Red Remote Control protokolundan istifadə edən hər hansı bir cihazı idarə edə bilərsiniz. Layihə İnfra-Red mesajlarını deşifr edərək ünvan baytına və əmr baytına və ya təkrar mesaja çevirir. Əlbəttə ki, ünvan, TV və ya Radio kimi müəyyən bir qurğuya müraciət etmək üçün istifadə olunur, burada əmr baytı Səs Yüksəltmə, Səs Azaltma kimi yerinə yetirilməsi lazım olan funksiyanı göstərir. Bu mesajların deşifr edilməsinin yanında, bu cihazdan istifadə edərək İnfra-Red vasitəsi ilə də ötürülə bilər.

Addım 1: NEC İnfraqırmızı Protokolu haqqında bəzi məlumatlar

NEC İnfra-Qırmızı Protokolu haqqında Bəzi Məlumatlar
NEC İnfra-Qırmızı Protokolu haqqında Bəzi Məlumatlar

Bu protokola qısa bir giriş. NEC Infra Red Uzaqdan İdarəetmə protokolu, satın ala biləcəyiniz bir çox cihazda və Uzaqdan İdarəetmə sistemlərində istifadə olunur. 38 kHz -lik bir daşıyıcıda Infra Red siqnalını modulyasiya edir və məntiqi '1' və məntiqi '0' kodlaşdırmaq üçün nəbz məsafəsi kodlaşdırmasından istifadə edir. Protokol, həm ünvanı, həm də əmr baytını, həm də eyni mesajda həm tərs versiyasını göndərərək, həm də qəbul edildikdən sonra eyni olub olmadığını yoxlamaqla mesajın tamam olub olmadığını yoxlamaq üçün sadə bir yoxlamadan istifadə edir. Uzaqdan İdarəetmə düyməsinə basıldıqda, bir dəfə ünvanı və əmri olan tam bir infraqırmızı mesaj göndərir. Düyməni basıb saxlamaq, ünvan və əmr məlumatı olmadan daha qısa bir təkrar mesaj göndərilməsi ilə nəticələnəcək. Düyməni basıb saxlayarkən ötürülən mesajların təkrarlanma müddəti sabitdir.

NEC Infra Red protokolu haqqında daha çox məlumatı, məsələn, https://sibotic.files.wordpress.com/2013/12/adoh-n… tapa bilərsiniz.

Addım 2: Tələb olunan komponentlər

Tələb olunan komponentlər
Tələb olunan komponentlər
Tələb olunan komponentlər
Tələb olunan komponentlər

Bu layihə üçün aşağıdakı komponentlərə sahib olmalısınız:

  • PIC mikro nəzarətçi PIC18F14K50, baxın:
  • Kristal 12 MHz
  • Seramik kondansatör: 2 * 100nF, 1 * 220 nF, 2 * 18pF
  • Elektrolitik kondansatör 47 uF/16V
  • Infra Qırmızı Alıcı TSOP4838, baxın:
  • Rezistorlar: 2 * 33k, 1 * 4k7, 1 * 1k, 3 * 330 Ohm, 1 * 22 Ohm
  • LEDlər: 2 * Infra Red, 1 Amber, 1 Green, 1 Red
  • Transistor BC640, baxın:
  • Jumper (isteğe bağlı)
  • USB Konnektoru

Komponentləri birləşdirmək üçün sxematik diaqrama baxın. Şəkildə və videoda gördüyünüz kimi bu layihə üçün çörək taxtası istifadə etdim. Dövrə gücünü PC -nin USB portundan alır.

Addım 3: Proqram və Cihazın İşlənməsi

Artıq qeyd edildiyi kimi, proqram bir PIC18F14K50 üçün yazılmışdır. JAL -da yazılıb. PIC -ni proqramlaşdırmaq üçün Intel Hex faylı əlavə edilmişdir. Proqram aşağıdakı funksiyaları yerinə yetirir:

  • NEC Infra-Red mesajlarının deşifr edilməsi və USB vasitəsilə PC-yə göndərilməsi. Mesaj, infraqırmızı qəbuledici tərəfindən yaradılan və ünvan + əmr mesajına və ya təkrar mesaja çevrilən bit axınından deşifr olunur.
  • USB vasitəsilə PC -dən alınan NEC Infra Red mesajlarının göndərilməsi. Diqqət yetirin ki, proqram həm də infraqırmızı LEDləri birbaşa idarə edən 38 kHz daşıyıcı tezliyi yaradır. Infra-Red LED-ə paralel olaraq bir mesajın ötürülməsini görünən etmək üçün bir Amber LED bağlanır.

Varsayılan olaraq, bu dövrə bir infraqırmızı mesajın ötürülməsi zamanı İnfra-Qırmızı alıcının səsini kəsəcək. Bir tullanan 'Səsi aç' mövqeyinə qoyulsa, bu səssiz funksiyanı deaktiv edəcək. Bu halda ötürülən Infra-Red mesajı da ötürülməyə paralel olaraq deşifr ediləcək və tam qəbul edildikdən sonra alınan infraqırmızı mesaj olaraq PC-yə göndəriləcək. Etibarlı bir NEC Infra-Red mesajı alınarsa, Qırmızı "IR OK" LED yanacaq.

Bu cihazı idarə etmək üçün kompüterinizdə bir Terminal Emulator proqramı olmalıdır. Bu məqsədlə 'Termit' istifadə etdim. Cihaz PC-yə qoşulduqda, Windows 10-da əvvəlcədən quraşdırılmış bu cihaz üçün Microchip sürücüsü olduğu üçün Windows 10 tərəfindən avtomatik olaraq əlavə bir COM portu olaraq tanınacaq. Bu COM portunun ayarı belə olmalıdır: 19200 baud 8 bit, 1 stop-bit, paritet yoxdur və RTS/CTS axın nəzarətindən istifadə. Baud dərəcəsi başqa bir dəyərə təyin oluna bilər, buna görə də 115200 bir baud dərəcəsi də işləyəcək. Cihaz Terminal Emulator proqramı vasitəsi ilə qoşularaq USB portu vasitəsilə konfiqurasiya edildikdən sonra Yaşıl "Konfiqurasiya" LED yanacaq.

İnfraqırmızı mesajlar qəbul etmək

İnfra-Red mesajı alındıqda, Terminal Emulator proqramında aşağıdakılar görünəcək:

  • Tam bir mesaj olduğu təqdirdə 'A: xx C: xx', burada xx (A) ünvanının və (C) əmrinin onaltılıq nömrəsidir. Hər ikisi üçün dəyərlər 0x00 (0) ilə 0xFF (255) arasında dəyişə bilər.
  • Təkrar bir mesaj olduqda 'Təkrar et'.

İnfraqırmızı mesajlar göndərmək

Bunun üçün cihaza nə edəcəyimi izah edən bir protokol təyin etməliydim. Bir Terminal Emulator istifadə etdiyimiz üçün bir mesaj təyin etmək üçün ASCII simvollarından istifadə etdim. Cihaza bir əmr göndərmək protokolu aşağıdakı formatı istifadə edir: '! AACCRR#', burada (bütün simvollar hərflərə həssas deyil):

  • '!' Mesajın başladığını göstərir.
  • 'AA', '0' dan '9' və 'A' dan 'F' ə qədər olan onaltılı notasiyada ünvanın dəyəridir,
  • 'CC', '0' dan '9' və 'A' dan 'F' qədər hexadecimal notationdakı əmrin dəyəridir.
  • "RR", "0" dan "9" a və "A" dan "F" ə qədər onaltılıq işarədə verilməli olan təkrar mesajların sayıdır. '00' dəyəri, təkrar mesaj göndərilməməsi deməkdir.

0x07, 0x05 əmri və 3 dəfə təkrarlanan bir mesajın nümunəsi daha sonra Terminal Emulator proqramında aşağıdakı kimi yazılmalıdır:! 070503#

PC -dən bir əmr göndərildikdən sonra cihaz fərqli cavablara malikdir:

  • 'Y' bir mesajın ötürüldüyünü bildirir. Diqqət yetirin ki, bu cavab bütün mesajlar (o cümlədən bütün təkrarlamalar) ötürüldükdən sonra verilir, buna görə də bir çox təkrar mesajın ötürülməsinə ehtiyac olduqda bu cavabın verilməsi bir az vaxt tələb edə bilər.
  • 'N', PC -yə göndərilən mesajda qanunsuz bir xarakterin olması deməkdir.
  • 'B', əmr verilərkən bir infraqırmızı ötürmənin hələ də məşğul olduğu anlamına gəlir.
  • ? ', Cihazın'! 'Gözlədiyini bildirir, amma başqa bir şey aldı.

Addım 4:

Cihazın işlədiyi qısa bir video çəkdim. Bu video üçün həm ötürmənin, həm də qəbulun işlədiyini görmək üçün Uzaqdan İdarəetmə ilə bir ticari LED Lampadan istifadə etdim. Videoda aşağıdakılar göstərilir:

  • USB cihazını Terminal Emulation proqramından konfiqurasiya etmək. Cihaz konfiqurasiya edildikdə "USB NEC İnfra Qırmızı Verici və Alıcı" mesajı ilə cavab verir. Cihazda PC -nin konfiqurasiya edildiyini göstərən Yaşıl LED yanır.
  • Lampa Uzaqdan İdarəetmə ilə açılır. Bunun üçün Uzaqdan İdarəetmə cihazı tərəfindən deşifr edilən və PC -də göstərilən 0x00 ünvanını və 0x07 əmrini istifadə edir.
  • Lampa Uzaqdan İdarəetmə ilə söndürülür. Bunun üçün Uzaqdan İdarəetmə cihazı tərəfindən deşifr edilən və PC -də göstərilən 0x00 ünvanını və 0x06 əmrini istifadə edir.
  • Lampa, kompüterdə eyni Uzaqdan İdarəetmə əmrini təkrarlama dəyəri 0 (təkrar yoxdur) yazılaraq '! 000700#' yazaraq açılır. Lampa yanır.
  • 0x00 ünvanını və 0x0A əmrini istifadə edərək və 0x30 təkrar istifadə edərək lampanın rəngini mavi rəngə dəyişmək. İnfra Red LED -ləri ilə paralel olaraq bağlanan Amber Led, yanıb -sönərək Infra Red vasitəsilə təkrar mesajın ötürülməsini göstərir. Yazılan mesaj "! 000A30#" dir.

Qeyd edək ki, bu videonun çəkilişi zamanı 'Unmute' tullanan bağlantısı aktiv olduğundan Terminal Emulation proqramında 'A: 00 C: 07' olaraq alınan '! 000700#' mesajını da görə bilərsiniz. Mavi rəngə boyanmış lampanın demosunda, eyni zamanda, təkrarlanan mesajların qəbuluna və deşifr edilməsinə görə mesajların ötürüldüyünü, etibarlı - təkrarlanan müddətdə Qırmızı LED -in yandığını da görə bilərsiniz.

Öz layihənizi qurmaqdan və reaksiyalarınızı gözləməkdən zövq alın. İstəyirsinizsə, Uzaqdan İdarəetmə 2017 yarışmasında bu layihəyə səs verməyi unutmayın. Bir daha təşəkkür edirəm.

Tövsiyə: