Sisukord:

Infrapunaanduri kasutamine Arduinoga: 8 sammu (piltidega)
Infrapunaanduri kasutamine Arduinoga: 8 sammu (piltidega)

Video: Infrapunaanduri kasutamine Arduinoga: 8 sammu (piltidega)

Video: Infrapunaanduri kasutamine Arduinoga: 8 sammu (piltidega)
Video: Использование драйвера шагового двигателя L298N Для управления 4-проводным шаговым двигателем 2024, November
Anonim
Infrapunaanduri kasutamine koos Arduinoga
Infrapunaanduri kasutamine koos Arduinoga

Mis on infrapuna (teise nimega IR) andur?

IR -andur on elektrooniline instrument, mis skaneerib infrapunasignaale kindlates sagedusvahemikes, mis on määratletud standarditega, ja teisendab need oma väljundtihvil (tavaliselt nimetatakse signaalnõelaks) elektrisignaalideks. IR -signaale kasutatakse peamiselt käskude edastamiseks õhu kaudu lühikestel vahemaadel (tavaliselt paar meetrit), nagu te olete juba töötanud teleri kaugjuhtimispultide või muude sarnaste elektroonikaseadmetega.

IR sideprotokoll

Iga signaal tähistab kindlat koodi. Elektrilised signaalid saab teisendada saatja saadetud tegelikeks andmeteks/koodideks. Kui vajutate teleri kaugjuhtimispuldi nuppu, genereerib see nupukoodile vastava signaali (nt sisse/välja, helitugevuse suurendamine jne) ja saadab selle vastuvõtja (antud juhul teie teleri) jaoks. Nii saatja kui ka vastuvõtja leppisid kokku koodide komplekti, nii et vastuvõtja teab, mida iga koodi põhjal teha. See, kuidas koodi tuleks signaalina moduleerida (modelleerida), on määratletud erinevates standardites ja tavaliselt üritab iga andurite tootja toota nendega ühilduva toote, et seda saaks kasutada erinevates seadmetes. Üks tuntumaid standardprotokolle on pärit NEC -lt. Infrapunaprotokollide lühikese ajaloo leiate Vikipeediast Consumer IR pealkirja alt.

Samm: kuidas IR -andur välja näeb?

Kuidas IR -andur välja näeb?
Kuidas IR -andur välja näeb?
Kuidas IR -andur välja näeb?
Kuidas IR -andur välja näeb?
Kuidas IR -andur välja näeb?
Kuidas IR -andur välja näeb?

IR -andurid on saadaval erinevates pakettides. Siin näete mõnda IR -vastuvõtja tüüpilist pakendit.

2. samm: IR -anduri katkestusplaat/moodul

IR -anduri katkestusplaat/moodul
IR -anduri katkestusplaat/moodul
IR -anduri katkestusplaat/moodul
IR -anduri katkestusplaat/moodul
IR -anduri katkestusplaat/moodul
IR -anduri katkestusplaat/moodul
IR -anduri katkestusplaat/moodul
IR -anduri katkestusplaat/moodul

Saate neid osta ka eBay, Aliexpressi või Amazoni IR -moodulina/eraldusplaadina. Sellised moodulid sisaldavad tavaliselt ühte ülalnimetatud anduritest koos kena leivasõbraliku paketiga koos LED -iga, mis vilgub, kui andur tuvastab signaali. Seda tehes märkate, kas andmeid edastatakse. Soovitan tungivalt alustada ühest neist moodulitest.

Märkus: kui teil on töötlemata infrapunaandur, ei muutu midagi, välja arvatud see, et peaksite anduri andmelehelt veenduma, et see on õigesti ühendatud, sest vastasel juhul võib teil olla ilus sinine suits, mille lõhn püsib kaua tund. Sa tead, mida ma silmas pean;)

3. samm: nõutavad osad ja komponendid

Nõutavad osad ja komponendid
Nõutavad osad ja komponendid

Siit leiate komponentide loendi, mida vajate selle õpetuse lõpuleviimiseks:

eBay lingid:

  • 1 x Arduino Uno:
  • 1 x IR -anduri moodul koos puldiga:
  • 4 x 220 oomi takistid:
  • 4 x LED:
  • 8 x Duponti kaabel:
  • 1 x jooteta leivalaud:
  • 1 x Mini leivalaud (valikuline):

Amazon.com lingid:

  • 1 x Arduino Uno:
  • 1 x IR -anduri moodul koos puldiga:
  • 1 x jootevaba leib:
  • 4 x 220 oomi takistid:
  • 4 x LED:
  • 8 x Duponti kaabel:
  • 1 x Mini leivalaud (valikuline):

Samm: IR -anduri ühendamine Arduinoga

IR -anduri ühendamine Arduinoga
IR -anduri ühendamine Arduinoga
IR -anduri ühendamine Arduinoga
IR -anduri ühendamine Arduinoga
IR -anduri ühendamine Arduinoga
IR -anduri ühendamine Arduinoga

IR -anduri ühenduse seadistamine Arduinoga on väga lihtne. VCC ja GND tihvti kõrval on anduril ainult üks väljundpistik, mis tuleks ühendada ühe Arduino digitaalse kontaktiga. Sel juhul on see ühendatud tihvtiga 13.

Proovisin demonstreerida nii IR -anduri moodulit kui ka toores IR -anduri seadistust. Nagu piltidelt näha, on andurimooduli VCC ja GND tihvtide asukoht vastupidine tooresandurile. Kuid see ei pruugi teie anduri puhul nii olla, nii et nagu eelmises etapis mainitud, kontrollige töötlemata anduri kasutamise korral kõigepealt andmelehte.

Samm: leidke kaugjuhtimispuldi igale klahvile vastav kood

Leidke kaugjuhtimispuldilt igale klahvile vastav kood
Leidke kaugjuhtimispuldilt igale klahvile vastav kood
Leidke kaugjuhtimispuldilt igale klahvile vastav kood
Leidke kaugjuhtimispuldilt igale klahvile vastav kood
Leidke kaugjuhtimispuldilt igale klahvile vastav kood
Leidke kaugjuhtimispuldilt igale klahvile vastav kood

Selleks, et programmeerida Arduino midagi tegema, kui vajutate kaugjuhtimispuldi klahvi, peaks teil esmalt olema sellele klahvile vastav kood. Võtmekood on number, mis esitatakse tavaliselt kuueteistkümnendarvuna. Igal kaugjuhtimispuldil on oma võtmekoodide komplekt, samas on võimalik, et kahel kontrolleril on eri eesmärkidel sama kood. Erinevate võtmekoodide kasutamine koos erinevate sagedusvahemike kasutamisega tagab, et kahel erineva seadme kaugjuhtimispuldil pole häireid. Sellepärast ei reageeri teie telekanali vahetamisel teie DVD -mängija üldse.

IR -kaugjuhtimispuldi koodide tuvastamiseks peate esmalt käivitama lihtsa visandi, mis proovib klahvi vajutamisel andurilt koodi lugeda ja saadab selle jadapordi kaudu teie arvutisse, kuhu pääsete sellele juurde, kasutades jadamonitori tööriistu Arduino IDE. Seda teeb sellele jaole lisatud visand. Koodi nägemiseks oleks parem vajutada igale nupule ja kirjutada koodide loend kuhugi üles, et te ei peaks seda koodi tulevikus uuesti käivitama. Võtmekoodide loend, mida pildil tabelina näete, on tegelikult koodid, mis ma sain oma odava IR -puldi nuppe vajutades.

Teil on juurdepääs ka minu Arduino veebiredaktoris jagatud tegelikule lähtekoodile aadressil ir-key-code-logger.

Märkus. Ärge kartke, kui näete kusagil vahepeal sellist koodi nagu FFFFFF. See tähendab, et olete mõnda aega nuppu vajutanud ja all hoidnud. Läheme selle juurde hiljem tagasi. Praegu ignoreerige neid ja keskenduge muudele koodidele.

Samm: kontrollige LED -de komplekti IR -kaugjuhtimispuldi abil

Juhtige LED -de komplekti IR -kaugjuhtimispuldi abil
Juhtige LED -de komplekti IR -kaugjuhtimispuldi abil
Juhtige LED -de komplekti IR -kaugjuhtimispuldi abil
Juhtige LED -de komplekti IR -kaugjuhtimispuldi abil
Juhtige LED -de komplekti IR -kaugjuhtimispuldi abil
Juhtige LED -de komplekti IR -kaugjuhtimispuldi abil

Nüüd, kui meil on iga nupu jaoks kood, on aeg keskenduda viisile, kuidas neid kasutada. Tavaliselt kasutate IR -kaugjuhtimispulti Arduinole käskluste saatmiseks, näiteks lampide sisse- või väljalülitamiseks, roboti liigutamiseks kindlas suunas, millegi kuvamiseks LCD/OLED -ekraanil jne. Siin proovime protsessi näidata lihtsa vooluahel, mis koosneb neljast erinevat värvi LED -ist. Soovime igaüks neist sisse või välja lülitada IR -puldi spetsiaalse nupuga. Nagu skemaatiliselt näha, peate Arduino ühendama LED -ide ja anduriga järgmisel viisil:

Arduino GND -> IR -andur GND.

Arduino VCC -> IR -andur VCC.

Arduino 13 -> IR -anduri signaali väljund.

Arduino 2 -> sinise LED -i anood (sinise LED -i lühem tihvt)

Arduino 3 -> rohelise LED -i anood (rohelise LED -i lühem tihvt)

Arduino 4 -> kollase LED -i anood (kollase LED -i lühem tihvt)

Arduino 5 -> punase LED -i anood (punase LED -i lühem tihvt)

Arduino GND -> kõigi LED -ide katood 220 oomi takisti kaudu (LED -ide pikem tihvt)

Sellele ahelale vastava koodi leiate lisatud failist või minu Arduino veebiredaktorist saidilt ir-led-control.

Samm: tõrkeotsing

Projekti seadistades ja juhiseid järgides võite ette tulla palju imelikke olukordi. Siin on nimekiri mõnest levinumast veast, mis võivad tekkida IR -anduriga töötamisel.

FFFFFF -i saamine klahvi vajutamisel

Nupule vajutades võite märgata, et enamasti teatab see sellisest koodist nagu FFFFFF. See juhtub siis, kui vajutate nuppu ja hoiate seda mõnda aega, isegi lühikest aega. Stsenaarium on see, et kui vajutate nuppu algselt, saadab infrapunapult nupu koodi ja seni, kuni hoiate nuppu all, kordab see FFFFFF saatmist, mis tähendab, et kasutaja vajutab endiselt hiljuti teatatud nuppu. See oleks OK. Võite need lihtsalt välja jätta. Tegelik kood on see, mille saite seeriamonitoril vahetult enne FFFFFF -i.

IR -andur ei reageeri üldse ja tundub, et läheb soojaks

Lõika vool ära !!! Kui olete kindel, et võtmekoodi logija visand on õige, võib probleem olla tingitud juhtmete valest seadistusest. Minuga juhtus selline stsenaarium, et olin oma IR -mooduli (tahvli külge kinnitatud) jaoks ühendanud VCC ja GND vastupidisel viisil (kuna ma ei kasutanud oma ühenduskaablitele sobivaid värve). Seda tehes põles andurikomponent ja tekkis kena sinine suits. Ostsin paki tooreid IR -andureid ja proovisin seda vahetada ning nüüd töötab see nagu võlu:). Kahjuks tegin sama vea, kui katsetasin toore IR -anduriga ja seekord ei juhtunud midagi peale selle, et andur läks soojaks. Nii et kontrollige alati vooluringi enne toite sisselülitamist!

Mõnikord tuvastab andur koodi, mida ma pole kunagi varem näinud

See on üks levinumaid probleeme. See on tõenäoliselt tingitud ühest järgmistest põhjustest:

Te ei suuna IR -puldi otse anduri poole

See toob kaasa mõned uued koodid (enamasti pikemad koodid), mida te pole kunagi varem saanud ja mis tavaliselt ei kattu juba olemasolevate koodide pikkusega. Seega pidage meeles, et suunake kaugjuhtimispult alati anduri poole.

Kasutate odavat IR -kaugjuhtimispulti (nagu seda, mida selles õpetuses kasutasin)

Odavate ettearvamatute kaugjuhtimispultide asemel võite proovida sama stsenaariumi, kasutades oma teleri või DVD -mängija kaugjuhtimispulti või mis tahes seadme IR -kaugjuhtimispulti. Tavaliselt on neil hea signaali/riistvara kvaliteet (ja loomulikult on need kallimad) ning minu kogemuste põhjal töötavad nad tavaliselt hästi isegi siis, kui te ei suunata kaugjuhtimispulti otse anduri poole.

Kuidas ma tean, kas logitud kood pole prügi

Koodid esitatakse tavaliselt kuueteistkümnendsüsteemis. Kui teisendate need vastavaks binaarväärtuseks, märkate, et viimase baidi kahendesitus on enne seda baidi eitamine. Kui teate seda, saate seda oma koodis kontrollida, veendumaks, et saadud kood on tegelikult kehtiv või mitte. Näiteks kui teil on FF7A85, oleks selle binaarne esitus järgmine:

1111 1111 0111 1010 1000 0101

Vasakult paremale tähistab iga 4 -kohaline partii algse kuueteistkümnendnumbri märki. Nagu näete, on 7 -le vastav partii 0111 ja 8 -le vastav partii 1000, mis on selle täpne eitus. Eituse all mõtlen, et kõik 0 -d oleksid 1 -d ja kõik 1 -d asendatakse 0 -dega. Sama kehtib ka järgmise kohta, mis on A (1010) ja 5 (0101).

8. samm: mida edasi teha?

Nüüd on teie kord. Kõik sõltub teie kujutlusvõimest, et näha, mida saate selle väikese lihtsa anduriga käes teha. Siin on mõned ideed alustamiseks:

  • Kasutage ühe kodus oleva seadme (televiisor, stereo jne) IR -kaugjuhtimispulti ja proovige seda kasutada oma Arduino projektis
  • Proovige kõiki LED -e korraga sisse lülitada, vajutades klahvi ja seejärel lülitage need teise klahvi abil välja
  • Kasutage kaugjuhtimispuldi üles/alla nuppu, et LED -id ükshaaval sisse/välja lülitada, kuni need kõik sisse/välja lülituvad
  • Looge valgusfoori abil valgusfoor ja juhtige seda kaugjuhtimispuldi abil
  • Kui teil on käepärast väike alalisvoolumootor, proovige käivitada/peatada või muuta selle pöörlemissuunda IR -puldi kaudu
  • Saate oma teleri kaugjuhtimispuldi abil juhtida oma robotit või lubada/keelata sellel olevaid andureid/täiturmehhanisme

Andke mulle kommentaarides teada, mida te teeksite (või olete juba teinud) IR -puldi abil.

Soovitan: