- Paggawa ng Paliwanag:
- Ang pag-decode ng mga IR na Remote Control signal na gamit ang Arduino:
- Paglalarawan ng Circuit:
- Paglalarawan ng Code:
Dati ay saklaw namin ang maraming uri ng mga automation sa Bahay na gumagamit ng iba't ibang mga teknolohiya tulad ng DTMF Batay sa Pag-aautomat ng Bahay, PC Kinokontrol na Home Automation gamit ang Arduino, Bluetooth Controlled Home Automation. Sa proyektong ito, gumagamit kami ng IR batay sa wireless na komunikasyon para sa pagkontrol sa mga gamit sa bahay. Sa proyektong ito, ang Arduino ay ginagamit para sa pagkontrol ng buong proseso. Nagpadala kami ng ilang mga utos sa system ng pagkontrol sa pamamagitan ng paggamit ng IR TV / DVD / MP3 remote para sa pagkontrol sa mga gamit sa bahay ng AC. Matapos makatanggap ng signal mula sa IR remote, ang Arduino ay nagpapadala ng kaugnay na signal sa mga relay na responsable para sa pag-ON o OFF ng mga gamit sa bahay sa pamamagitan ng isang relay driver.
Paggawa ng Paliwanag:
Ang paggawa ng proyektong ito ay madaling maunawaan. Kapag pinindot namin ang anumang pindutan ng IR Remote pagkatapos ang remote ay nagpapadala ng isang code sa anyo ng tren ng mga naka-encode na pulso gamit ang dalas ng modulate ng 38Khz. Ang mga pulso na ito ay natanggap ng sensor ng TSOP1738 at binasa ng Arduino at pagkatapos ang decode ng Arduino ay natanggap ang tren ng pulso sa isang hex na halaga at inihambing ang na-decode na halaga sa paunang natukoy na halaga ng hex ng pinindot na pindutan. Kung may anumang tugma na maganap pagkatapos ay ang Arduino ay magsagawa ng kamag-anak na operasyon at ang kaukulang resulta ay ipinapakita din sa 16x2 LCD sa pamamagitan ng paggamit ng naaangkop na mga utos. Dito sa proyektong ito nagamit namin ang 3 mga bombilya ng iba't ibang kulay, para sa pagpapakita na nagpapahiwatig ng Fan, Light at TV.
Mayroong maraming mga uri ng IR Remote ay magagamit para sa iba't ibang mga aparato ngunit ang karamihan sa kanila ay nagtrabaho sa paligid ng 38KHz Frequency signal. Dito sa proyektong ito kinokontrol namin ang mga gamit sa bahay gamit ang IR TV remote. Para sa pagtuklas ng remote signal ng IR, gumagamit kami ng TSOP1738 IR Receiver. Ang sensor ng TSOP1738 na ito ay maaaring makilala ang signal ng Frequency ng 38Khz. Ang pagtatrabaho ng IR remote at ang TSOP1738 ay maaaring saklaw nang detalyado sa artikulong ito: IR Transmitter at Receiver
Mga Bahagi:
- Arduino UNO
- TSOP1738
- IR TV / DVD Remote
- ULN2003
- Relay 5 volt
- Bombilya sa may hawak
- Mga kumokonekta na mga wire
- Bread board
- 16x2 LCD
- Supply ng kuryente
- Ang PVT
- IC 7805
Dito sa proyektong ito ginamit namin ang pindutan ng 7, 8 at 9 na bilang ng IR remote, para sa pagkontrol sa Fan, Light at TV ayon sa pagkakabanggit at ON / OFF button (Power button) ay ginagamit para sabay-ON at I-OFF ang lahat ng mga appliances.
Dito ginamit namin ang toggle na pamamaraan para sa ON at OFF ang solong appliance sa bahay. Pamamaraan ng pag-toggle ay walang anuman kundi upang makuha iyon kung ang pindutan ay pinindot kahit na hindi ng mga oras o ang hindi karaniwang mga beses. Natagpuan ito sa pamamagitan ng pagkuha ng paalala pagkatapos na hatiin ito ng 2 (i% 2), kung mayroong ilang paalala pagkatapos ay i-ON ang aparato at kung ang paalala ay 0 pagkatapos ay i-OFF ito. Ipagpalagay na ang Key 7 ay pinindot sa remote pagkatapos ang remote ay nagpapadala ng isang senyas sa Arduino sa pamamagitan ng TSOP IR Receiver. Pagkatapos ay i-decode ito ng Arduino at iimbak ang na-decode na halaga sa variable ng mga resulta. Ngayon ang variable ng mga resulta ay may isang hex na halaga na 0x1FE00FF, pagkatapos na maitugma ito sa paunang natukoy na halaga ng hex ng key 7 (tingnan sa itaas ng imahe), Si Arduino ay ON SA Fan. Ngayon kapag pinindot namin muli ang parehong key (key 7) pagkatapos ay nagpapadala ang IR ng parehong code. Ang Arduino ay nakakakuha ng parehong code at naitugma sa parehong code tulad ng dati ngunit sa oras na ito ang Fan ay naka-OFF dahil sa pag-toggle ng kaunti (i% 2).
Ang pag-decode ng mga IR na Remote Control signal na gamit ang Arduino:
Narito ang isang listahan ng isang uri ng DVD NEC na Remote na naka-decode na mga code ng output:
Kung hindi mo alam ang Na-decode na output para sa iyong IR remote, madali itong mahahanap, sundin lamang ang mga hakbang na ito:
- I-download 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.
- Patakbuhin ang program sa ibaba mula sa iyong Arduino at buksan ang window ng Serial Monitor sa Arduino IDE. Pindutin ngayon ang anumang pindutan ng IR Remote at tingnan ang kaukulang naka-decode na hex output sa window ng Serial Monitor.
* IRremote: IRrecvDemo - nagpapakita ng pagtanggap ng mga IR code na may IRrecv * Ang isang IR detector / demodulator ay dapat na konektado sa input na RecV_PIN. * Bersyon 0.1 Hulyo, 2009 * Copyright 2009 Ken Shirriff * http://arcfn.com * / # isama
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.
Paglalarawan ng Circuit:
Ang mga koneksyon ng circuit na ito ay napaka-simple dito ang isang likidong kristal na display ay ginagamit para sa pagpapakita ng katayuan ng mga gamit sa bahay na direktang konektado sa arduino sa 4-bit mode. Ang mga data pin ng LCD katulad ng RS, EN, D4, D5, D6, D7 ay konektado sa arduino digital pin number 6, 7, 8, 9, 10, 11. At ang output pin ng TSOP1738 ay direktang konektado sa digital pin number 14 (A) ng Arduino. At ang Vcc pin ay konektado sa isang 5 volt at GND pin na konektado sa Ground terminal ng circuit. Ang isang driver ng relay lalo na ULN2003 ay ginagamit din para sa pagmamaneho ng mga relay. Ang 5 volt SPDT 3 relay ay ginagamit para sa pagkontrol sa LIGHT, FAN at TV. At ang mga relay ay konektado sa arduino pin number 3, 4 at 5 sa pamamagitan ng relay driver ULN2003 para sa pagkontrol sa LIGHT, FAN at TV ayon sa pagkakabanggit.
Paglalarawan ng Code:
Sa bahagi ng programa ng proyektong ito Una sa lahat sa pag-program ay nagsasama kami ng library para sa IR remote na madaling magagamit sa Google. At tukuyin ang pin at ideklara ang mga variable.
# isama
At pagkatapos ay isama ang isang header para sa likidong kristal na display at pagkatapos ay tinutukoy namin ang data at kontrolin ang mga pin para sa LCD at mga gamit sa bahay.
# isama
Pagkatapos nito kailangan naming simulan ang LCD at bigyan ang direksyon ng pin na ginagamit para sa fan, ilaw at TV.
void setup () {Serial.begin (9600); lcd.begin (16,2); pinMode (Fan, OUTPUT); pinMode (Banayad, OUTPUT); pinMode (TV, OUTPUT);
Tulad ng naipaliwanag na, sa ibaba bahagi ng code ay ginagamit upang ihambing ang natanggap na halaga ng hex sa tinukoy na hex code ng pindutang iyon. Kung tumugma sa gayon ang isang kamag-anak na operasyon ay ginaganap sa pamamagitan ng paggamit ng mga naaangkop na pagpapaandar na ibinibigay sa code.
void loop () {if (irrecv.decode (& results)) {Serial.println (results.value, HEX); pagkaantala (100); lcd.setCursor (0,0); lcd.print ("Fan Light TV"); kung (results.value == 0x1FE00FF) {i ++; int x = i% 2; digitalWrite (Fan, x);