- Nepieciešamās sastāvdaļas
- Kā darbojas IR komunikācija?
- Ķēdes shēma
- Arduino IR attālā dekodētāja programmēšana
- IR attālā dekodētāja datu saglabāšana Excel lapā
IR (infrasarkanais) sakars ir vienkārša, lēta un plaši izmantota bezvadu sakaru tehnoloģija. IR gaisma ir nedaudz līdzīga redzamajai gaismai, izņemot to, ka viļņa garums ir nedaudz lielāks. Šis IR īpašums padara to cilvēka acīs nenosakāmu un perfektu bezvadu sakariem.
Ir daudz lietojumprogrammu, kur nepieciešams atšifrēt IR signālus, lai darbinātu dažas ierīces ar IR tālvadības pulti. Tātad šajā apmācībā mēs izmantosim TSOP1838 IR uztvērēju, lai izveidotu IR attālo dekodētāju, izmantojot Arduino. Katras pogas sešstūra kods tiks reģistrēts Microsoft Excel lapā. Šo vienkāršo IR tālvadības pults dekodētāju var izmantot tādos projektos kā IR tālvadības robots, mājas automatizācija un citi IR vadāmi projekti.
Iepriekš mēs izmantojām IR tālvadības pulti un TSOP uztvērēju, lai izveidotu daudzas noderīgas lietojumprogrammas, piemēram:
- IR tālvadības TRIAC dimmera shēma
- IR tālvadības kontrolēta mājas automatizācija, izmantojot Arduino
- IR tālvadības kontrolēta mājas automatizācija, izmantojot PIC mikrokontrolleru
- Mobilais tālrunis kontrolē maiņstrāvu, izmantojot Arduino un Bluetooth
Nepieciešamās sastāvdaļas
- Arduino Uno / Arduino Nano
- IR uztvērējs (TSOP1838)
- Džemperu vadi
- Maizes dēlis
Kā darbojas IR komunikācija?
Tāpat kā citām sakaru sistēmām, arī infrasarkanajām komunikācijām ir raidītājs un uztvērējs. Raidītājs izskatās gluži kā gaismas diode, taču redzamā spektra vietā tas rada gaismu IR spektrā. Kamēr IR uztvērējs ir fotodiods, kas iestrādāts ar iepriekšēju pastiprinātāju, kas IR gaismu maina elektriskā signālā. IR sakariem gan raidītājs, gan uztvērējs ir jānorāda viens pret otru. Lai uzzinātu vairāk par IR raidītāja un uztvērēja ķēdi, sekojiet saitei.
Nospiežot tālvadības pogu, IR gaismas diode (raidītājs) izstaro infrasarkano staru. Šo gaismu uztver uztvērējs, kas parasti ir fotodiods vai fototransistors. Bet IR gaismu izstaro arī saule, spuldzes un jebkas cits, kas rada siltumu. Tas var traucēt raidītāja signālu, tāpēc, lai to novērstu, raidītāja signāls tiek modulēts, izmantojot nesēja frekvenci no 36 kHz līdz 46 kHz. Saņemot signālu, IS uztvērējs pirms signāla nosūtīšanas uz mikrokontrolleru to demodulē un pārveido par bināru.
Šeit mēs izmantojam TV tālvadības pulti, lai nosūtītu IR signālu, un TSOP1838 ar Arduino to saņemšanai.
Šeit pārbaudiet arī dažādas uz IR balstītas lietojumprogrammas, tostarp TV tālvadības pults Jammer ķēdi un IR testera shēmu.
Ķēdes shēma
Tālāk ir parādīta IR attālā dekodētāja shēma, izmantojot Arduino.
Savienojumi ir ļoti vienkārši, jo IR uztvērēja sensoram ir tikai trīs tapas, Vs, GND un Data. Pievienojiet IR uztvērēja Vs un GND tapu ar Arduino 3,3 V GND tapu un Datu spraudni pie Arduino digitālās tapas 2.
Arduino IR attālā dekodētāja programmēšana
Pilnīgs Arduino IR dekodētāja kods ir norādīts lapas beigās.
Lai atšifrētu IR tālvadības pulti, vispirms mums ir jālejupielādē un jāpievieno IR bibliotēka Arduino IDE. IR Remote bibliotēku varat lejupielādēt šeit. Pēc faila lejupielādes atveriet savu Arduino IDE un dodieties uz Skice> Iekļaut bibliotēku> Add.Zip bibliotēka . Atlasiet bibliotēkas failu un noklikšķiniet uz Atvērt.
Sāciet kodu, iekļaujot IR Remote bibliotēkas failu.
# iekļaut
Pēc tam definējiet Arduino tapu, kur esat pievienojis IR uztvērēja datu tapu. Manā gadījumā tas ir savienots ar Arduino D2 tapu.
int IRPIN = 2;
Pēc tam izveidojiet instanci IR uztvērēja tapai.
IRrecv irrecv (IRPIN);
Nākamajā rindā definējiet objektu dekodēšanas_rezultātu klasei, to infrasarkanais uztvērējs izmantos dekodētās informācijas nosūtīšanai.
dekodēt_rezultātu rezultāts;
Funkcijas setup () iekšpusē sāciet sērijveida sakarus un palaidiet infrasarkano staru uztvērēju, izsaucot funkciju IRrecv enable enableIn ().
void setup () {Sērijas.sākt (9600); Serial.println ("IRin iespējošana"); irrecv.enableIRIn (); Serial.println ("Iespējots IRin"); Initialize_streamer (); }
Jo cilpas () funkciju, irrecv.decode pastāvīgi pārbauda jaunu signālu, un, ja tiek saņemta jauna signāls, saņemtais signāls kods tiks saglabāti tādā result.value funkciju.
void loop () {if (irrecv.decode (& result)) {Serial.print ("Vērtība:"); Serial.println (rezultāts.vērtība, HEX); Write_streamer (); irrecv.resume (); } kavēšanās (500); }
Lai nosūtītu datus uz Excel lapu no Arduino, mēs izmantojam PLX-DAQ. Izmantojot funkciju Write_streamer () , mēs datus sūtām sērijveidā pēc noteikta parauga, tāpat kā vērtību parādot seriālajā monitorā. Galvenās līnijas ir paskaidrotas tālāk:
void Write_streamer () {Serial.print ("DATI"); // vienmēr rakstiet "DATA", lai norādītu sekojošo kā Data Serial.print (","); // Pārejiet uz nākamo kolonnu, izmantojot "," Serial.print (result.value, HEX); // Saglabāt datumu programmā Excel Serial.print (","); // Pārejiet uz nākamo kolonnu, izmantojot "," Serial.println (); // Rindas beigas pāriet uz nākamo rindu}
Kad aparatūra un programma ir gatava, ir pienācis laiks programmu augšupielādēt savā Arduino Nano dēlī. Pēc koda augšupielādes pavērsiet tālvadības pulti pret IR uztvērēju un nospiediet tālvadības pogas. Katras pogas sešstūra kods tiks izdrukāts uz sērijas monitora.
IR attālā dekodētāja datu saglabāšana Excel lapā
Tagad, lai nosūtītu datus uz Excel lapu, mēs izmantosim PLX-DAQ. Tā ir Excel plug-in programmatūra, kas palīdz jums ierakstīt vērtības no Arduino tieši Excel lapā jūsu klēpjdatorā vai personālajā datorā. Izmantojiet saiti, lai lejupielādētu failu. Pēc lejupielādes izvelciet failu un noklikšķiniet uz.exe faila, lai to instalētu. Tas darbvirsmā izveidos mapi PLX-DAQ.
Tagad no darbvirsmas mapes atveriet failu “ PLX-DAQ izklājlapa” . Ja jūsu Excel programmā ir atspējoti makro, tiks parādīts drošības bloks, kā parādīts zemāk esošajā attēlā:
Noklikšķiniet uz Opcijas-> Iespējot saturu -> Pabeigt -> Labi, lai iespējotu makro. Pēc tam jūs saņemsit šādu ekrānu:
Tagad izvēlieties datu pārraides ātrumu kā “9600” un portu, ar kuru savienots jūsu Arduino, un pēc tam noklikšķiniet uz Savienot, lai sāktu datu straumēšanu. Jūsu vērtības jāsāk reģistrēt, kā parādīts zemāk esošajā attēlā.
Tādā veidā var viegli izveidot Arduino IR attālo dekodētāju, lai pārveidotu IR tālvadības signālus par līdzvērtīgu HEX kodu.
Pilns Arduino kods ar demonstrācijas video ir norādīts zemāk.