Orodha ya maudhui:

Kutumia sensorer ya infrared na Arduino: Hatua 8 (na Picha)
Kutumia sensorer ya infrared na Arduino: Hatua 8 (na Picha)

Video: Kutumia sensorer ya infrared na Arduino: Hatua 8 (na Picha)

Video: Kutumia sensorer ya infrared na Arduino: Hatua 8 (na Picha)
Video: Infrared Obstacle Avoidance module for Arduino with code 2024, Novemba
Anonim
Kutumia sensorer ya infrared na Arduino
Kutumia sensorer ya infrared na Arduino

Je! Ni sensor ya infrared (aka IR)?

Sensorer ya IR ni chombo cha elektroniki ambacho hutafuta ishara za IR katika safu maalum za masafa zilizoelezewa na viwango na kuzigeuza kuwa ishara za umeme kwenye pini yake ya pato (kawaida huitwa pini ya ishara). Ishara za IR hutumiwa hasa kwa kupeleka amri hewani kwa umbali mfupi (kawaida mita chache) kama vile ambavyo umefanya kazi nao kwenye vidhibiti vya mbali vya Runinga au vifaa vingine vya elektroniki.

Itifaki ya mawasiliano ya IR

Kila ishara inawakilisha nambari maalum. Ishara za umeme zinaweza kubadilishwa kuwa data / nambari halisi ambayo mtumaji ametuma. Unapobonyeza kitufe kwenye udhibiti wa kijijini cha TV, hutoa ishara inayolingana na nambari ya kitufe (k.v On / Off, Volume Up, n.k.) na kuituma kwa mpokeaji (katika kesi hii TV yako). Mtumaji na mpokeaji walikubaliana juu ya seti ya nambari ili mpokeaji ajue nini cha kufanya kulingana na kila nambari. Njia ambayo nambari inapaswa kugeuzwa (kuigwa) kama ishara inaelezewa kwa kiwango tofauti na kila mtengenezaji wa sensa kawaida hujaribu kutoa bidhaa inayoendana nao ili iweze kutumika katika vifaa tofauti. Moja ya itifaki za kawaida zinazojulikana ni kutoka kwa NEC. Unaweza kupata historia fupi ya itifaki za IR kwenye Wikipedia chini ya kichwa cha IR cha Mtumiaji.

Hatua ya 1: Je! Sura ya IR Inaonekanaje?

Je! Sensorer ya IR Inaonekanaje?
Je! Sensorer ya IR Inaonekanaje?
Je! Sensorer ya IR Inaonekanaje?
Je! Sensorer ya IR Inaonekanaje?
Je! Sensorer ya IR Inaonekanaje?
Je! Sensorer ya IR Inaonekanaje?

Sensorer za IR zinapatikana kwenye vifurushi tofauti. Hapa unaweza kuona ufungaji wa kawaida kwa mpokeaji wa IR.

Hatua ya 2: Bodi / moduli ya kuzuka kwa sensa ya IR

Bodi / moduli ya kuzuka kwa sensorer ya IR
Bodi / moduli ya kuzuka kwa sensorer ya IR
Bodi / moduli ya kuzuka kwa sensorer ya IR
Bodi / moduli ya kuzuka kwa sensorer ya IR
Bodi / moduli ya kuzuka kwa sensorer ya IR
Bodi / moduli ya kuzuka kwa sensorer ya IR
Bodi / moduli ya kuzuka kwa sensorer ya IR
Bodi / moduli ya kuzuka kwa sensorer ya IR

Unaweza pia kuzinunua kama moduli ya IR / bodi ya kuzuka kwenye eBay, Aliexpress au Amazon. Moduli kama hizo kawaida hujumuisha moja ya sensorer zilizotajwa hapo juu na kifurushi kizuri cha ubao wa mkate pamoja na LED ambayo ingeangaza wakati sensa inapogundua ishara. Kwa kufanya hivyo utaona ikiwa data yoyote inahamishwa. Ninashauri sana kuanza na moja ya moduli hizi.

Kumbuka: ikiwa una sensorer ya IR mbichi, hakuna chochote kitakachobadilika, isipokuwa kwamba unapaswa kuangalia data ya kihisi kuhakikisha kwamba unaunganisha waya kwa usahihi kwa sababu vinginevyo unaweza kuwa na moshi mzuri wa samawati na harufu ambayo inaweza kudumu kwa saa. Unajua ninachomaanisha;)

Hatua ya 3: Sehemu Zinazohitajika na Vipengele

Sehemu Zinazohitajika na Vipengele
Sehemu Zinazohitajika na Vipengele

Hapa unaweza kupata orodha ya vifaa ambavyo utahitaji kukamilisha mafunzo haya:

Viungo vya eBay:

  • 1 x Arduino Uno:
  • 1 x moduli ya sensorer ya IR na kijijini:
  • Vipimo 4 x 220 ohm:
  • 4 x LED:
  • Cable ya 8 x Dupont:
  • 1 x Bodi ya mkate isiyo na waya:
  • 1 x Mini mkate (hiari):

Viungo vya Amazon.com:

  • 1 x Arduino Uno:
  • 1 x moduli ya sensorer ya IR na kijijini:
  • 1 x Bodi ya mkate isiyo na mashine:
  • Vipimo vya 4 x 220 ohm:
  • 4 x LED:
  • Cable ya 8 x Dupont:
  • 1 x Mini mkate (hiari):

Hatua ya 4: Kuunganisha Sensorer ya IR kwa Arduino

Kuunganisha Sensorer ya IR kwa Arduino
Kuunganisha Sensorer ya IR kwa Arduino
Kuunganisha Sensorer ya IR kwa Arduino
Kuunganisha Sensorer ya IR kwa Arduino
Kuunganisha Sensorer ya IR kwa Arduino
Kuunganisha Sensorer ya IR kwa Arduino

Kuanzisha unganisho la sensa ya IR kwa Arduino ni rahisi sana. Kando na pini ya VCC na GND, sensa ina pini moja tu ya pato ambayo inapaswa kushikamana na moja ya pini za dijiti za Arduino. Katika kesi hii imeunganishwa na pin 13.

Nilijaribu kuonyesha moduli ya sensorer ya IR na usanidi wa sensorer ya IR mbichi. Kama inavyoonekana kwenye picha, msimamo wa pini za VCC na GND kwenye moduli ya sensa ni kinyume cha sensorer mbichi. Walakini inaweza kuwa sio kesi kwa sensa yako, kwa hivyo kama ilivyoelezwa katika hatua ya awali, ikiwa utatumia sensorer mbichi, angalia hati ya data kwanza.

Hatua ya 5: Pata Nambari Inayolingana na Kila Ufunguo kwenye Kijijini

Pata Nambari Inayolingana na Kila Ufunguo kwenye Kijijini
Pata Nambari Inayolingana na Kila Ufunguo kwenye Kijijini
Pata Nambari Inayolingana na Kila Ufunguo kwenye Kijijini
Pata Nambari Inayolingana na Kila Ufunguo kwenye Kijijini
Pata Nambari Inayolingana na Kila Ufunguo kwenye Kijijini
Pata Nambari Inayolingana na Kila Ufunguo kwenye Kijijini

Ili kupanga Arduino kufanya kitu unapobonyeza kitufe kwenye rimoti, unapaswa kwanza kuwa na nambari inayolingana na ufunguo huo. Nambari muhimu ni nambari inayowasilishwa kama hexadecimal. Kila mtawala wa kijijini ana seti yake ya nambari muhimu wakati inawezekana kwamba watawala wawili wanashiriki nambari moja kwa madhumuni tofauti. Kuwa na nambari tofauti muhimu pamoja na kutumia safu tofauti za masafa, inahakikisha kuwa vidhibiti viwili vya mbali vya vifaa tofauti havingeingiliwa. Ndio sababu unapobadilisha kituo chako cha Runinga, kichezaji chako cha DVD hakijibu hata kidogo.

Ili kugundua nambari za rimoti yako ya IR, lazima kwanza uanze mchoro rahisi ambao unajaribu kusoma nambari kutoka kwa sensorer wakati bonyeza kitufe na kutuma kupitia bandari ya serial kwa kompyuta yako ambapo unaweza kuipata kwa kutumia zana za Serial Monitor za Arduino IDE. Hivi ndivyo mchoro ulioambatanishwa na sehemu hii unavyofanya. Ingekuwa bora bonyeza kila kitufe ili uone nambari hiyo na uandike orodha ya nambari mahali pengine ili usiweze kutumia nambari hii tena katika siku zijazo. Orodha ya nambari kuu unazoona kama meza kwenye picha ni nambari ambazo nimepokea wakati wa kubonyeza vifungo kwenye kijijini changu cha bei rahisi cha IR.

Unaweza pia kupata msimbo halisi wa chanzo ulioshirikiwa kwenye mhariri wangu wa wavuti wa Arduino kwenye ir-key-code-logger.

Kumbuka: Usiogope ukiona nambari kama FFFFFF mahali pengine katikati. Inamaanisha umebonyeza na kushikilia kitufe kwa muda. Tutarudi ndani yake baadaye. Kwa sasa wapuuze tu na uzingatia nambari zingine.

Hatua ya 6: Dhibiti Seti ya LED Kutumia IR Remote

Dhibiti Seti ya LED Kutumia IR Remote
Dhibiti Seti ya LED Kutumia IR Remote
Dhibiti Seti ya LED Kutumia IR Remote
Dhibiti Seti ya LED Kutumia IR Remote
Dhibiti Seti ya LED Kutumia IR Remote
Dhibiti Seti ya LED Kutumia IR Remote

Sasa kwa kuwa tuna nambari kwa kila kitufe, ni wakati wa kuzingatia njia tunayoweza kuzitumia. Kawaida unatumia kijijini cha IR kutuma maagizo kwa Arduino kufanya kitu kama kuwasha au kuzima taa, kusogeza roboti kwa mwelekeo maalum, kuonyesha kitu kwenye skrini ya LCD / OLED, n.k. Hapa tunajaribu kuonyesha mchakato kwa kutumia rahisi mzunguko unao na LED 4 kwa rangi tofauti. Tunataka kuwasha au kuzima kila mmoja wao na kitufe cha kujitolea cha kijijini cha IR. Kama unavyoona kwenye mpango, lazima uunganishe Arduino kwa njia ifuatayo kwa LED na sensor:

Arduino GND -> IR sensor GND.

Arduino VCC -> IR sensor VCC.

Arduino 13 -> Pato la ishara ya IR.

Arduino 2 -> Anode ya mwangaza wa bluu (pini fupi ya mwangaza wa bluu)

Arduino 3 -> Anode ya LED ya kijani (pini fupi ya LED ya kijani)

Arduino 4 -> Anode ya mwangaza wa manjano (pini fupi ya mwangaza wa manjano)

Arduino 5 -> Anode ya LED nyekundu (pini fupi ya LED nyekundu)

Arduino GND -> Cathode ya LED zote kupitia kontena ya 220 ohm (pini ndefu ya LEDs)

Unaweza kupata nambari inayolingana na mzunguko huu kwenye faili iliyoambatishwa au kwenye mhariri wangu wa wavuti wa Arduino kwa udhibiti wa ir-led.

Hatua ya 7: Utatuzi wa matatizo

Wakati wa kuanzisha mradi wako na kufuata hatua unaweza kukutana na hali nyingi za kushangaza. Hapa kuna orodha ya makosa ya kawaida ambayo unaweza kupata wakati wa kufanya kazi na sensa ya IR.

Kupata FFFFFF wakati wa kubonyeza kitufe

Wakati wa kubonyeza kitufe unaweza kugundua kuwa wakati mwingi inaripoti nambari kama FFFFFF. Hii hufanyika unapobonyeza kitufe na kushikilia kwa muda, hata kwa muda mfupi. Hali ni kwamba wakati unabonyeza kitufe hapo awali, kijijini cha IR kinatuma nambari ya kifungo na maadamu unashikilia kitufe, inarudia kutuma FFFFFF ambayo inamaanisha kuwa mtumiaji bado anabonyeza kitufe kilichoripotiwa hivi karibuni. Hiyo itakuwa sawa. Unaweza kuziacha tu. Nambari halisi ni ile uliyokuwa nayo kabla ya FFFFFF kwenye Serial Monitor.

Sensorer ya IR haifanyi kazi kabisa na inaonekana inapata joto

Kata nguvu !!! Ikiwa una hakika kuwa mchoro wa msimbo wa kumbukumbu ni sahihi, basi shida labda kwa sababu ya usanidi mbaya wa waya zako. Hali ambayo ilinitokea ni kwamba kwa moduli yangu ya IR (iliyoambatanishwa na bodi) nilikuwa nimeunganisha VCC na GND kwa njia tofauti (kwa sababu ya kutotumia rangi sahihi kwa waya zangu za kung'ata). Kwa kufanya hivyo sehemu ya sensorer imeungua na moshi mzuri wa samawati umeinuliwa. Nilinunua pakiti ya sensorer mbichi za IR na kujaribu kuibadilisha na sasa inafanya kazi kama hirizi:). Kwa bahati mbaya nilifanya kosa lile lile wakati nilikuwa nikijaribu na sensorer ya IR mbichi na wakati huu hakuna kitu kilichotokea isipokuwa kwamba sensor ilipata joto. Kwa hivyo angalia kila wakati mzunguko kabla ya kuwasha umeme!

Wakati mwingine sensa hugundua nambari ambayo sijawahi kuona hapo awali

Hii ni moja ya maswala ya kawaida. Inawezekana kwa sababu ya moja ya sababu zifuatazo:

Hauelekezi kijijini chako cha IR moja kwa moja kuelekea sensa

Hii itasababisha kuwa na nambari mpya mpya (haswa nambari ndefu zaidi) ambazo haujawahi kupokea hapo awali na kawaida hazilingani na urefu wa nambari ulizonazo tayari. Kwa hivyo kumbuka kuelekeza kijijini kila wakati kwenye kihisi chako.

Unatumia kijijini cha bei rahisi cha IR (kama ile niliyotumia katika mafunzo haya)

Badala ya kutumia vielelezo vya bei rahisi visivyotabirika, unaweza kujaribu hali kama hiyo ukitumia udhibiti wa kijijini cha TV au DVD Player au kijijini cha IR cha vifaa vyovyote ulivyo navyo. Kawaida zina ubora mzuri wa ishara / vifaa (na kwa kweli ni ghali zaidi) na kulingana na uzoefu wangu, kawaida hufanya kazi vizuri hata ikiwa hauelekezi kijijini chako moja kwa moja kuelekea sensa.

Ninajuaje ikiwa nambari ambayo imeingia sio takataka

Misimbo kawaida huwasilishwa katika muundo wa hexadecimal. Ikiwa utazigeuza kuwa thamani inayofanana ya binary, utaona kuwa uwakilishi wa binary wa baiti ya mwisho ni kukanusha kwa ka kunakuja kabla ya hapo. Ikiwa unajua hii, unaweza kufanya hundi hii katika nambari yako ili kuhakikisha kuwa nambari uliyopokea ni halali au la. Kama mfano, ikiwa utapata FF7A85 uwakilishi wake wa kibinadamu ungekuwa kama ilivyo hapo chini:

1111 1111 0111 1010 1000 0101

Kutoka kushoto kwenda kulia, kila kundi la nambari 4 ni uwakilishi wa herufi katika nambari asili ya hexadecimal. Kama unavyoona, kundi linalolingana na 7 ni 0111 na kundi linalolingana na 8 ni 1000 ambayo ni ukanushaji wake halisi. Kwa kukataa ninamaanisha kila 0 itakuwa 1 na 1s zote zitabadilishwa na 0s. Hiyo ni kweli kwa inayofuata ambayo ni A (1010) na 5 (0101).

Hatua ya 8: Nini cha Kufanya Ijayo?

Sasa ni zamu yako. Yote ni juu ya mawazo yako kuona nini unaweza kufanya na kihisihisi hiki kidogo mkononi mwako. Hapa kuna maoni kadhaa ya kuanzia:

  • Tumia udhibiti wa kijijini wa IR wa moja wapo ya vifaa unavyo nyumbani (TV, Stereo, n.k.) na ujaribu kuitumia katika mradi wako wa Arduino
  • Jaribu kuwasha LED zote mara moja kwa kubonyeza kitufe na kisha uzime ukitumia ufunguo mwingine
  • Tumia Kitufe cha Juu / Chini cha kijijini kuwasha / kuzima LEDs moja hadi moja mpaka zote ziwasha / kuzima
  • Unda taa ya trafiki ukitumia LED na uidhibiti kwa kutumia rimoti yako
  • Ikiwa unayo motor ndogo ya DC, jaribu kuanza / kuacha au kubadilisha mwelekeo wake wa kuzunguka kupitia kijijini cha IR
  • Unaweza kutumia kijijini chako cha Runinga kudhibiti roboti yako au kuwezesha / kulemaza sensorer / watendaji juu yake

Nijulishe kwenye maoni, ungefanya nini (au tayari umefanya) kwa kutumia kijijini cha IR.

Ilipendekeza: