- Szükséges alkatrészek
- Hogyan működik az IR kommunikáció?
- Kördiagramm
- Programozás az Arduino IR távdekóderhez
- Az IR távoli dekóder adatainak mentése az Excel lapba
Az infravörös (infravörös) kommunikáció egyszerű, olcsó és széles körben alkalmazott vezeték nélküli kommunikációs technológia. Az infravörös fény némileg hasonlít a látható fényhez, csakhogy a hullámhossz valamivel hosszabb. Az infravörös infravörös tulajdonság ezt az emberi szem számára kimutathatatlanná teszi, és tökéletes a vezeték nélküli kommunikációhoz.
Nagyon sok olyan alkalmazás van, ahol az infravörös jeleket dekódolnia kell ahhoz, hogy egyes eszközöket IR távvezérlővel működtessen. Tehát ebben az oktatóanyagban a TSOP1838 IR vevőt fogjuk használni egy IR távoli dekóder felépítésére Arduino segítségével. Minden gomb hexadecimális kódját naplózza a Microsoft Excel lap. Ez az egyszerű IR távirányító dekóder olyan projektekben használható, mint az IR távirányító robot, az otthoni automatizálás és más IR által vezérelt projektek.
Korábban infravörös távvezérlőt és TSOP vevőt használtunk számos hasznos alkalmazás felépítéséhez, például:
- IR távirányítós TRIAC dimmer áramkör
- IR távirányítású otthoni automatizálás Arduino segítségével
- IR távirányítású otthoni automatizálás PIC mikrokontroller használatával
- Mobiltelefon vezérelt váltóáram Arduino és Bluetooth segítségével
Szükséges alkatrészek
- Arduino Uno / Arduino Nano
- IR vevő (TSOP1838)
- Jumper huzalok
- Kenyérlemez
Hogyan működik az IR kommunikáció?
Mint más kommunikációs rendszerek, az infravörös kommunikációban is van adó és vevő. Az adó pontosan úgy néz ki, mint egy LED, de a látható spektrum helyett az IR-spektrumban világít. Míg az IR vevő fotodióda, amely egy előerősítőbe van ágyazva, amely az IR fényt elektromos jellé változtatja. Az infravörös kommunikációhoz mind az adó, mind a vevő egységet egymásra kell mutatni. Ha többet szeretne megtudni az IR adó és vevő áramköréről, kövesse a linket.
Távirányító gomb megnyomásakor az IR LED (adó) infravörös fényt bocsát ki. Ezt a fényt a vevő veszi fel, amely tipikusan fotodióda vagy fototranzisztor. De az infravörös fényt a nap, az izzók és bármi más is kibocsátja, amely hőt termel. Ez megzavarhatja az adó jelét, így annak megakadályozása érdekében az adó jelét 36 kHz és 46 kHz közötti vivőfrekvencia segítségével modulálják. A jel vétele után az IR vevő demodulálja a jelet, és binárisra konvertálja, mielőtt elküldené a mikrovezérlőhöz.
Itt egy TV-távirányítót használunk infravörös jel küldéséhez, és a TSOP1838-at az Arduino-val a vételhez.
Itt ellenőrizheti a különböző IR-alapú alkalmazásokat, beleértve a TV távirányító Jammer áramkört és az IR teszter áramkört.
Kördiagramm
Az Arduino- t használó IR távoli dekóder kapcsolási rajza az alábbiakban látható:
A csatlakoztatás nagyon egyszerű, mivel az IR vevő szenzornak csak három csapja van, Vs, GND és Data. Csatlakoztassa az IR-vevő Vs-jét és GND-tűjét az Arduino 3,3 V-os GND-tűjéhez és az Data-tűt az Arduino 2. digitális csatlakozójához.
Programozás az Arduino IR távdekóderhez
Az Arduino IR dekóder teljes kódja az oldal végén található.
Az IR távirányító dekódolásához először le kell töltenünk és hozzá kell adnunk egy IR könyvtárat az Arduino IDE-hez. Az IR Remote könyvtár innen tölthető le. A fájl letöltése után nyissa meg az Arduino IDE-t, és lépjen a Vázlat> Könyvtár belefoglalása> Add.Zip könyvtár elemre . Válassza ki a könyvtár fájlt, és kattintson a "Megnyitás" gombra.
Indítsa el a kódot az IR Remote library fájl hozzáadásával.
#include
Ezután adja meg az Arduino tűt, ahová az IR vevő Data pinjét csatlakoztatta. Esetemben az Arduino D2 tűjéhez van csatlakoztatva.
int IRPIN = 2;
Ezután hozzon létre egy példányt az IR vevő pinhez.
IRrecv irrecv (IRPIN);
A következő sorban definiáljon egy objektumot a decode_results osztályhoz, amelyet az IR vevő fog használni a dekódolt információk elküldéséhez.
dekódolás_eredmények eredménye;
A setup () függvényen belül indítsa el a soros kommunikációt, és indítsa el az IR-vevőt az IRrecv funkció engedélyezésével IRIR ().
void setup () {Soros.kezdés (9600); Serial.println ("Az IRin engedélyezése"); irrecv.enableIRIn (); Serial.println ("Engedélyezett IRin"); Initialize_streamer (); }
A loop () függvényben az irrecv.decode folyamatosan ellenőrzi, hogy van-e új jel, és ha új jel érkezik, akkor a vett jelkód az eredmény.érték értékben lesz tárolva.
void loop () {if (irrecv.decode (& result)) {Soros nyomtatás ("Érték:"); Serial.println (eredmény.érték, HEX); Write_streamer (); irrecv.resume (); } késés (500); }
Adatok Excel-lapra történő küldéséhez az Arduino-tól a PLX-DAQ-t használjuk. A Write_streamer () függvény segítségével az adatokat sorozatosan, egy meghatározott mintában küldjük, ugyanúgy, mint az értéket a soros monitoron. A legfontosabb sorokat az alábbiakban ismertetjük:
void Write_streamer () {Soros nyomtatás ("DATA"); // mindig írja a "DATA" -t, hogy a következőket jelezze Data Serial.print (",") néven; // Ugrás a következő oszlopra a "," Soros nyomtatás (eredmény.érték, HEX) használatával; // Tárolás dátuma az Excel Serial.print (","); // Ugrás a következő oszlopra a "," Serial.println () használatával; // Sor vége lépés a következő sorra}
Miután a hardver és a program elkészült, itt az ideje feltölteni a programot Arduino Nano táblájára. A kód feltöltése után irányítsa a távvezérlőt az infravörös vevő felé, és nyomja meg a távvezérlő gombjait. Minden gomb hexadecimális kódját kinyomtatják a soros monitorra.
Az IR távoli dekóder adatainak mentése az Excel lapba
Most, hogy adatokat küldjön egy Excel lapra, a PLX-DAQ-t fogjuk használni. Ez egy Excel Plug-in szoftver, amely segít értékeket írni az Arduino-ból közvetlenül a Laptop vagy PC Excel-lapjába. A link használatával töltse le a fájlt. A letöltés után bontsa ki a fájlt, és kattintson az.exe fájlra a telepítéshez. Létrehoz egy PLX-DAQ nevű mappát az asztalon.
Most nyissa meg a ' PLX-DAQ táblázatkezelő' fájlt az asztali mappából. Ha a makrók le vannak tiltva az Excel programban, akkor az alábbi képen látható biztonsági blokkot látja:
Kattintson a Beállítások-> Tartalom engedélyezése -> Befejezés -> OK gombra a makrók engedélyezéséhez. Ezt követően a következő képernyőt kapja:
Most válassza ki az adatátviteli sebességet „9600” értékként, és azt a portot, amelyhez Arduino csatlakozik, majd kattintson a Csatlakozás gombra az adatfolyam indításához. Értékeinek el kell kezdenie naplózni, ahogy az az alábbi képen látható.
Így könnyen felépíthető egy Arduino IR távdekóder az IR távoli jelek egyenértékű HEX kóddá alakítására.
Az alábbiakban megadhatja a teljes Arduino kódot egy demo videóval.