- Tarvittavat komponentit
- Kuinka infrapunaviestintä toimii?
- Piirikaavio
- Ohjelmointi Arduino IR -dekooderille
- IR-kauko-dekooderin tietojen tallentaminen Excel-arkkiin
IR (infrapuna) on yksinkertainen, edullinen ja laajasti käytetty langaton viestintätekniikka. IR-valo on jonkin verran samanlainen kuin näkyvä valo, paitsi että aallonpituus on hieman pidempi. Tämä IR-ominaisuus tekee siitä ihmissilmän havaitsematon ja täydellinen langattomaan viestintään.
On monia sovelluksia, joissa joudut purkamaan IR-signaalit, jotta voit käyttää joitain laitteita IR-kaukosäätimellä. Joten tässä opetusohjelmassa aiomme käyttää TSOP1838 IR -vastaanotinta IR-kauko-dekooderin rakentamiseen Arduinoa käyttämällä. Jokaisen painikkeen heksakoodi kirjataan Microsoft Excel -taulukkoon. Tätä yksinkertaista infrapunakaukosäätimen dekooderia voidaan käyttää projekteissa, kuten IR-kaukosäädinrobotti, kotiautomaatio ja muut IR-ohjatut projektit.
Aikaisemmin käytimme IR-kauko- ja TSOP-vastaanotinta rakentaaksemme monia hyödyllisiä sovelluksia, kuten:
- IR-kauko-ohjattu TRIAC-himmenninpiiri
- IR-kauko-ohjattu kotiautomaatio Arduinolla
- IR-kauko-ohjattu kotiautomaatio PIC-mikrokontrollerilla
- Matkapuhelinohjattu vaihtovirta Arduinolla ja Bluetoothilla
Tarvittavat komponentit
- Arduino Uno / Arduino Nano
- IR-vastaanotin (TSOP1838)
- Neulalangat
- Leipälauta
Kuinka infrapunaviestintä toimii?
Kuten muissakin viestintäjärjestelmissä, infrapunayhteyksissä on myös lähetin ja vastaanotin. Lähetin näyttää aivan kuin LED, mutta se tuottaa valoa IR-spektrissä näkyvän spektrin sijaan. Vaikka IR-vastaanotin on valodiodi, joka on upotettu esivahvistimeen, joka muuttaa IR-valon sähköiseksi signaaliksi. Infrapunayhteyttä varten sekä lähetin että vastaanotin tulee osoittaa toisiinsa. Saat lisätietoja IR-lähettimestä ja vastaanotinpiiristä seuraamalla linkkiä.
Kun kaukosäätimen painiketta painetaan, IR-LED (lähetin) lähettää infrapunavaloa. Tämä valo vastaanotetaan vastaanottimessa, joka on tyypillisesti fotodiodi tai fototransistori. Mutta IR-valoa säteilee myös aurinko, hehkulamput ja kaikki muu, mikä tuottaa lämpöä. Tämä voi häiritä lähettimen signaalia, joten estämiseksi lähetinsignaali moduloidaan käyttämällä kantotaajuutta välillä 36 kHz - 46 kHz. Vastaanotettuaan signaalin, infrapunavastaanotin demoduloi signaalin ja muuntaa sen binaariksi ennen lähettämistä mikrokontrollerille.
Tässä käytämme TV-kaukosäädintä IR-signaalin lähettämiseen ja TSOP1838 Arduinon kanssa niiden vastaanottamiseen.
Tarkista myös täältä erilaiset infrapunapohjaiset sovellukset, mukaan lukien TV-kaukosäätimen häirintäpiiri ja infrapunatestauspiiri.
Piirikaavio
Arduinoa käyttävän IR-kauko-dekooderin piirikaavio on annettu alla:
Liitännät ovat hyvin yksinkertaisia, koska IR-vastaanotinanturissa on vain kolme nastaa, Vs, GND ja Data. Liitä IR-vastaanottimen Vs ja GND-nasta Arduinon 3,3 V: n GND-nastaa ja Data-nasta Arduinon digitaaliseen nastaan 2.
Ohjelmointi Arduino IR -dekooderille
Arduino IR -dekooderin täydellinen koodi annetaan sivun lopussa.
IR-kaukosäätimen dekoodaamiseksi meidän on ensin ladattava ja lisättävä IR-kirjasto Arduino IDE: hen. Voit ladata IR-etäkirjaston täältä. Kun olet ladannut tiedoston, avaa Arduino IDE ja siirry Luonnos> Sisällytä kirjasto> Add.Zip-kirjasto . Valitse kirjastotiedosto ja napsauta 'Avaa'.
Aloita koodi sisällyttämällä IR Remote -kirjastotiedosto.
#sisältää
Määritä sen jälkeen Arduino-nasta, johon liitit IR-vastaanottimen datanastan. Minun tapauksessani se on kytketty Arduinon D2-nastaan.
int IRPIN = 2;
Luo sen jälkeen ilmentymä IR-vastaanottimen pinille.
IRrecv irrecv (IRPIN);
Määritä seuraavalla rivillä objekti dekoodausresurssit- luokalle, jota infrapunavastaanotin käyttää dekoodatun tiedon lähettämiseen.
decode_results -tulos;
Sisällä setup () funktio, aloittaa sarjaliikenne, ja aloittaa IR-vastaanotin kutsumalla IRrecv toiminto enableIRIn ().
void setup () {Sarja.alku (9600); Serial.println ("IRinin käyttöönotto"); irrecv.enableIRIn (); Serial.println ("käytössä IRin"); Initialize_streamer (); }
Että silmukka () funktio, irrecv.decode jatkuvasti tarkistaa uutta signaalia ja jos uusi signaali on vastaanotettu, vastaanotettu signaali koodi on tallennettu result.value funktio.
void loop () {if (irrecv.decode (& result)) {Sarja.tulos ("Arvo:"); Serial.println (tulos.arvo, HEX); Write_streamer (); irrecv.resume (); } viive (500); }
Lähetämme tietoja Excel-taululle Arduinosta käytämme PLX-DAQ: ta. Käyttämällä Write_streamer () -toiminto, lähetämme tiedon sarjatuotantona erityisen kuvioinnin kuten näyttämään arvoon Serial Monitor. Tärkeimmät linjat selitetään alla:
void Write_streamer () {Sarja.tulos ("DATA"); // kirjoita aina "DATA" osoittaaksesi seuraavat tiedot Data Serial.print (","); // Siirry seuraavaan sarakkeeseen käyttämällä "," Sarja.tulosta (tulos.arvo, HEX); // Tallenna päivämäärä Excel Serial.print (","); // Siirry seuraavaan sarakkeeseen käyttämällä "," Serial.println (); // rivin loppu siirrä seuraavalle riville}
Kun laitteisto ja ohjelma ovat valmiita, on aika ladata ohjelma Arduino Nano -levylle. Kun olet ladannut koodin, osoita kaukosäädin infrapunavastaanotinta kohti ja paina kaukosäätimen painikkeita. Jokaisen painikkeen kuusiokoodi tulostetaan sarjakuvaruutuun.
IR-kauko-dekooderin tietojen tallentaminen Excel-arkkiin
Lähetämme nyt tietoja Excel-taululle PLX-DAQ: ta. Se on Excel Plug-in -ohjelmisto, jonka avulla voit kirjoittaa arvoja Arduinosta suoraan kannettavan tietokoneen tai Excelin Excel-arkkiin. Käytä linkkiä tiedoston lataamiseen. Lataamisen jälkeen pura tiedosto ja asenna se napsauttamalla.exe-tiedostoa. Se luo työpöydällesi kansion nimeltä PLX-DAQ.
Avaa nyt PLX-DAQ-laskentataulukko- tiedosto työpöydän kansiosta. Jos makrot on poistettu käytöstä Excelissä, näet suojauslohkon alla olevan kuvan mukaisesti:
Napsauta Asetukset-> Ota sisältö käyttöön -> Valmis -> OK, jotta makrot otetaan käyttöön. Tämän jälkeen saat seuraavan näytön:
Valitse nyt siirtonopeudeksi ”9600” ja portti, johon Arduino on kytketty, ja aloita sitten tiedonsiirto napsauttamalla Yhdistä. Arvojen tulisi alkaa kirjautua kuten alla olevassa kuvassa.
Näin Arduino IR -dekooderi voidaan rakentaa helposti muuttamaan IR-kaukosignaalit vastaavaksi HEX-koodiksi.
Täydellinen Arduino-koodi esittelyvideolla on annettu alla.