Kazalo:

Infrardeči oddajnik in sprejemnik USB NEC: 4 koraki (s slikami)
Infrardeči oddajnik in sprejemnik USB NEC: 4 koraki (s slikami)

Video: Infrardeči oddajnik in sprejemnik USB NEC: 4 koraki (s slikami)

Video: Infrardeči oddajnik in sprejemnik USB NEC: 4 koraki (s slikami)
Video: Распаковка и обзор беспроводного микрофона TONOR TW-630 2024, November
Anonim
Infrardeči oddajnik in sprejemnik USB NEC
Infrardeči oddajnik in sprejemnik USB NEC

Ta projekt je spin-off drugega projekta, na katerem delam, in ker obstaja natečaj Remote Control 2017 za Instructables, sem mislil, da objavljam ta projekt. Torej, če vam je ta projekt všeč, ga prosim glasujte. Hvala.

Kot morda veste, sem velik oboževalec 8-bitnih krmilnikov PIC Microchip, glejte:

Uporabljam programski jezik JAL, saj je videti kot Pascal (ki mi je tudi všeč). Prevajalnik JAL in knjižnice lahko prenesete s spletnega mesta: https://www.justanotherlanguage.org/downloads (poiščite zadnjo izdano različico).

Običajno vpišem vso kodo, da popolnoma razumem, kaj počnem, toda za ta projekt sem moral priključiti PIC na vrata USB računalnika, zato sem za ta krmilnik PIC potreboval serijski gonilnik USB JAL. V prenosnem paketu JAL sem uporabil serijski gonilnik USB, ki deluje brezhibno. Ker je bil ta serijski gonilnik USB napisan za en poseben PIC, sem uporabil tisti PIC, ki je PIC18F14K50. Ta krmilnik ima veliko več funkcionalnosti, kot jih potrebujem za ta projekt, zato trenutno pripravljam ta gonilnik USB za delo na enostavnejši različici PIC, PIC16F1455, ki je tudi cenejša.

Kaj torej sploh pomeni ta projekt? Z napravo, omenjeno v tem navodilu, lahko pošiljate in prejemate ukaze daljinskega upravljalnika infrardeče barve iz in na vaš računalnik prek vrat USB z uporabo priljubljenega protokola NEC Infra-Red. Na ta način lahko nadzirate ukaze Infra-Red in lahko nadzirate katero koli napravo, ki uporablja protokol NEC Infra-Red Remote Control. Projekt dekodira in prevede infrardeča sporočila v naslovno bajo in ukazno bajto ali v ponavljajoče se sporočilo. Naslov se seveda uporablja za naslavljanje določene naprave, na primer televizije ali radia, kjer ukazni bajt označuje funkcijo, ki jo je treba izvesti, na primer povečanje glasnosti, zmanjšanje glasnosti. Poleg dekodiranja teh sporočil jih lahko s to napravo pošljete tudi prek infrardeče povezave.

Korak: Nekaj informacij o infrardečem protokolu NEC

Nekaj informacij o infrardečem protokolu NEC
Nekaj informacij o infrardečem protokolu NEC

Kratek uvod v ta protokol. Infrardeči daljinski upravljalnik NEC se uporablja v številnih napravah in daljinskih upravljalnikih, ki jih lahko kupite. Modulira infrardeči signal na nosilcu 38 kHz in uporablja kodiranje razdalje impulzov za kodiranje logičnega "1" in logičnega "0". Protokol s preprostim preverjanjem preveri, ali je sporočilo v redu, tako da pošlje naslov in bajt ukaza ter obrnjeno različico obeh v enem in istem sporočilu ter preveri, ali sta po sprejemu enaka. Ko pritisnete gumb na daljinskem upravljalniku, enkrat pošlje celotno infrardeče sporočilo z naslovom in ukazom. Če pritisnete gumb, bo poslano krajše ponavljajoče se sporočilo brez podatkov o naslovu in ukazu. Čas ponavljanja poslanih sporočil, medtem ko držite gumb pritisnjen, je določen.

Več informacij o protokolu NEC Infra Red je na primer na voljo na:

Korak: Potrebne komponente

Potrebne komponente
Potrebne komponente
Potrebne komponente
Potrebne komponente

Za ta projekt morate imeti naslednje komponente:

  • PIC mikrokrmilnik PIC18F14K50, glej:
  • Kristal 12 MHz
  • Keramični kondenzator: 2 * 100nF, 1 * 220 nF, 2 * 18pF
  • Elektrolitski kondenzator 47 uF/16V
  • Infra rdeči sprejemnik TSOP4838, glej:
  • Upori: 2 * 33k, 1 * 4k7, 1 * 1k, 3 * 330 Ohm, 1 * 22 Ohm
  • LED: 2 * infra rdeča, 1 oranžna, 1 zelena, 1 rdeča
  • Tranzistor BC640, glej:
  • Jumper (neobvezno)
  • USB priključek

Oglejte si shematski diagram, kako povezati komponente. Za ta projekt sem uporabil osnovo, kot lahko vidite na sliki in v videoposnetku. Napajanje vezja poteka prek vrat USB na osebnem računalniku.

3. korak: programska oprema in delovanje naprave

Kot smo že omenili, je programska oprema napisana za PIC18F14K50. Napisano je bilo v JAL -u. Priložena je datoteka Intel Hex za programiranje vašega PIC -a. Programska oprema opravlja naslednje funkcije:

  • Dekodiranje infrardečih sporočil NEC in jih pošljite v računalnik prek USB-ja. Sporočilo se dekodira iz bitnega toka, ki ga ustvari sprejemnik Infra-Red, in se prevede v naslov + ukazno sporočilo ali ponavljajoče se sporočilo.
  • Pošiljanje infrardečih sporočil NEC iz računalnika prek USB -ja. Upoštevajte, da programska oprema ustvarja tudi 38 kHz nosilno frekvenco, ki neposredno poganja infrardeče LED. Vzporedno z infrardečo LED je oranžna LED dioda vidna za prenos sporočila.

Privzeto bo to vezje utišalo infrardeči sprejemnik med prenosom infrardečega sporočila. Če je mostiček postavljen v položaj »Vklopi zvok«, bo onemogočil to funkcijo izklopa zvoka. V tem primeru bo poslano infrardeče sporočilo tudi dekodirano vzporedno s prenosom in po končanem sprejemu poslano kot prejeto infrardeče sporočilo v računalnik. Če prejmete veljavno infrardeče sporočilo NEC, zasveti rdeča LED dioda 'IR OK'.

Če želite upravljati to napravo, morate imeti v računalniku program Terminal Emulator. V ta namen sem uporabil "Termite". Ko je naprava povezana z osebnim računalnikom, jo bo Windows 10 samodejno prepoznal kot dodatna vrata COM, saj se zdi, da je v tej napravi vnaprej nameščen gonilnik Microchip za to napravo. Nastavitev za ta vrata COM mora biti: 19200 baud 8 bitov, 1 stop-bit, brez parnosti in z uporabo nadzora pretoka RTS/CTS. Hitrost prenosa lahko po potrebi nastavite na katero koli drugo vrednost, zato bo delovala tudi hitrost prenosa 115200. Ko napravo konfigurirate prek vrat USB, tako da se povežete z njo prek programa Terminal Emulator, zasveti zelena LED dioda „Konfigurirano“.

Prejemanje infrardečih sporočil

Ko prejmete infrardeče sporočilo, bo v programu Terminal Emulator prikazano naslednje:

  • „A: xx C: xx“v primeru celotnega sporočila, kjer je xx šestnajstiško število naslova (A) in ukaza (C). Vrednosti za oba se lahko gibljejo od 0x00 (0) do 0xFF (255).
  • 'Ponovi' v primeru ponovnega sporočila.

Pošiljanje infrardečih sporočil

Za to sem moral definirati protokol, ki napravi pove, kaj naj naredi. Ker uporabljamo terminalski emulator, sem za definiranje sporočila uporabil znake ASCII. Protokol za pošiljanje ukaza u napravi uporablja naslednjo obliko: '! AACCRR#', kjer (vsi znaki ne razlikujejo med velikimi in malimi črkami):

  • '!' Označuje začetek sporočila.
  • "AA" je vrednost naslova v šestnajstiškem zapisu, torej od "0" do "9" in "A" do "F",
  • "CC" je vrednost ukaza v šestnajstiškem zapisu, torej od "0" do "9" in "A" do "F"
  • „RR“je število ponavljajočih se sporočil, ki jih je treba poslati v šestnajstiškem zapisu, torej od „0“do „9“in „A“do „F“. Vrednost '00' pomeni, da se ne pošilja ponavljajoče se sporočilo.

Primer sporočila z naslovom 0x07, ukaz 0x05 in 3 ponovitvami je treba nato vtipkati na naslednji način v programu Terminal Emulator:! 070503#

Naprava ima drugačen odziv, ko je iz računalnika poslan ukaz:

  • "Y" pomeni, da je bilo poslano sporočilo. Upoštevajte, da je ta odgovor podan po prenosu vseh sporočil, vključno z vsemi ponovitvami, zato bo morda trajalo nekaj časa, preden bo ta odgovor poslan, ko bo treba poslati več ponovnih sporočil.
  • 'N' pomeni, da je bilo v sporočilu, poslanem osebnemu računalniku, nedovoljen znak.
  • 'B' pomeni, da je bil infrardeč prenos še vedno zaseden, ko je bil dan ukaz.
  • ? 'Pomeni, da je naprava pričakovala'! ', Vendar je prejela nekaj drugega.

4. korak:

Naredil sem kratek videoposnetek naprave v akciji. Za ta video sem uporabil komercialno LED svetilko z daljinskim upravljalnikom, da sem videl, da tako prenos kot sprejem delujeta. Video prikazuje naslednje:

  • Konfiguriranje naprave USB iz programa Terminal Emulation. Ko je naprava konfigurirana, se odzove s sporočilom „Infra rdeči oddajnik in sprejemnik USB NEC“. Na napravi se prižge zelena LED, ki kaže, da je napravo konfiguriral računalnik.
  • Lučka se prižge z daljinskim upravljalnikom. Za to daljinski upravljalnik uporablja naslov 0x00 in ukaz 0x07, ki ga naprava dekodira in prikaže v računalniku.
  • Svetilka se izklopi z daljinskim upravljalnikom. Za to daljinski upravljalnik uporablja naslov 0x00 in ukaz 0x06, ki ga naprava dekodira in prikaže v računalniku.
  • Svetilka se vklopi z vnosom istega ukaza za daljinski upravljalnik v računalniku z vrednostjo ponovitve 0 (brez ponovitve), tako da vnesete '! 000700#'. Lučka se prižge.
  • Spreminjanje barve svetilke v modro z naslovom 0x00 in ukazom 0x0A ter s ponovitvami 0x30. Oranžna lučka, ki je povezana vzporedno z infrardečimi LED diodami, utripa in prikazuje prenos ponovnega sporočila prek infrardeče barve. Vneseno sporočilo je '! 000A30#'.

Upoštevajte, da je bila med snemanjem tega videoposnetka aktivna skakalna povezava 'Unmute', tako da ste lahko videli tudi poslano sporočilo '! 000700#', ki je bilo v programu Terminal Emulation sprejeto kot 'A: 00 C: 07'. V predstavitvi svetilke, ki je obarvana modro, lahko vidite tudi, da rdeča LED sveti, dokler se prenašajo veljavna sporočila, ki se ponavljajo, saj so sprejeta in dekodirana vzporedno s prenosom ponavljajočih se sporočil.

Zabavajte se pri gradnji lastnega projekta in se veselite vaših odzivov. Ne pozabite glasovati za ta projekt na natečaju Daljinski upravljalnik 2017, če vam je všeč. Hvala še enkrat.

Priporočena: