- Kinakailangan ang Mga Bahagi:
- Paggawa ng Paliwanag:
- Diagram ng Circuit:
- Ang pag-decode ng mga IR na Remote Control signal na gamit ang Arduino:
- Pagbuo ng Android App para sa IR Blaster:
Sinimulan ko ang proyektong ito upang mapupuksa ang iba't ibang mga remote sa aking bahay at bumuo ng isang solong bagay na maaaring isama ang mga tampok sa kanilang lahat. Nakuha ko ang ideyang ito nang makita ko ang isa sa mobile phone ng aking kaibigan na may built in IR blaster, sa oras na iyon napagpasyahan kong hindi bumili ng isang katulad na telepono sa halip na gumawa ng aking sariling aparato na dapat na magkatugma sa aking mayroon nang handset. Kaya't dito namin i- convert ang isang Android Phone sa isang IR Remote gamit ang Arduino upang makontrol ang iba't ibang mga aparato sa bahay.
Kinakailangan ang Mga Bahagi:
- Arduino Uno
- IR LED
- Tumatanggap ng TSOP-IR (1838T)
- Module ng Bluetooth (HC05)
- Android Device (Telepono, Tablet, atbp.)
Paggawa ng Paliwanag:
Pangkalahatan gumagamit kami ng dalawang mga remote upang mapatakbo ang TV sa bahay, isa para sa telebisyon at isa para sa Set-Top Box kaya narito sa Proyekto na ito na tinatarget ko ang dalawang mga remote na ito at ginagawa ang isang Android Phone na gumagana bilang IR Blaster upang ang TV ay maaaring makontrol sa Telepono, nang hindi hinahawakan ang anuman sa Mga Remote.
Ang paggamit ng isang Arduino Uno board na ginagawang mas madali para sa akin na harapin ang bahagi ng pag-decode at pag-encode ng IR. Ang pasadyang ginawa na kalasag ay nagdaragdag lamang sa bahagi ng kaginhawaan ng proyektong ito. Ang kalasag ay binubuo ng isang TSOP IR receiver (1838T), isang IR LED at isang module ng Bluetooth (HC-05), tingnan ang imahe sa ibaba:
Maaari mong maitayo ang pasadyang kalasag o maaaring direktang ikonekta ang mga bahagi sa Arduino tulad ng ipinakita sa 'Circuit Diagram' sa seksyon sa ibaba.
Bago sumulong, talakayin muna natin ang tungkol sa 'kung paano gumagana ang IR remotes'. Karamihan sa mga IR remote ay nagtatrabaho sa paligid ng 38 KHz frequency (ito ang dahilan kung bakit pinili ko ang 18 38 T). Sa karagdagang pagsasangkot sa paksang ito ay kilalanin ng isa na walang naayos na representasyon para sa mga zero at isa sa mga pamamaraang paghahatid ng data ng IR. Ginagamit ng mga code na ito ang iba't ibang mga diskarte sa pag-encode na pinag-aaralan namin sa aming syllabus sa engineering (dahil ako ay isang mag-aaral sa electronics engineering). Ang kahalagahan ng 38 KHz ay ito ang dalas kung saan ang signal ay uma-oscillate kapag mataas na lohikal ibig sabihin, ito ang dalas ng carrier ng signal. Tingnan ang larawan sa ibaba; ito ay isang halimbawa ng NEC Protocol. Lilinawin nito ang iyong konsepto:
Kaya narito kung paano gumagana ang IR Blaster na ito; isang Android Phone na may pasadyang ginawa Android App ay nagpapadala ng signal sa Arduino circuit sa Bluetooth, karagdagang natatanggap ng Arduino ang signal sa pamamagitan ng TSOP-IR receiver (1838T) at pinag-aaralan ito. Pagkatapos ay inuutusan ng Arduino ang IR LED na magpikit sa isang partikular na pattern, naaayon sa pindutan na pinindot sa Android Device App na iyon. Ang pattern na kumikislap na ito ay nakunan ng TV ng IR o Set-Top box na tatanggap ng IR at sumusunod ito sa tagubilin nang naaayon tulad ng pagbabago ng channel o pagtaas ng dami.
Ngunit bago ito kailangan nating i- decode ang mga umiiral nang mga remote. Tulad ng nabanggit kanina, sa proyektong ito gumawa ako ng dalawang mga remote, isa na nakikipag-usap sa TV habang ang isa pa ay para sa Set-top box na konektado sa TV.
Diagram ng Circuit:
Ang pag-decode ng mga IR na Remote Control signal na gamit ang Arduino:
Ang board ng Arduino dito ay gumagana sa dalawang yugto, ang isa ay kapag ginagamit mo ito upang ma-decode ang mga IR code mula sa remote at isa pa ay kapag ginagamit mo ito bilang IR blaster device.
Pag-usapan natin ang tungkol sa unang yugto. Ngayon upang mai - decode ang mga code ng IR button, nagawa ko ang paggamit ng IRremote header file ni Ken Shirriff . Ang file ng header na ito ay may maraming paunang natukoy na mga halimbawa / code upang mas madali para sa amin na gumana sa mga IR code:
- Kailangan mo munang i-download at mai-install ang IR remote library mula dito
- I-unzip ito, at ilagay ito sa iyong Arduino 'Mga Aklatan' folder. Pagkatapos ay palitan ang pangalan ng nakuha na folder sa IRremote.
- Pagkatapos sunugin ang ibinigay na code sa ibaba sa Arduino, plug-in ang pasadyang kalasag tulad ng ipinakita sa itaas at maglagay ng isang malayuang mai-decode sa harap ng tatanggap ng TSOP IR. Buksan ang serial monitor na naaayon sa Arduino na ito at pindutin ang anumang ninanais na pindutan mula sa remote. Makakakita ka ng ilang impormasyon na ipinapakita sa ibabaw ng terminal, ang impormasyong ito ay nagsasangkot sa uri ng code, ang halaga nito at ang dami ng mga bit na kasangkot dito. Narito kung paano ito mukhang:
# isama
Kapag tapos ka na sa nais na bahagi ng pag-decode, itala ang lahat ng mga halaga ng pag-decode at iba pang impormasyon na pinindot ang kaukulang pangalan ng pindutan. Magsisilbi itong isang database para sa susunod na yugto ng Arduino. Ang program sa itaas ay kinuha mula sa folder na 'halimbawa' ng IRremote library, maaari mong suriin ang higit pang mga halimbawa upang malaman ang tungkol sa paggamit ng IR remote. Kaya't kung paano namin na-decode ang IR remote output.
Ngayon sunugin ang Code, na ibinigay sa seksyon ng Code sa dulo, papunta sa parehong board. Binabati kita, tapos ka na sa unang kalahati ng proyektong ito.
Pagbuo ng Android App para sa IR Blaster:
Narito ang ikalawang kalahati, ang paggawa ng Android App. Mas gusto ko lang ang paggamit ng MIT's APP imbentor-2 para sa paggawa ng ganoong uri ng mga app. Kung ikaw ay isang baguhan sa pag-coding ng Android, makatipid ito ng iyong oras at magbibigay ng magagandang resulta. Ang pangunahing mga sangkap na ginamit sa paggawa ng app na ito ay hindi gaanong, iilan lamang ang mga pindutan at isang pakete ng client ng Bluetooth. Habang ang pag-coding ng app, ibigay ang kaukulang teksto na ipapadala para sa bawat pindutan na pinindot sa screen na hihilingin sa Arduino na blink IR LED sa parehong paraan tulad ng magagawa ng indibidwal na remote; tiyaking din na ibibigay mo ang tamang address ng iyong module na Bluetooth HC-05. Ito ang magiging hitsura ng panghuling App sa iyong Android Smart Phone:
Narito ang hakbang-hakbang na proseso upang mabuo ang app:
HAKBANG 1:
Mag-log on sa link na ito: ai2.appinventor.mit.edu, o subukan at hanapin ang MIT appinventor-2 sa Google. Ang pag-sign in sa AI2 ay nangangailangan ng isang Google account, kaya kung wala ka, lumikha ng isa.
HAKBANG 2:
Sa sandaling mag-log in ka sa iyong Google account, maire-redirect ka sa AI2 na gumaganang webpage, na ganito ang hitsura:
Magsimula ng isang bagong proyekto sa pamamagitan ng pag-click sa tab na "Mga Proyekto" sa itaas at piliin ang "Magsimula ng Bagong Proyekto". Kapag tapos ka na sa bahagi ng pagbibigay ng pangalan at lahat, isang blangkong screen ang ipapakita sa iyo kung saan maaari kang maglagay ng mga pindutan at teksto tulad ng ipinakita sa itaas. Ito ang GUI screen, kung saan magpasya ka kung paano magiging hitsura ang app sa isang gumagamit.
Upang magamit ang isang pakete ng pindutan, piliin ang tab na "Button" sa kaliwang bahagi ng screen sa ilalim ng seksyong "User Interface". I-drag lamang ang anumang pakete mula sa kaliwang menu at i-drop ito sa gumaganang screen. Katulad nito upang maipakita ang anumang bagay na nauugnay sa teksto, gamitin ang "Label" na pakete.
HAKBANG 3:
Matapos ayusin ang lahat ng iyong mga pindutan at label, oras na upang gumawa ng isang code para sa app na ito. Ngunit bago ito kailangan naming pumili ng isang pakete ng Bluetooth pati na rin para sa pakikipag-usap sa Arduino.
Mapapansin mo na ang pakete na ito ay hindi ipinakita sa screen sa halip ito ay nasa ilalim ng "Mga Hindi Makikita na Mga Bahagi". Ito ang mga sangkap na walang kahalagahan sa GUI make-up.
HAKBANG 4:
Susunod ay ang seksyon ng pag-coding, kung saan matutukoy mo ang pagpapaandar para sa mga sangkap na iyong napili at nais mong gumana.
Sa kaliwang bahagi ng screen mapapansin mo ang lahat ng mga package na pinili mo sa seksyong GUI. Ipinapakita ng imahe sa itaas kung ano ang lahat ng mga bahagi doon sa isang partikular na pakete na maaari mong magamit. Pansinin din na ang address ng module ng Bluetooth ay kailangang ibigay sa isang format na tekstuwal.
SETP 5:
Kapag sa tingin mo handa nang magamit ang app at walang mga error din, mag-click sa tab na "Bumuo" tulad ng ipinakita sa itaas at piliin ang pangalawang pagpipilian. I-download nito ang iyong sariling nilikha na app, papunta sa computer, sa format na ".apk". Pagkatapos ay ilipat lamang ang.apk file na ito sa anumang Android device at mag-click dito upang mai-install.
Kaya't ito ay kung paano mo makokontrol ang anumang IR na kontroladong aparato gamit ang iyong Smart phone, kailangan mo lamang i-decode ang remote ng anumang mga kasangkapan na nais mong kontrolin gamit ang iyong Telepono at palitan ang naka-decode na HEX code ng mga remote na pindutan sa Arduino code.