Sisällysluettelo:

USB NEC infrapuna-lähetin ja -vastaanotin: 4 vaihetta (kuvien kanssa)
USB NEC infrapuna-lähetin ja -vastaanotin: 4 vaihetta (kuvien kanssa)

Video: USB NEC infrapuna-lähetin ja -vastaanotin: 4 vaihetta (kuvien kanssa)

Video: USB NEC infrapuna-lähetin ja -vastaanotin: 4 vaihetta (kuvien kanssa)
Video: Minun tehtäväni on tarkkailla metsää ja täällä tapahtuu jotain outoa. 2024, Kesäkuu
Anonim
USB NEC infrapuna-lähetin ja -vastaanotin
USB NEC infrapuna-lähetin ja -vastaanotin

Tämä projekti on jatkoa toiselle projektille, jonka parissa työskentelen, ja koska Instructables-ohjelmassa on Remote Control 2017 -kilpailu, ajattelin julkaista tämän projektin. Joten jos pidät tästä projektista, äänestä sitä. Kiitos.

Kuten ehkä tiedätte, olen suuri 8-bittisten Microchip-PIC-ohjaimien fani, katso:

Käytän JAL -ohjelmointikieltä, koska se näyttää Pascalilta (josta myös pidän). JAL -kääntäjä ja kirjastot voidaan ladata osoitteesta https://www.justanotherlanguage.org/downloads (selaa alaspäin saadaksesi uusimman julkaistun version).

Normaalisti kirjoitan kaiken koodin itse ymmärtääkseni täysin mitä teen, mutta tätä projektia varten minun oli liitettävä PIC tietokoneen USB -porttiin, joten tarvitsin JAL USB -sarjaohjaimen tähän PIC -ohjaimeen. Käytin USB -sarjaohjainta JAL -latauspaketissa, joka näyttää toimivan hyvin. Koska tämä USB -sarjaohjain on kirjoitettu yhdelle tietylle PIC: lle, käytin sitä PIC18F14K50: tä. Tässä ohjaimessa on paljon enemmän toimintoja kuin mitä tarvitsen tähän projektiin, joten olen parhaillaan saamassa tämän USB -ohjaimen työskentelemään yksinkertaisemman PIC -version, PIC16F1455, kanssa, joka on myös halvempaa.

Mistä tässä projektissa siis on kyse? Tässä käyttöohjeessa mainitun laitteen avulla voit lähettää ja vastaanottaa infrapunakaukosäätimen komentoja tietokoneesta ja tietokoneeseen USB-portin kautta käyttämällä suosittua NEC Infra-Red -protokollaa. Tällä tavalla voit seurata infrapuna-komentoja ja ohjata mitä tahansa laitetta, joka käyttää NEC-infrapunakaukosäätimen protokollaa. Projekti dekoodaa ja muuntaa infrapunaviestit osoite- ja komentotavuiksi tai toistuviksi viesteiksi. Osoitetta käytetään tietysti tietyn laitteen, kuten television tai radion, osoittamiseen, jossa komentotavu osoittaa suoritettavan toiminnon, kuten äänenvoimakkuuden lisäys, äänenvoimakkuuden vähennys. Näiden viestien dekoodauksen lisäksi ne voidaan lähettää myös infrapunayhteyden kautta tällä laitteella.

Vaihe 1: Tietoa NEC-infrapunaprotokollasta

Tietoa NEC-infrapunaprotokollasta
Tietoa NEC-infrapunaprotokollasta

Lyhyt johdanto tähän protokollaan. NEC -infrapunakaukosäätimen protokollaa käytetään monissa laitteissa ja kauko -ohjaimissa, joita voit ostaa. Se moduloi infrapunasignaalin 38 kHz: n kantoaallolla ja käyttää pulssietäisyyskoodausta loogisen "1" ja loogisen "0" koodaamiseen. Protokolla tarkistaa yksinkertaisesti, onko viesti kunnossa lähettämällä sekä osoite että komentotavu ja käänteinen versio molemmista yhdessä ja samassa viestissä ja tarkistamalla, ovatko ne samanlaisia vastaanoton jälkeen. Kun kauko -ohjaimen painiketta painetaan, se lähettää täydellisen infrapunasanoman, jossa on osoite ja komento kerran. Jos pidät painiketta painettuna, lähetetään lyhyempi toistoviesti ilman osoitetta ja komentoja. Lähetettyjen viestien toistoaika samalla, kun painiketta pidetään painettuna, on kiinteä.

Lisätietoja NEC Infra Red -protokollasta löytyy esimerkiksi osoitteesta:

Vaihe 2: Tarvittavat komponentit

Pakolliset osat
Pakolliset osat
Pakolliset osat
Pakolliset osat

Sinulla on oltava seuraavat osat tähän projektiin:

  • PIC-mikrokontrolleri PIC18F14K50, katso:
  • Kristalli 12 MHz
  • Keraaminen kondensaattori: 2 * 100nF, 1 * 220 nF, 2 * 18pF
  • Elektrolyyttikondensaattori 47 uF/16V
  • Infrapuna-vastaanotin TSOP4838, katso:
  • Vastukset: 2 * 33 k, 1 * 4 k7, 1 * 1 k, 3 * 330 ohmia, 1 * 22 ohmia
  • LEDit: 2 * infrapuna, 1 keltainen, 1 vihreä, 1 punainen
  • Transistori BC640, katso:
  • Jumper (valinnainen)
  • USB -liitin

Katso kaaviokuva osien liittämisestä. Tässä projektissa käytin leipälautaa, kuten kuvasta ja videosta näet. Piiri saa virran tietokoneen USB -portista.

Vaihe 3: Ohjelmisto ja laitteen toiminta

Kuten jo mainittiin, ohjelmisto on kirjoitettu mallille PIC18F14K50. Se oli kirjoitettu JAL: ssa. Intel Hex -tiedosto PIC: n ohjelmointiin on liitetty. Ohjelmisto suorittaa seuraavat toiminnot:

  • NEC-infrapunaviestien dekoodaus ja lähettäminen tietokoneelle USB-liitännän kautta. Viesti dekoodataan infrapunavastaanottimen generoimasta bittivirrasta ja käännetään osoite + komentoviestiin tai uusintaviestiin.
  • Lähetetään tietokoneelta vastaanotettuja NEC -infrapunaviestejä USB: n kautta. Huomaa, että ohjelmisto luo myös 38 kHz: n kantoaaltotaajuuden, joka ohjaa suoraan infrapunavaloja. Infrapuna-LEDin rinnalla on kytketty keltainen LED-valo, jotta viestin lähetys näkyy.

Oletuksena tämä piiri mykistää infrapuna-vastaanottimen infrapunaviestin lähetyksen aikana. Jos hyppyjohdin asetetaan "Poista mykistys" -asentoon, se poistaa tämän mykistystoiminnon käytöstä. Tällöin lähetetty infrapunaviesti myös dekoodataan lähetyksen rinnalla ja täydellisen vastaanoton jälkeen se lähetetään vastaanotettuna infrapuna-viestinä tietokoneelle. Jos vastaanotetaan kelvollinen NEC-infrapunaviesti, punainen”IR OK” -valo syttyy.

Tämän laitteen käyttäminen edellyttää, että tietokoneessasi on Terminal Emulator -ohjelma. Tätä tarkoitusta varten käytin termiittiä. Kun laite on kytketty tietokoneeseen, Windows 10 tunnistaa sen automaattisesti COM-lisäportiksi, koska tälle laitteelle näyttää olevan mikrosiru-ohjain Windows 10: een esiasennettuna. Tämän COM-portin asetuksen tulisi olla: 19200 baudia 8 bittiä, 1 pysäytysbitti, ei pariteettia ja käyttää RTS/CTS-virtauksenohjausta. Siirtonopeus voidaan tarvittaessa asettaa mihin tahansa muuhun arvoon, joten myös 115200 baudinopeus toimii. Kun laite on konfiguroitu USB -portin kautta yhdistämällä siihen Terminal Emulator -ohjelman kautta, vihreä 'Configured' -valo syttyy.

Infrapunaviestien vastaanottaminen

Kun infrapunaviesti vastaanotetaan, pääteemulaattori-ohjelmassa näkyy seuraava:

  • 'A: xx C: xx', jos kyseessä on täydellinen viesti, jossa xx on osoitteen (A) ja komennon (C) heksadesimaaliluku. Molempien arvot voivat vaihdella välillä 0x00 (0) - 0xFF (255).
  • "Toista", jos viesti toistuu.

Infrapunaviestien lähettäminen

Tätä varten minun oli määriteltävä protokolla, joka kertoo laitteelle, mitä tehdä. Koska käytämme pääteemulaattoria, käytin viestin määrittämiseen ASCII -merkkejä. Komennon lähettämisprotokolla laitteelle käyttää seuraavaa muotoa: '! AACCRR#', jossa (kaikki merkit eivät erota kirjainkokoa):

  • "!" Tarkoittaa viestin alkua.
  • "AA" on osoitteen arvo heksadesimaalimerkinnöissä, joten "0" - "9" ja "A" - "F",
  • "CC" on komennon arvo heksadesimaalimerkinnöissä, joten "0" - "9" ja "A" - "F"
  • "RR" on toistuvien viestien määrä, jotka on lähetettävä heksadesimaalimerkinnöissä, joten "0" - "9" ja "A" - "F". Arvo "00" tarkoittaa, ettei toistuvia viestejä lähetetä.

Esimerkki viestistä, jonka osoite on 0x07, komento 0x05 ja 3 toistoa, tulee sitten kirjoittaa seuraavasti Terminal Emulator -ohjelmassa:! 070503#

Laitteella on erilaiset vastaukset komennon lähettämisen jälkeen tietokoneesta:

  • "Y" tarkoittaa, että viesti lähetettiin. Huomaa, että tämä vastaus annetaan, kun kaikki viestit - mukaan lukien kaikki toistot - on lähetetty, joten saattaa kestää jonkin aikaa, ennen kuin tämä vastaus annetaan, kun useita toistuvia viestejä on lähetettävä.
  • N tarkoittaa, että tietokoneelle lähetetyssä viestissä oli laiton merkki.
  • "B" tarkoittaa, että infrapuna-lähetys oli edelleen varattu, kun komento annettiin.
  • ? 'Tarkoittaa, että laite odotti'! ', Mutta se sai jotain muuta.

Vaihe 4:

Tein lyhyen videon laitteesta toiminnassa. Tässä videossa käytin kaupallista LED -lamppua ja sen kaukosäädintä nähdäkseni, että sekä lähetys että vastaanotto toimivat. Videossa näkyy seuraava:

  • USB -laitteen määrittäminen pääteemulointiohjelmasta. Kun laite on määritetty, se vastaa viestiin”USB NEC Infrapuna -lähetin ja -vastaanotin”. Laitteen vihreä LED -valo syttyy, mikä osoittaa, että tietokone on määrittänyt laitteen.
  • Lamppu syttyy kaukosäätimellä. Tätä varten kauko -ohjain käyttää osoitetta 0x00 ja komentoa 0x07, jotka laite purkaa ja näyttää tietokoneessa.
  • Lamppu sammutetaan kaukosäätimellä. Tätä varten kauko -ohjain käyttää osoitetta 0x00 ja komentoa 0x06, jotka laite purkaa ja näyttää tietokoneessa.
  • Lamppu syttyy kirjoittamalla sama kauko -ohjainkomento tietokoneeseen, jonka toistoarvo on 0 (ei toistoa), joten kirjoittamalla '! 000700#'. Lamppu syttyy.
  • Vaihda lampun väri siniseksi käyttämällä osoitetta 0x00 ja komentoa 0x0A ja 0x30 toistoa. Keltainen LED -valo, joka on kytketty rinnakkain infrapuna -merkkivalojen kanssa, vilkkuu, mikä osoittaa toistuvan viestin lähettämisen infrapunaportin kautta. Kirjoitettu viesti on "! 000A30#".

Huomaa, että tämän videon tallennuksen aikana hyppyliitäntä "Poista mykistys" oli aktiivinen, joten voit nähdä myös lähetetyn viestin "! 000700#", joka vastaanotetaan terminaalin emulointiohjelmassa muodossa "A: 00 C: 07". Sinisen värin lampun esittelyssä voit myös nähdä, että punainen LED palaa niin kauan kuin voimassa olevat toistuvat viestit lähetetään, koska ne vastaanotetaan ja dekoodataan samanaikaisesti toistuvien viestien lähettämisen kanssa.

Pidä hauskaa oman projektin rakentamisesta ja odota reaktioitasi. Muista äänestää tätä hanketta Remote Control 2017 -kilpailussa, jos pidät siitä. Kiitos taas.

Suositeltava: