- Būtini komponentai
- Kaip veikia IR ryšys?
- Grandinės schema
- „Arduino IR“ nuotolinio dekoderio programavimas
- IR nuotolinio dekoderio duomenų išsaugojimas „Excel“ lape
IR (infraraudonųjų spindulių) ryšys yra paprastas, nebrangus ir plačiai naudojamas belaidžio ryšio technologija. IR šviesa yra šiek tiek panaši į matomą šviesą, išskyrus tai, kad bangos ilgis yra šiek tiek ilgesnis. Ši IR savybė daro ją žmogaus akimi neaptinkama ir puikiai tinka belaidžiui ryšiui.
Yra daugybė programų, kuriose reikia iššifruoti IR signalus, kad galėtumėte valdyti kai kuriuos įrenginius su IR nuotolinio valdymo pultu. Taigi šioje pamokoje mes naudosime TSOP1838 IR imtuvą, kad sukurtume IR nuotolinį dekoderį naudodami „Arduino“. Kiekvieno mygtuko šešioliktainis kodas bus užregistruotas „Microsoft Excel“ lape. Šis paprastas IR nuotolinio valdymo dekoderis gali būti naudojamas tokiuose projektuose kaip IR nuotolinio valdymo robotas, namų automatika ir kituose IR valdomuose projektuose.
Anksčiau mes naudojome IR nuotolinį ir TSOP imtuvą, kad sukurtume daug naudingų programų, tokių kaip:
- IR nuotolinio valdymo TRIAC „Dimmer“ grandinė
- IR nuotolinio valdymo namų automatika naudojant „Arduino“
- IR nuotolinio valdymo namų automatika naudojant PIC mikrovaldiklį
- Mobilusis telefonas Valdomas kintamosios srovės tinklas naudojant „Arduino“ ir „Bluetooth“
Būtini komponentai
- „Arduino Uno“ / „Arduino Nano“
- IR imtuvas (TSOP1838)
- Šuolių laidai
- Bandomoji Lenta
Kaip veikia IR ryšys?
Kaip ir kitos ryšių sistemos, infraraudonųjų spindulių ryšys taip pat turi siųstuvą ir imtuvą. Siųstuvas atrodo lygiai kaip šviesos diodas, tačiau jis spinduliuoja IR spindulių šviesą, o ne matomą spektrą. IR imtuvas yra fotodiodas, įterptas su išankstiniu stiprintuvu, kuris keičia IR šviesą į elektrinį signalą. IR ryšiui tiek siųstuvas, tiek imtuvas turi būti nukreipti vienas į kitą. Norėdami sužinoti daugiau apie IR siųstuvo ir imtuvo grandinę, spustelėkite nuorodą.
Paspaudus nuotolinį mygtuką, IR šviesos diodas (siųstuvas) skleidžia infraraudonųjų spindulių šviesą. Šią šviesą gauna imtuvas, kuris paprastai yra fotodiodas arba fototransistorius. IR šviesą taip pat skleidžia saulė, lemputės ir visa kita, kas gamina šilumą. Tai gali trukdyti siųstuvo signalui, todėl norint išvengti, siųstuvo signalas moduliuojamas naudojant nešlio dažnį nuo 36 kHz iki 46 kHz. Gavęs signalą, IR imtuvas prieš siunčiant jį į mikrovaldiklį demoduliuoja signalą ir paverčia jį dvejetainiu.
Mes naudojame televizoriaus nuotolinio valdymo pultą IR signalui siųsti ir TSOP1838 su „Arduino “ jiems priimti.
Taip pat čia patikrinkite įvairias IR pagrįstas programas, įskaitant televizoriaus nuotolinio valdymo „Jammer Circuit“ ir IR testerio grandines.
Grandinės schema
IR nuotolinio dekoderio, naudojant „Arduino“, schema pateikta žemiau:
Jungtys yra labai paprastos, nes IR imtuvo jutiklyje yra tik trys kaiščiai: Vs, GND ir Data. Prijunkite IR imtuvo „Vs“ ir „GND“ kaiščius prie „Arduino“ 3,3 V „GND“ kaiščio, o prie „Arduino“ skaitmeninio kaiščio - „Data“.
„Arduino IR“ nuotolinio dekoderio programavimas
Pilnas „ Arduino IR“ dekoderio kodas pateikiamas puslapio pabaigoje.
Norėdami iššifruoti IR nuotolinio valdymo pultą, pirmiausia turime atsisiųsti ir pridėti „IR“ biblioteką prie „Arduino IDE“. IR nuotolinę biblioteką galite atsisiųsti iš čia. Atsisiųsdami failą atidarykite „Arduino IDE“ ir eikite į „ Sketch“> „įtraukti biblioteką“> „Add.Zip“ biblioteka . Pasirinkite bibliotekos failą ir spustelėkite „Atidaryti“.
Paleiskite kodą įtraukdami IR nuotolinės bibliotekos failą.
# įtraukti
Po to nustatykite „Arduino“ kaištį, prie kurio prijungėte IR imtuvo duomenų kaištį. Mano atveju jis yra prijungtas prie „Arduino“ D2 kaiščio.
int IRPIN = 2;
Po to sukurkite IR imtuvo kaiščio egzempliorių.
IRrecv irrecv (IRPIN);
Į kitą eilutę, apibrėžti paraiška objekto decode_results klasės, jis bus naudojamas IR imtuvo išsiųsti iššifruoti informaciją.
iššifruoti_rezultatų rezultatas;
Viduje Setup () funkcija, inicijuoti nuosekliojo ryšio, ir pradėti IR imtuvas paskambinę IRrecv funkcija enableIRIn ().
negaliojanti sąranka () {Serial.begin (9600); „Serial.println“ („IRin įgalinimas“); irrecv.enableIRIn (); Serial.println („Įgalinta IRin“); Initialize_streamer (); }
Į kilpą () funkcija, irrecv.decode nuolat tikrina naują signalą ir jei yra gautas naujas signalas, gautas signalas kodas bus saugomi į result.value funkcija.
void loop () {if (irrecv.decode (& result)) {Serial.print ("Reikšmė:"); Serial.println (rezultatas.vertė, HEX); Write_streamer (); irrecv.resume (); } vėlavimas (500); }
Norėdami siųsti duomenis į „Excel“ lapą iš „Arduino“, mes naudojame PLX-DAQ. Naudodami „ Write_streamer ()“ funkciją, duomenis siunčiame nuosekliai pagal tam tikrą modelį, kaip ir reikšmę rodydami serijiniame monitoriuje. Pagrindinės eilutės paaiškintos toliau:
void Write_streamer () {Serial.print ("DUOMENYS"); // visada rašykite „DATA“, kad nurodytumėte šiuos duomenis kaip „Data Serial.print“ („,“); // Pereikite į kitą stulpelį naudodami „,“ Serial.print (result.value, HEX); // Išsaugoti datą „Excel Serial.print“ („,“); // Pereikite į kitą stulpelį naudodami „,“ Serial.println (); // Eilutės pabaiga pereiti į kitą eilutę}
Kai aparatinė įranga ir programa bus paruošta, laikas įkelti programą į „Arduino Nano“ plokštę. Įkėlę kodą, nukreipkite nuotolinio valdymo pultą į IR imtuvą ir paspauskite nuotolinio valdymo pulto mygtukus. Kiekvieno mygtuko šešioliktainis kodas bus atspausdintas serijiniame monitoriuje.
IR nuotolinio dekoderio duomenų išsaugojimas „Excel“ lape
Dabar norėdami siųsti duomenis į „Excel“ lapą, naudosime „PLX-DAQ“. Tai yra „Excel“ papildinio programinė įranga, padedanti įrašyti reikšmes iš „Arduino“ tiesiai į „Excel“ lapą nešiojamajame kompiuteryje. Norėdami atsisiųsti failą, naudokite nuorodą. Atsisiųsdami ištraukite failą ir spustelėkite.exe failą, kad jį įdiegtumėte. Tai jūsų darbalaukyje sukurs aplanką pavadinimu PLX-DAQ.
Dabar atidarykite failą „ PLX-DAQ skaičiuoklė“ iš darbalaukio aplanko. Jei „Excel“ išjungtos makrokomandos, pamatysite saugos bloką, kaip parodyta žemiau esančiame paveikslėlyje:
Spustelėkite Parinktys-> Įgalinti turinį -> Baigti -> Gerai, kad įgalintumėte makrokomandas. Po to gausite šį ekraną:
Dabar pasirinkite perdavimo greitį kaip „9600“ ir prievadą, prie kurio prijungtas „Arduino“, tada spustelėkite Prisijungti, kad pradėtumėte duomenų srautą. Jūsų vertės turėtų pradėti registruotis, kaip parodyta paveikslėlyje žemiau.
Štai kaip lengvai galima sukurti „ Arduino“ IR nuotolinį dekoderį, kad būtų galima konvertuoti IR nuotolinius IR signalus į lygiavertį HEX kodą.
Užpildykite „Arduino“ kodą su demonstraciniu vaizdo įrašu.