Turinys:

Infraraudonųjų spindulių jutiklio naudojimas su „Arduino“: 8 žingsniai (su nuotraukomis)
Infraraudonųjų spindulių jutiklio naudojimas su „Arduino“: 8 žingsniai (su nuotraukomis)

Video: Infraraudonųjų spindulių jutiklio naudojimas su „Arduino“: 8 žingsniai (su nuotraukomis)

Video: Infraraudonųjų spindulių jutiklio naudojimas su „Arduino“: 8 žingsniai (su nuotraukomis)
Video: Leap Motion SDK 2024, Birželis
Anonim
Infraraudonųjų spindulių jutiklio naudojimas su „Arduino“
Infraraudonųjų spindulių jutiklio naudojimas su „Arduino“

Kas yra infraraudonųjų spindulių (dar žinomas kaip IR) jutiklis?

IR jutiklis yra elektroninis prietaisas, kuris nuskaito IR signalus tam tikruose standartų apibrėžtuose dažnių diapazonuose ir paverčia juos elektriniais signalais savo išvesties kaištyje (paprastai vadinamas signalo kaiščiu). Infraraudonųjų spindulių signalai dažniausiai naudojami komandoms perduoti per trumpą atstumą (paprastai kelis metrus), kaip tai, su kuo jau dirbote televizoriaus nuotolinio valdymo pultuose ar kituose panašiuose elektroniniuose įrenginiuose.

IR ryšio protokolas

Kiekvienas signalas reiškia tam tikrą kodą. Elektrinius signalus galima konvertuoti atgal į faktinius duomenis/kodą, kurį siuntėjas išsiuntė. Kai paspaudžiate televizoriaus nuotolinio valdymo pulto mygtuką, jis sukuria signalą, atitinkantį mygtuko kodą (pvz., Įjungimas/išjungimas, garsumo didinimas ir kt.), Ir siunčia jį imtuvui (šiuo atveju jūsų televizoriui). Tiek siuntėjas, tiek gavėjas susitarė dėl kodų rinkinio, kad gavėjas žinotų, ką daryti pagal kiekvieną kodą. Kodo kaip signalo moduliavimo (modeliavimo) būdas yra apibrėžtas skirtingais standartais ir kiekvienas jutiklių gamintojas paprastai bando pagaminti su jais suderinamą produktą, kad jį būtų galima naudoti skirtinguose įrenginiuose. Vienas iš labiausiai žinomų standartinių protokolų yra iš NEC. Trumpą IR protokolų istoriją galite rasti Vikipedijoje, pavadinimu Vartotojų IR.

1 žingsnis: Kaip atrodo IR jutiklis?

Kaip atrodo IR jutiklis?
Kaip atrodo IR jutiklis?
Kaip atrodo IR jutiklis?
Kaip atrodo IR jutiklis?
Kaip atrodo IR jutiklis?
Kaip atrodo IR jutiklis?

Infraraudonųjų spindulių jutikliai pateikiami skirtingose pakuotėse. Čia galite pamatyti tipišką IR imtuvo pakuotę.

2 žingsnis: IR jutiklio pertraukimo plokštė/modulis

IR jutiklio pertraukimo plokštė/modulis
IR jutiklio pertraukimo plokštė/modulis
IR jutiklio pertraukimo plokštė/modulis
IR jutiklio pertraukimo plokštė/modulis
IR jutiklio pertraukimo plokštė/modulis
IR jutiklio pertraukimo plokštė/modulis
IR jutiklio pertraukimo plokštė/modulis
IR jutiklio pertraukimo plokštė/modulis

Taip pat galite juos nusipirkti kaip IR modulį/pertraukimo plokštę „eBay“, „Aliexpress“ar „Amazon“. Tokiuose moduliuose paprastai yra vienas iš aukščiau paminėtų jutiklių su gražia duonkepės pakuotė ir šviesos diodas, kuris mirksi, kai jutiklis aptinka signalą. Tai darydami pastebėtumėte, ar perduodami kokie nors duomenys. Aš labai siūlau pradėti nuo vieno iš šių modulių.

Pastaba: jei turite neapdorotą infraraudonųjų spindulių jutiklį, niekas nepasikeis, išskyrus tai, kad turėtumėte patikrinti jutiklio duomenų lapą, kad įsitikintumėte, jog jį tinkamai prijungėte, nes priešingu atveju galite turėti gražių mėlynų dūmų, kurių kvapas išliks valandą. Žinai, ką turiu omeny;)

3 žingsnis: reikalingos dalys ir komponentai

Būtinos dalys ir komponentai
Būtinos dalys ir komponentai

Čia rasite komponentų, kurių jums reikės norint užbaigti šią mokymo programą, sąrašą:

„eBay“nuorodos:

  • 1 x „Arduino Uno“:
  • 1 x IR jutiklio modulis su nuotolinio valdymo pultu:
  • 4 x 220 omų rezistoriai:
  • 4 x LED:
  • 8 x „Dupont“kabelis:
  • 1 x duonos lentelė be litavimo:
  • 1 x mini duonos lenta (neprivaloma):

„Amazon.com“nuorodos:

  • 1 x „Arduino Uno“:
  • 1 x IR jutiklio modulis su nuotolinio valdymo pultu:
  • 1 x duonos lenta be litavimo:
  • 4 x 220 omų rezistoriai:
  • 4 x LED:
  • 8 x „Dupont“kabelis:
  • 1 x mini duonos lenta (neprivaloma):

4 žingsnis: IR jutiklio prijungimas prie „Arduino“

IR jutiklio prijungimas prie „Arduino“
IR jutiklio prijungimas prie „Arduino“
IR jutiklio prijungimas prie „Arduino“
IR jutiklio prijungimas prie „Arduino“
IR jutiklio prijungimas prie „Arduino“
IR jutiklio prijungimas prie „Arduino“

Nustatyti IR jutiklio ryšį su „Arduino“yra labai paprasta. Be VCC ir GND kaiščio, jutiklis turi tik vieną išvesties kaištį, kuris turėtų būti prijungtas prie vieno iš skaitmeninių „Arduino“kaiščių. Šiuo atveju jis prijungtas prie 13 kaiščio.

Bandžiau pademonstruoti ir IR jutiklio modulį, ir neapdorotą IR jutiklio sąranką. Kaip matyti iš paveikslėlių, jutiklio modulio VCC ir GND kaiščių padėtis yra priešinga neapdorotam jutikliui. Tačiau jūsų jutiklis gali būti netinkamas, todėl, kaip minėta ankstesniame žingsnyje, jei naudojate neapdorotą jutiklį, pirmiausia patikrinkite duomenų lapą.

5 veiksmas: raskite kodą, atitinkantį kiekvieną nuotolinio valdymo pulto klavišą

Raskite kodą, atitinkantį kiekvieną nuotolinio valdymo pulto klavišą
Raskite kodą, atitinkantį kiekvieną nuotolinio valdymo pulto klavišą
Raskite kodą, atitinkantį kiekvieną nuotolinio valdymo pulto klavišą
Raskite kodą, atitinkantį kiekvieną nuotolinio valdymo pulto klavišą
Raskite kodą, atitinkantį kiekvieną nuotolinio valdymo pulto klavišą
Raskite kodą, atitinkantį kiekvieną nuotolinio valdymo pulto klavišą

Norėdami užprogramuoti „Arduino“ką nors daryti, kai paspausite nuotolinio valdymo pulto klavišą, pirmiausia turėtumėte turėti tą klavišą atitinkantį kodą. Pagrindinis kodas yra skaičius, paprastai pateikiamas šešioliktainiu skaičiumi. Kiekvienas nuotolinio valdymo pultas turi savo raktų kodų rinkinį, nors gali būti, kad du valdikliai naudoja tą patį kodą skirtingiems tikslams. Skirtingi raktų kodai ir skirtingų dažnių diapazonų naudojimas užtikrina, kad du skirtingų įrenginių nuotolinio valdymo pultai netrukdytų. Štai kodėl, kai keičiate televizijos kanalą, DVD grotuvas visiškai nereaguoja.

Norėdami aptikti savo IR nuotolinio valdymo pulto kodus, pirmiausia turite paleisti paprastą eskizą, kuris bando nuskaityti kodą iš jutiklio, kai paspaudžiate klavišą, ir siunčia jį per nuoseklųjį prievadą į kompiuterį, kuriame galite jį pasiekti naudodami serijinio monitoriaus įrankius. „Arduino IDE“. Tai daro eskizas, pridėtas prie šio skyriaus. Geriau būtų paspausti kiekvieną mygtuką, kad pamatytumėte kodą ir kur nors užsirašytumėte kodų sąrašą, kad ateityje nereikėtų šio kodo dar kartą paleisti. Pagrindinių kodų sąrašas, kurį matote kaip lentelę paveikslėlyje, iš tikrųjų yra kodas, kurį gavau paspaudęs pigiojo IR nuotolinio valdymo pulto mygtukus.

Taip pat galite pasiekti tikrąjį šaltinio kodą, bendrinamą mano „Arduino“žiniatinklio redaktoriuje, naudodami ir-key-code-logger.

Pastaba: nebijokite, jei kažkur tarp jų pamatysite tokį kodą kaip FFFFFF. Tai reiškia, kad kurį laiką paspaudėte ir palaikėte mygtuką. Prie to dar grįšime. Kol kas tiesiog ignoruokite juos ir sutelkite dėmesį į kitus kodus.

6 veiksmas: valdykite šviesos diodų rinkinį naudodami IR nuotolinio valdymo pultą

Valdykite šviesos diodų rinkinį naudodami IR nuotolinio valdymo pultą
Valdykite šviesos diodų rinkinį naudodami IR nuotolinio valdymo pultą
Valdykite šviesos diodų rinkinį naudodami IR nuotolinio valdymo pultą
Valdykite šviesos diodų rinkinį naudodami IR nuotolinio valdymo pultą
Valdykite šviesos diodų rinkinį naudodami IR nuotolinio valdymo pultą
Valdykite šviesos diodų rinkinį naudodami IR nuotolinio valdymo pultą

Dabar, kai turime kiekvieno mygtuko kodą, atėjo laikas sutelkti dėmesį į tai, kaip galime juos naudoti. Paprastai jūs naudojate IR nuotolinio valdymo pultą, norėdami siųsti komandas „Arduino“, kad įjungtumėte arba išjungtumėte lempą, perkeltumėte robotą tam tikra kryptimi, kažką rodytumėte LCD/OLED ekrane ir tt Čia mes bandome parodyti procesą naudodami paprastą grandinė, kurią sudaro 4 skirtingų spalvų šviesos diodai. Mes norime įjungti arba išjungti kiekvieną iš jų naudodami specialų IR nuotolinio valdymo pulto mygtuką. Kaip matote schemoje, turite prijungti „Arduino“prie šviesos diodų ir jutiklio tokiu būdu:

„Arduino GND“-> IR jutiklis GND.

„Arduino VCC“-> IR jutiklis VCC.

„Arduino 13“-> IR jutiklio signalo išėjimas.

„Arduino 2“-> mėlynos šviesos diodo anodas (trumpesnis mėlynos šviesos diodo kaištis)

„Arduino 3“-> žalios šviesos diodo anodas (trumpesnis žalios šviesos diodo kaištis)

„Arduino 4“-> geltono šviesos diodo anodas (trumpesnis geltonos šviesos diodo kaištis)

„Arduino 5“-> raudono šviesos diodo anodas (trumpesnis raudono šviesos diodo kaištis)

„Arduino GND“-> Visų šviesos diodų katodas per 220 omų rezistorių (ilgesnis šviesos diodų kaištis)

Kodą, atitinkantį šią grandinę, rasite pridėtame faile arba mano „Arduino“žiniatinklio redaktoriuje, esančiame ir-led-control.

7 žingsnis: trikčių šalinimas

Kurdami projektą ir atlikdami veiksmus galite susidurti su daugybe keistų situacijų. Štai keletas dažniausiai pasitaikančių klaidų, kurias galite gauti dirbdami su IR jutikliu, sąrašas.

Paspaudus klavišą gaunamas FFFFFF

Paspaudę mygtuką galite pastebėti, kad dažniausiai jis praneša apie tokį kodą kaip FFFFFF. Taip atsitinka, kai paspaudžiate mygtuką ir kurį laiką jį laikote, net trumpą laiką. Scenarijus yra tas, kad kai iš pradžių paspaudžiate mygtuką, IR nuotolinio valdymo pultas siunčia mygtuko kodą ir tol, kol laikote nuspaudę mygtuką, jis pakartoja FFFFFF siuntimą, o tai reiškia, kad vartotojas vis dar spaudžia neseniai praneštą mygtuką. Tai būtų gerai. Galite tiesiog jų praleisti. Tikrasis kodas yra tas, kurį gavote prieš serijos monitoriaus FFFFFF.

IR jutiklis visiškai nereaguoja ir atrodo, kad jis tampa šiltas

Nutraukite energiją !!! Jei esate tikri, kad raktų kodų registravimo priemonės eskizas yra teisingas, problema gali kilti dėl neteisingos laidų sąrankos. Man nutiko toks scenarijus, kad savo IR moduliui (prijungtam prie plokštės) aš prijungiau VCC ir GND priešingai (dėl to, kad nenaudojau tinkamų spalvų prijungimo laidams). Taip jutiklio komponentas sudegė ir pakilo gražūs mėlyni dūmai. Aš nusipirkau neapdorotų IR jutiklių paketą ir bandžiau jį pakeisti, o dabar jis veikia kaip žavesys:). Deja, aš padariau tą pačią klaidą, kai bandžiau su neapdorotu IR jutikliu, ir šį kartą nieko neįvyko, išskyrus tai, kad jutiklis sušilo. Taigi prieš įjungdami maitinimą visada patikrinkite grandinę!

Kartais jutiklis aptinka kodą, kurio niekada nemačiau

Tai viena iš dažniausiai pasitaikančių problemų. Tai greičiausiai dėl vienos iš šių priežasčių:

Jūs nenukreipiate IR nuotolinio valdymo pulto tiesiai į jutiklį

Dėl to atsiras naujų kodų (dažniausiai ilgesnių kodų), kurių niekada anksčiau negavote ir kurie paprastai neatitinka jau turimų kodų ilgio. Taigi nepamirškite nuotolinio valdymo pulto visada nukreipti į jutiklį.

Jūs naudojate pigų IR nuotolinio valdymo pultą (tokį, kokį naudojau šioje pamokoje)

Užuot naudojęsi pigiais nenuspėjamais nuotolinio valdymo pultais, galite išbandyti tą patį scenarijų naudodami savo televizoriaus ar DVD grotuvo nuotolinio valdymo pultą arba bet kurio turimo įrenginio IR nuotolinio valdymo pultą. Paprastai jie turi gerą signalo/aparatinės įrangos kokybę (ir, žinoma, yra brangesni), ir, remiantis mano patirtimi, jie paprastai veikia gerai, net jei nenukreipiate nuotolinio valdymo pulto tiesiai į jutiklį.

Kaip sužinoti, ar užregistruotas kodas nėra šiukšlė

Paprastai kodai pateikiami šešioliktainiu formatu. Jei konvertuosite juos į atitinkamą dvejetainę reikšmę, pastebėsite, kad paskutinio baito dvejetainis vaizdas yra baito neigimas prieš tai. Jei tai žinote, galite tai patikrinti savo kode ir įsitikinti, kad gautas kodas iš tikrųjų yra galiojantis. Pavyzdžiui, jei gavote FF7A85, jo dvejetainis vaizdas būtų toks:

1111 1111 0111 1010 1000 0101

Iš kairės į dešinę kiekviena 4 skaitmenų partija yra simbolio atvaizdas pradiniame šešioliktainiame skaičiuje. Kaip matote, partija, atitinkanti 7, yra 0111, o partija, atitinkanti 8, yra 1000, o tai yra tikslus neigimas. Neigdamas turiu omenyje, kad visi 0 bus 1 ir visi 1 bus pakeisti 0. Tas pats pasakytina apie kitą, kuris yra A (1010) ir 5 (0101).

8 žingsnis: ką daryti toliau?

Dabar tavo eilė. Viskas priklauso nuo jūsų vaizduotės, ką galite padaryti su šiuo mažu paprastu jutikliu rankoje. Štai keletas idėjų, kurias reikia pradėti:

  • Naudokite vieno iš namuose esančių įrenginių (televizoriaus, stereo ir kt.) IR nuotolinio valdymo pultą ir pabandykite jį naudoti savo „Arduino“projekte
  • Pabandykite įjungti visus šviesos diodus vienu metu, paspausdami klavišą, tada išjunkite juos naudodami kitą klavišą
  • Naudokite nuotolinio valdymo pulto aukštyn/žemyn mygtukus, kad įjungtumėte/išjungtumėte šviesos diodus po vieną, kol jie visi įsijungs/išsijungs
  • Sukurkite šviesoforą naudodami šviesos diodus ir valdykite jį nuotolinio valdymo pultu
  • Jei po ranka turite mažą nuolatinės srovės variklį, pabandykite paleisti/sustabdyti arba pakeisti jo sukimosi kryptį per IR nuotolinio valdymo pultą
  • Galite naudoti savo televizoriaus nuotolinio valdymo pultą, kad valdytumėte robotą arba įjungtumėte/išjungtumėte kai kuriuos jame esančius jutiklius/pavaras

Praneškite man apie komentarus, ką darytumėte (ar jau padarėte) naudodami IR nuotolinio valdymo pultą.

Rekomenduojamas: