Բովանդակություն:

USB NEC ինֆրակարմիր հաղորդիչ և ընդունիչ. 4 քայլ (նկարներով)
USB NEC ինֆրակարմիր հաղորդիչ և ընդունիչ. 4 քայլ (նկարներով)

Video: USB NEC ինֆրակարմիր հաղորդիչ և ընդունիչ. 4 քայլ (նկարներով)

Video: USB NEC ինֆրակարմիր հաղորդիչ և ընդունիչ. 4 քայլ (նկարներով)
Video: Как работает USB? Просто, доступно, с примерами. 2024, Նոյեմբեր
Anonim
USB NEC ինֆրակարմիր հաղորդիչ և ընդունիչ
USB NEC ինֆրակարմիր հաղորդիչ և ընդունիչ

Այս նախագիծը մեկ այլ նախագծի սփին-օֆ է, որի վրա ես աշխատում եմ, և քանի որ կա Հեռակառավարման 2017 մրցույթ Instructables- ում, ես մտածեցի, որ տեղադրեցի այս նախագիծը: Այսպիսով, եթե ձեզ դուր է գալիս այս նախագիծը, խնդրում ենք կողմ քվեարկել դրան: Շնորհակալություն

Ինչպես երևի գիտեք, ես Microchip 8-բիթանոց PIC կարգավորիչների մեծ երկրպագու եմ, տես ՝

Ես օգտագործում եմ JAL ծրագրավորման լեզուն, քանի որ այն նման է Պասկալին (որը ինձ նույնպես դուր է գալիս): JAL կոմպիլյատորը և գրադարանները կարելի է ներբեռնել ՝ https://www.justanotherlanguage.org/downloads կայքից (վերջին թողարկված տարբերակի համար ոլորել ներքև):

Սովորաբար ես ինքս եմ գրում ամբողջ ծածկագիրը, որպեսզի լիովին հասկանամ, թե ինչ եմ անում, բայց այս նախագծի համար ինձ անհրաժեշտ էր PIC- ը միացնել համակարգչի USB պորտին, ուստի ինձ անհրաժեշտ էր JAL USB սերիական վարորդ այս PIC վերահսկիչի համար: JAL ներբեռնման փաթեթում օգտագործեցի USB սերիայի վարորդը, որը, կարծես, լավ է աշխատում: Քանի որ այս USB սերիայի վարորդը գրված էր մեկ հատուկ PIC- ի համար, ես օգտագործեցի այդ PIC- ը, որը PIC18F14K50- ն է: Այս վերահսկիչն ունի շատ ավելի ֆունկցիոնալություն, քան ինձ անհրաժեշտ է այս նախագծի համար, ուստի ես այժմ այս USB վարորդն աշխատում եմ ավելի պարզ PIC տարբերակի ՝ PIC16F1455- ի վրա, որը նույնպես ավելի էժան է:

Այսպիսով, ինչի՞ մասին է այս նախագիծը: Այս ցուցումներում նշված սարքի միջոցով դուք կարող եք ուղարկել և ստանալ ինֆրակարմիր հեռակառավարման հրամաններ և ձեր համակարգչից USB պորտի միջոցով ՝ օգտագործելով հանրահայտ NEC ինֆրակարմիր արձանագրությունը: Այս կերպ կարող եք վերահսկել ինֆրակարմիր հրամանները և կարող եք վերահսկել ցանկացած սարք, որն օգտագործում է NEC ինֆրակարմիր հեռակառավարման արձանագրությունը: Նախագիծը վերծանում և թարգմանում է Ինֆրակարմիր հաղորդագրությունները հասցեի բայթ և հրամանի բայթ կամ կրկնվող հաղորդագրության: Հասցեն, անշուշտ, օգտագործվում է հեռուստատեսության կամ ռադիոյի նման սարքի հասցեագրման համար, որտեղ հրամանի բայթը ցույց է տալիս այն գործառույթը, որն անհրաժեշտ է կատարել Volume Up- ի, Volume Down- ի նման: Այս հաղորդագրությունները վերծանելու կողքին դրանք կարող են փոխանցվել նաև Ինֆրակարմիր միջոցով ՝ օգտագործելով այս սարքը:

Քայլ 1. Որոշ տեղեկություններ NEC ինֆրակարմիր արձանագրության մասին

Որոշ տեղեկություններ NEC ինֆրակարմիր արձանագրության մասին
Որոշ տեղեկություններ NEC ինֆրակարմիր արձանագրության մասին

Այս արձանագրության կարճ ներածություն: NEC Infra Red Remote Control արձանագրությունը օգտագործվում է բազմաթիվ սարքերում և հեռակառավարման վահանակներում, որոնք կարող եք գնել: Այն մոդուլացնում է ինֆրակարմիր ազդանշանը 38 կՀց կրիչի վրա և օգտագործում է զարկերակային հեռավորության կոդավորումը տրամաբանական «1» և տրամաբանական «0» կոդավորման համար: Արձանագրությունը օգտագործում է պարզ ստուգում ՝ տեսնելու համար, թե արդյոք հաղորդագրությունը լավ է ՝ ուղարկելով թե՛ հասցեն և թե՛ հրամանի բայթը և երկուսի հակադարձ տարբերակը մեկ և նույն հաղորդագրության մեջ և ստուգել, թե արդյոք դրանք նույնն են ընդունելությունից հետո: Հեռակառավարման վահանակի վրա կոճակը սեղմելիս այն մեկ անգամ ուղարկում է ինֆրակարմիր ամբողջական հաղորդագրություն ՝ հասցեով և հրամանով: Կոճակը սեղմված պահելը կհանգեցնի ավելի կարճ կրկնվող հաղորդագրության ՝ առանց հասցեի և հրամանի տեղեկատվության: Կոճակը սեղմված պահելիս փոխանցվող հաղորդագրությունների կրկնության ժամանակը ֆիքսված է:

NEC Infra Red արձանագրության վերաբերյալ լրացուցիչ տեղեկություններ կարելի է գտնել, օրինակ ՝

Քայլ 2: Պահանջվող բաղադրիչներ

Պահանջվող բաղադրիչներ
Պահանջվող բաղադրիչներ
Պահանջվող բաղադրիչներ
Պահանջվող բաղադրիչներ

Այս նախագծի համար անհրաժեշտ է ունենալ հետևյալ բաղադրիչները.

  • PIC միկրոկառավարիչ PIC18F14K50, տես ՝
  • Բյուրեղյա 12 ՄՀց
  • Կերամիկական կոնդենսատոր `2 * 100nF, 1 * 220 nF, 2 * 18pF
  • Էլեկտրոլիտիկ կոնդենսատոր 47 uF/16V
  • Ինֆրակարմիր ընդունիչ TSOP4838, տես ՝
  • Ռեզիստորներ ՝ 2 * 33k, 1 * 4k7, 1 * 1k, 3 * 330 Օմ, 1 * 22 Օմ
  • LED- ները `2 * Ինֆրակարմիր, 1 Սաթ, 1 Կանաչ, 1 Կարմիր
  • Տրանզիստոր BC640, տես ՝
  • Թռիչք (ըստ ցանկության)
  • USB միակցիչ

Տեսեք սխեմատիկ դիագրամը, թե ինչպես միացնել բաղադրիչները: Այս նախագծի համար ես օգտագործեցի տախտակ, ինչպես տեսնում եք նկարում և տեսանյութում: Շղթան իր էներգիան ստանում է համակարգչի USB պորտից:

Քայլ 3. Softwareրագրակազմը և սարքի շահագործումը

Ինչպես արդեն նշվեց, ծրագրաշարը գրված է PIC18F14K50- ի համար: WasԱԼ -ում գրված էր: Ձեր PIC- ը ծրագրավորելու համար Intel Hex ֆայլը կցված է: Րագրակազմը կատարում է հետևյալ գործառույթները.

  • Վերծանեք NEC ինֆրակարմիր հաղորդագրությունները և ուղարկեք այն համակարգչին USB- ի միջոցով: Հաղորդագրությունը վերծանվում է ինֆրակարմիր ստացողի կողմից առաջացած բիթ հոսքից և թարգմանվում է հասցե + հրամանի հաղորդագրություն կամ կրկնվող հաղորդագրություն:
  • USB- ի միջոցով համակարգչից ստացված NEC ինֆրակարմիր հաղորդագրությունների ուղարկում: Նկատի ունեցեք, որ ծրագրաշարը նաև ստեղծում է 38 կՀց կրիչի հաճախականություն, որն ուղղակիորեն մղում է ինֆրակարմիր LED- ները: Ինֆրակարմիր LED- ին զուգահեռ միացված է Սաթե LED, որը տեսանելի է դարձնում հաղորդագրության փոխանցումը:

Լռելյայնորեն, այս սխեման կխլացնի Ինֆրակարմիր ստացողը Ինֆրակարմիր հաղորդագրության փոխանցման ընթացքում: Եթե jumper- ը տեղադրվի «Միացնել» դիրքի վրա, այն կանջատի այս համր գործառույթը: Այդ դեպքում փոխանցվող Ինֆրակարմիր հաղորդագրությունը նույնպես վերծանվելու է փոխանցմանը զուգահեռ, իսկ ամբողջական ընդունումից հետո այն ուղարկվում է որպես ստացված Ինֆրակարմիր հաղորդագրություն ԱՀ-ին: Եթե ստացվի վավեր NEC ինֆրակարմիր հաղորդագրություն, Կարմիր «IR OK» LED լուսավորությունը:

Այս սարքը գործարկելու համար դուք պետք է ունենաք Terminal Emulator ծրագիր ձեր համակարգչում: Այս նպատակով ես օգտագործել եմ «տերմիտ»: Երբ սարքը միացված է համակարգչին, այն Windows 10-ի կողմից ինքնաբերաբար կճանաչվի որպես լրացուցիչ COM նավահանգիստ, քանի որ Windows 10-ում, կարծես, այս սարքի համար կա Microchip վարորդ: Այս COM նավահանգստի պարամետրը պետք է լինի. Baud փոխարժեքը կարող է սահմանվել ցանկացած այլ արժեքի անհրաժեշտության դեպքում, այնպես որ 115200 baud փոխարժեքը նույնպես կաշխատի: Երբ սարքը կազմաձևվի USB պորտի միջոցով ՝ դրան միանալով «Տերմինալ Էմուլատոր» ծրագրի միջոցով, Կանաչ «Կարգավորված» LED լուսավորող լույսը:

Ինֆրակարմիր հաղորդագրություններ ստանալը

Երբ ստացվում է Ինֆրակարմիր հաղորդագրություն, Terminal Emulator ծրագրում կցուցադրվեն հետևյալը.

  • «A: xx C: xx» ՝ ամբողջական հաղորդագրության դեպքում, որտեղ xx հասցեի տասնվեցերորդ համարն է (A) և հրամանը (C): Երկուսի արժեքներն էլ կարող են տատանվել 0x00 (0) - ից 0xFF (255) սահմաններում:
  • «Կրկնել» կրկնվող հաղորդագրության դեպքում:

Ինֆրակարմիր հաղորդագրություններ ուղարկելը

Դրա համար ես պետք է սահմանեի մի արձանագրություն, որը կասի սարքին, թե ինչ անել: Քանի որ մենք օգտագործում ենք Տերմինալի էմուլատոր, ես հաղորդագրություն սահմանելու համար օգտագործեցի ASCII նիշ: Սարքին հրաման ուղարկելու արձանագրությունը օգտագործում է հետևյալ ձևաչափը.

  • «!» Ցույց է տալիս հաղորդագրության սկիզբը:
  • «AA» - ն հասցեի արժեքն է տասնվեցական նշումով, այնպես որ «0» - «9» և «A» - ից «F»,
  • «CC» - ը հրամանի արժեքն է տասնվեցական նշումով, այնպես որ «0» - «9» և «A» - ից «F»
  • «RR» - ը կրկնվող հաղորդագրությունների քանակն է, որոնք պետք է փոխանցվեն տասնվեցական նշումով, այնպես որ «0» - ից «9» և «A» - ից «F»: «00» արժեքը նշանակում է, որ կրկնվող հաղորդագրություն չի ուղարկվում:

0x07 հասցեով, 0x05 հրամանով և 3 կրկնումով հաղորդագրության օրինակ այնուհետև տերմինալ էմուլյատոր ծրագրում պետք է մուտքագրվի հետևյալ կերպ.! 070503#

Սարքը տարբեր պատասխաններ ունի համակարգչից հրաման ուղարկվելուց հետո.

  • «Y» նշանակում է, որ հաղորդագրություն է փոխանցվել: Նկատի ունեցեք, որ այս պատասխանը տրվում է այն բանից հետո, երբ բոլոր հաղորդագրությունները, ներառյալ բոլոր կրկնությունները, փոխանցվում են, ուստի որոշ ժամանակ կպահանջվի, մինչև այս պատասխանը տրվի, երբ անհրաժեշտ է փոխանցել բազմաթիվ կրկնվող հաղորդագրություններ:
  • «N» նշանակում է, որ ԱՀ ուղարկված հաղորդագրության մեջ կար անօրինական բնույթ:
  • «B» նշանակում է, որ ինֆրակարմիր փոխանցումը դեռ զբաղված էր, երբ հրաման էր տրվում:
  • ?’Նշանակում է, որ սարքը սպասում էր«! », Բայց այն ստացել էր այլ բան:

Քայլ 4:

Ես կարճ տեսաֆիլմ եմ պատրաստել սարքի գործողության մեջ: Այս տեսանյութի համար ես օգտագործեցի առևտրային LED լամպ ՝ իր հեռակառավարմամբ ՝ տեսնելու, որ ինչպես փոխանցման, այնպես էլ ընդունման աշխատանքները: Տեսանյութը ցույց է տալիս հետևյալը.

  • USB սարքի կազմաձևում Terminal Emulation ծրագրից: Երբ սարքը կազմաձևված է, այն պատասխանում է «USB NEC ինֆրակարմիր հաղորդիչ և ընդունիչ» հաղորդագրությամբ: Սարքի վրա կանաչ LED- ը միացված է ՝ ցույց տալով, որ սարքը կազմաձևված է ԱՀ -ով:
  • Լամպը միացված է Հեռակառավարմամբ: Դրա համար Հեռակառավարման վահանակն օգտագործում է 0x00 հասցեն և 0x07 հրամանը, որը ապակոդավորվում է սարքի կողմից և ցուցադրվում է ԱՀ -ում:
  • Լամպը անջատված է Հեռակառավարմամբ: Դրա համար Հեռակառավարման վահանակն օգտագործում է 0x00 հասցեն և 0x06 հրամանը, որը ապակոդավորվում է սարքի կողմից և ցուցադրվում է ԱՀ -ում:
  • Լամպը միացված է ՝ մուտքագրելով նույն Հեռակառավարման հրամանը համակարգչում ՝ 0 կրկնող արժեքով (ոչ կրկնություն), այնպես որ ՝ մուտքագրելով ‘! 000700#': Լամպը միանում է:
  • Լամպի գույնը փոխեք կապույտի ՝ օգտագործելով 0x00 հասցեն և 0x0A հրամանը և օգտագործելով 0x30 կրկնողություններ: Amber Led- ը, որը միացված է ինֆրակարմիր LED- ներին, թարթում է ՝ ցույց տալով կրկնվող հաղորդագրության փոխանցումը ինֆրակարմիր միջոցով: Մուտքագրված հաղորդագրությունն է '! 000A30#':

Նկատի ունեցեք, որ այս տեսանյութի ձայնագրման ժամանակ «Միացնել» թռիչքային միացումն ակտիվ էր, այնպես որ կարող եք տեսնել նաև փոխանցված «! 000700#» հաղորդագրությունը, որը ստացվել է «A: 00 C: 07» տերմինալային էմուլյացիայի ծրագրում: Կապույտ գույն ունեցող լամպի ցուցադրման ժամանակ կարող եք տեսնել նաև, որ Կարմիր LED- ն վառվում է այնքան ժամանակ, քանի դեռ վավեր կրկնվող հաղորդագրությունները փոխանցվում են, քանի որ դրանք ստացվել և վերծանվել են կրկնվող հաղորդագրությունների փոխանցմանը զուգահեռ:

Haveվարճացեք ձեր սեփական նախագիծը կառուցելով և անհամբեր սպասելով ձեր արձագանքներին: Եթե ցանկանում եք, մի մոռացեք քվեարկել այս նախագծի համար Remote Control 2017 մրցույթում: Նորից շնորհակալություն.

Խորհուրդ ենք տալիս: