Talaan ng mga Nilalaman:

Paggamit ng Infrared Sensor Sa Arduino: 8 Hakbang (na may Mga Larawan)
Paggamit ng Infrared Sensor Sa Arduino: 8 Hakbang (na may Mga Larawan)

Video: Paggamit ng Infrared Sensor Sa Arduino: 8 Hakbang (na may Mga Larawan)

Video: Paggamit ng Infrared Sensor Sa Arduino: 8 Hakbang (na may Mga Larawan)
Video: Камера-ЛАМПА со слежением и определением человека. 2024, Hunyo
Anonim
Paggamit ng Infrared Sensor Sa Arduino
Paggamit ng Infrared Sensor Sa Arduino

Ano ang isang infrared (aka IR) sensor?

Ang isang IR sensor ay isang elektronikong instrumento na sumusuri sa mga signal ng IR sa tukoy na mga saklaw ng dalas na tinukoy ng mga pamantayan at pinapalitan ito sa mga electric signal sa output pin nito (karaniwang tinatawag na signal pin). Pangunahing ginagamit ang mga signal ng IR para sa paglilipat ng mga utos sa himpapawid sa maikling distansya (karaniwang ilang metro) tulad ng kung saan ka nagtrabaho sa mga remote control ng TV o iba pang mga katulad na elektronikong aparato.

IR protocol ng komunikasyon

Ang bawat signal ay kumakatawan sa isang tukoy na code. Ang mga electric signal ay maaaring mai-convert pabalik sa aktwal na data / code na ipinadala ng nagpadala. Kapag pinindot mo ang isang pindutan sa iyong remote control sa TV, bumubuo ito ng isang senyas na naaayon sa button code (hal. On / Off, Volume Up, atbp.) At ipinapadala ito para sa isang tatanggap (sa kasong ito ang iyong TV). Parehong sumang-ayon ang nagpadala at tatanggap sa isang hanay ng mga code upang malaman ng tatanggap kung ano ang gagawin batay sa bawat code. Ang paraan ng isang code ay dapat na modulate (naka-modelo) bilang isang signal ay tinukoy sa iba't ibang pamantayan at ang bawat tagagawa ng sensor ay karaniwang sumusubok na gumawa ng isang produkto na katugma sa kanila upang maaari itong magamit sa iba't ibang mga aparato. Ang isa sa mga kilalang pamantayang protokol ay mula sa NEC. Maaari kang makahanap ng isang maikling kasaysayan ng mga IR protocol sa Wikipedia sa ilalim ng pamagat ng Consumer IR.

Hakbang 1: Paano Magagawa ang Isang IR Sensor?

Paano Ang hitsura ng isang IR Sensor?
Paano Ang hitsura ng isang IR Sensor?
Paano Ang hitsura ng isang IR Sensor?
Paano Ang hitsura ng isang IR Sensor?
Paano Ang hitsura ng isang IR Sensor?
Paano Ang hitsura ng isang IR Sensor?

Magagamit ang mga IR sensor sa iba't ibang mga package. Dito maaari mong makita ang ilang mga tipikal na packaging para sa isang IR receiver.

Hakbang 2: IR Sensor Breakout Board / module

IR Sensor Breakout Board / module
IR Sensor Breakout Board / module
IR Sensor Breakout Board / module
IR Sensor Breakout Board / module
IR Sensor Breakout Board / module
IR Sensor Breakout Board / module
IR Sensor Breakout Board / module
IR Sensor Breakout Board / module

Maaari mo ring bilhin ang mga ito bilang isang IR module / breakout board sa eBay, Aliexpress o Amazon. Ang mga nasabing module ay karaniwang isinasama ang isa sa mga sensor na nabanggit sa itaas ng isang magandang pakete ng friendly na tinapay kasama ang isang LED na magpapang-flash kapag nakakita ang signal ng isang signal. Sa pamamagitan nito ay mapapansin mo kung may anumang data na inililipat. Masidhi kong iminumungkahi na magsimula sa isa sa mga modyul na ito.

Tandaan: kung mayroon kang isang hilaw na sensor ng IR, walang magbabago, maliban na dapat mong suriin ang datasheet ng sensor upang matiyak na nai-wire mo ito nang tama sapagkat kung hindi ka maaaring magkaroon ng isang magandang asul na usok na may amoy na magtatagal para sa isang oras. Alam mo kung ano ang ibig kong sabihin;)

Hakbang 3: Mga Kinakailangan na Bahagi at Mga Bahagi

Mga Kinakailangan na Bahagi at Bahagi
Mga Kinakailangan na Bahagi at Bahagi

Mahahanap mo rito ang listahan ng mga bahagi na kakailanganin mong makumpleto ang tutorial na ito:

Mga link sa eBay:

  • 1 x Arduino Uno:
  • 1 x IR sensor module na may remote:
  • 4 x 220 ohm resistors:
  • 4 x LED:
  • 8 x Dupont cable:
  • 1 x Solderless breadboard:
  • 1 x Mini breadboard (opsyonal):

Mga link ng Amazon.com:

  • 1 x Arduino Uno:
  • 1 x IR sensor module na may remote:
  • 1 x Solderless breadboard:
  • 4 x 220 ohm resistors:
  • 4 x LED:
  • 8 x Dupont cable:
  • 1 x Mini breadboard (opsyonal):

Hakbang 4: Pagkonekta sa IR Sensor sa Arduino

Pagkonekta sa IR Sensor sa Arduino
Pagkonekta sa IR Sensor sa Arduino
Pagkonekta sa IR Sensor sa Arduino
Pagkonekta sa IR Sensor sa Arduino
Pagkonekta sa IR Sensor sa Arduino
Pagkonekta sa IR Sensor sa Arduino

Ang pagse-set up ng koneksyon ng IR sensor sa Arduino ay napaka-simple. Sa tabi ng VCC at GND pin, ang sensor ay mayroon lamang isang output pin na dapat na konektado sa isa sa mga digital na pin ng Arduino. Sa kasong ito, konektado ito sa pin 13.

Sinubukan kong ipakita ang parehong module ng IR sensor at raw IR sensor setup. Tulad ng makikita sa mga larawan, ang posisyon ng mga pin ng VCC at GND sa module ng sensor ay kabaligtaran ng hilaw na sensor. Gayunpaman maaaring hindi ito ang kaso para sa iyong sensor, kaya't nabanggit sa nakaraang hakbang, sa kaso ng paggamit ng hilaw na sensor, suriin muna ang datasheet.

Hakbang 5: Hanapin ang Code na Katumbas ng bawat Key sa Remote

Hanapin ang Code na Naaayon sa bawat Key sa Remote
Hanapin ang Code na Naaayon sa bawat Key sa Remote
Hanapin ang Code na Naaayon sa bawat Key sa Remote
Hanapin ang Code na Naaayon sa bawat Key sa Remote
Hanapin ang Code na Naaayon sa bawat Key sa Remote
Hanapin ang Code na Naaayon sa bawat Key sa Remote

Upang mai-program ang Arduino upang gumawa ng isang bagay kapag pinindot mo ang isang key sa remote, dapat mo munang magkaroon ng code na naaayon sa key na iyon. Ang key code ay isang numero na karaniwang ipinakita bilang hexadecimal. Ang bawat remote control ay may sariling hanay ng mga key code habang posible na ang dalawang mga tagakontrol ay nagbabahagi ng parehong code para sa iba't ibang mga layunin. Ang pagkakaroon ng iba't ibang mga key code kasama ang paggamit ng iba't ibang mga saklaw ng dalas, tinitiyak na ang dalawang mga remote control ng iba't ibang mga aparato ay hindi makagambala. Iyon ang dahilan kung bakit kapag binago mo ang iyong channel sa TV, ang iyong DVD player ay hindi gumanti.

Upang makita ang mga code para sa iyong IR remote, kailangan mo munang magpatakbo ng isang simpleng sketch na sumusubok na basahin ang code mula sa sensor kapag pinindot mo ang isang key at ipinapadala iyon sa pamamagitan ng serial port sa iyong computer kung saan maaari mong ma-access ito gamit ang mga tool ng Serial Monitor ng Arduino IDE. Ito ang ginagawa ng sketch na nakakabit sa seksyong ito. Mas mahusay na pindutin ang bawat pindutan upang makita ang code at isulat ang listahan ng mga code sa isang lugar upang hindi mo na kailangang patakbuhin muli ang code na ito sa hinaharap. Ang listahan ng mga key code na nakikita mo bilang isang talahanayan sa larawan ay talagang mga code na natanggap ko kapag pinindot ang mga pindutan sa aking murang IR remote.

Maaari mo ring ma-access ang aktwal na source code na ibinahagi sa aking Arduino web editor sa ir-key-code-logger.

Tandaan: Huwag matakot kung nakakita ka ng isang code tulad ng FFFFFF sa isang lugar sa pagitan. Nangangahulugan ito na pinindot mo nang matagal ang isang pindutan nang ilang sandali. Babalik tayo rito. Sa ngayon ay huwag nalang pansinin ang mga ito at ituon ang pansin sa iba pang mga code.

Hakbang 6: Kontrolin ang isang hanay ng mga LED Gamit ang IR Remote

Kontrolin ang isang hanay ng mga LED Gamit ang IR Remote
Kontrolin ang isang hanay ng mga LED Gamit ang IR Remote
Kontrolin ang isang hanay ng mga LED Gamit ang IR Remote
Kontrolin ang isang hanay ng mga LED Gamit ang IR Remote
Kontrolin ang isang hanay ng mga LED Gamit ang IR Remote
Kontrolin ang isang hanay ng mga LED Gamit ang IR Remote

Ngayon na mayroon kaming isang code para sa bawat pindutan, oras na upang ituon ang pansin sa paraang magagamit natin ang mga ito. Karaniwan ginagamit mo ang IR remote upang magpadala ng mga utos sa Arduino upang gumawa ng isang bagay tulad ng pag-on o pag-off ng isang lampara, paglipat ng isang robot sa tiyak na direksyon, pagpapakita ng isang bagay sa isang LCD / OLED screen, atbp Dito sinubukan naming ipakita ang proseso gamit ang isang simpleng circuit na binubuo ng 4 LEDs sa iba't ibang mga kulay. Nais naming i-on o i-off ang bawat isa sa kanila sa pamamagitan ng isang nakalaang pindutan ng IR remote. Tulad ng nakikita mo sa eskematiko, kailangan mong ikonekta ang Arduino sa sumusunod na paraan sa mga LED at sensor:

Arduino GND -> IR sensor GND.

Arduino VCC -> IR sensor VCC.

Arduino 13 -> output ng signal ng IR sensor.

Arduino 2 -> Anode ng asul na LED (mas maikling pin ng asul na LED)

Arduino 3 -> Anode ng berdeng LED (mas maikling pin ng berdeng LED)

Arduino 4 -> Anode ng dilaw na LED (mas maikling pin ng dilaw na LED)

Arduino 5 -> Anode ng pulang LED (mas maikling pin ng pulang LED)

Arduino GND -> Cathode ng lahat ng LEDs sa pamamagitan ng resistor na 220 ohm (mas mahabang pin ng mga LED)

Maaari mong makita ang code na naaayon sa circuit na ito sa naka-attach na file o sa aking Arduino web editor sa ir-led-control.

Hakbang 7: Pag-troubleshoot

Habang ang pagse-set up ng iyong proyekto at pagsunod sa mga hakbang na maaaring nakatagpo ka ng maraming mga kakatwang sitwasyon. Narito ang listahan ng ilang mga karaniwang error na maaari mong makuha kapag nagtatrabaho sa IR sensor.

Pagkuha ng FFFFFF kapag pinindot ang isang susi

Kapag pinindot ang isang pindutan maaari mong mapansin na sa karamihan ng oras ay nag-uulat ito ng isang code tulad ng FFFFFF. Nangyayari ito kapag pinindot mo ang isang pindutan at hawakan ito nang ilang sandali, kahit sa isang maikling panahon. Ang senaryo ay kapag pinindot mo ang pindutan nang una, ang IR remote ay nagpapadala ng code ng pindutan at hangga't hawak mo ang pindutan, inuulit nito ang pagpapadala ng FFFFFF na nangangahulugang pinipindot pa rin ng gumagamit ang pindutan na iniulat kamakailan. OK lang yun. Maaari mo lamang na tanggalin ang mga ito. Ang aktwal na code ay ang nakuha mo mismo bago ang FFFFFF sa Serial Monitor.

Ang IR Sensor ay hindi gaanong reaksyon at tila umiinit

Gupitin ang lakas !!! Kung nakatiyak ka na ang key code logger sketch ay tama, kung gayon ang problema ay maaaring dahil sa maling pag-set up ng iyong mga wire. Ang senaryong nangyari sa akin ay para sa aking IR module (ang naka-attach sa board) na konektado ko ang VCC at GND sa kabaligtaran na paraan (dahil sa hindi paggamit ng tamang mga kulay para sa aking mga wire sa hookup). Sa pamamagitan nito, nasunog ang sangkap ng sensor at naitaas ang isang magandang asul na usok. Bumili ako ng isang pakete ng mga hilaw na sensor ng IR at sinubukang palitan ito at ngayon ay gumagana ito tulad ng isang kagandahan:). Sa kasamaang palad nagawa ko ang parehong pagkakamali kapag ako ay pagsubok sa mga raw IR sensor at sa oras na ito walang nangyari maliban na ang sensor ay naging mainit. Kaya't laging suriin ang circuit bago buksan ang lakas!

Minsan ang sensor ay nakakakita ng isang code na hindi ko pa nakikita

Ito ang isa sa pinakakaraniwang isyu. Malamang na dahil ito sa isa sa mga sumusunod na dahilan:

Hindi mo tinuturo ang iyong IR remote nang direkta patungo sa sensor

Hahantong ito sa pagkakaroon ng ilang mga bagong code (kadalasang mas mahaba ang mga code) na hindi mo pa natatanggap dati at karaniwang hindi tumutugma sa haba ng mga code na mayroon ka na. Kaya tandaan na palaging ituro ang remote patungo sa iyong sensor.

Gumagamit ka ng isang murang IR remote (tulad ng ginamit ko sa tutorial na ito)

Sa halip na gumamit ng isang murang hindi mahuhulaan na mga remote, maaari mong subukan ang parehong sitwasyon gamit ang iyong TV o DVD Player remote control o isang IR remote ng anumang mga aparato na mayroon ka. Karaniwan silang may mahusay na kalidad ng signal / hardware (at syempre mas mahal) at batay sa aking karanasan, normal silang gumagana nang maayos kahit na hindi mo ituro ang iyong remote nang direkta patungo sa sensor.

Paano ko malalaman kung ang isang code na naka-log ay hindi isang basura

Ang mga code ay karaniwang ipinakita sa hexadecimal format. Kung iko-convert mo ang mga ito sa katumbas na halaga ng binary, mapapansin mo na ang representasyong binary ng huling byte ay ang pagwawaksi ng byte bago ito. Kung alam mo ito, magagawa mo itong suriin sa iyong code upang matiyak na ang natanggap mong code ay isang wastong isa o hindi. Bilang isang halimbawa, kung nakuha mo ang FF7A85 ang binary representasyon nito ay magiging tulad ng sa ibaba:

1111 1111 0111 1010 1000 0101

Mula kaliwa hanggang kanan, ang bawat batch ng 4 na digit ay representasyon ng isang character sa orihinal na hexadecimal number. Tulad ng nakikita mo, ang batch na naaayon sa 7 ay 0111 at ang batch na naaayon sa 8 ay 1000 na kung saan ay ang eksaktong pagbawas dito. Sa pamamagitan ng pagwawalang-bahala sinabi ko lahat ng mga 0 ay magiging 1s at lahat ng 1s ay papalitan ng 0. Ang pareho ay totoo para sa susunod na isa na A (1010) at 5 (0101).

Hakbang 8: Ano ang Susunod na Gawin?

Ngayon naman ay ikaw na. Nasa sa iyong imahinasyon lamang ang lahat upang makita kung ano ang maaari mong gawin sa maliit na simpleng sensor na ito sa iyong kamay. Narito ang ilang mga ideya upang magsimula sa:

  • Gamitin ang IR remote control ng isa sa mga aparato na mayroon ka sa bahay (TV, Stereo, atbp.) At subukang gamitin ito sa iyong proyekto ng Arduino
  • Subukang i-on ang lahat ng mga LED nang sabay-sabay sa pamamagitan ng pagpindot sa isang susi at pagkatapos ay i-off ang mga ito gamit ang isa pang susi
  • Gumamit ng Up / Down button ng remote upang i-on / i-off ang mga LED isa-isa hanggang sa i-on / i-off ang lahat ng mga ito
  • Lumikha ng ilaw trapiko gamit ang mga LED at kontrolin ito gamit ang iyong remote
  • Kung mayroon kang isang maliit na DC motor sa kamay, subukang simulan / itigil o baguhin ang direksyon ng pag-ikot sa pamamagitan ng IR remote
  • Maaari mong gamitin ang iyong remote sa TV upang makontrol ang iyong robot o paganahin / huwag paganahin ang ilang mga sensor / actuator dito

Ipaalam sa akin sa mga komento, ano ang gagawin mo (o nagawa mo na) gamit ang IR remote.

Inirerekumendang: