Paano Magdisenyo ng Arduino Batay sa Home Automation System Gamit ang TV Remote?

Ang Home Automation System ay ang pinakamabilis na lumalagong konsepto ng modernong mundo. Ang smart home automation ay isang konsepto kung saan ginagamit ang isang solong aparato upang makontrol ang iba't ibang mga elektronikong parameter ng isang bahay, halimbawa, paglipat ng mga gamit sa bahay, pagsubaybay sa mga alarma sa seguridad, pag-automate ng pinto ng garahe, atbp.



Sistema ng Awtomatiko Gamit ang Isang TV Remote

Sa proyektong ito, gagamit kami ng isang simpleng remote ng TV upang makagawa ng isang simpleng sistema ng pag-automate ng bahay. Kontrolin ng remote ng TV na ito ang lahat ng mga appliances na nakakonekta sa board ng microcontroller.



Paano Gumamit ng Remote sa TV upang Gumawa ng Home Automation System?

Ang mga system ng Home Automation na magagamit na sa merkado, ay napakamahal. Maaari naming gamitin ang isang board ng Arduino upang ikonekta ang iba't ibang mga gamit sa bahay at makontrol ang mga ito gamit ang isang remote sa TV. Ito ay magiging napakababa ng gastos at isang mahusay na paraan upang i-automate ang bahay. Ngayon ay ilipat natin ang isang hakbang nang maaga at simulang mangolekta ng impormasyon upang simulan ang proyekto.



Hakbang 1: Pagkolekta ng Mga Bahagi

Ang pinakamahusay na diskarte upang simulan ang anumang proyekto ay upang gumawa ng isang listahan ng mga bahagi at dumaan sa isang maikling pag-aaral ng mga sangkap na ito dahil walang nais na manatili sa gitna ng isang proyekto dahil lamang sa isang nawawalang sangkap. Ang isang listahan ng mga bahagi na gagamitin namin sa proyektong ito ay ibinibigay sa ibaba:



  • TSOP 1738 IR Tagatanggap
  • Remote Control
  • Breadboard
  • Jumper Wires

Hakbang 2: Pag-aaral ng Mga Bahagi

Ngayon alam natin kung anong mga sangkap ang gagamitin natin, pag-aralan natin ito nang maikli upang mas mahusay na maunawaan kung paano gumagana ang aming circuit.

Ang Arduino Nano ay isang board ng microcontroller na nagsasagawa ng iba't ibang mga operasyon sa iba't ibang mga circuit. Nangangailangan ito ng a C Code na nagsasabi sa board kung ano ang mga gawain na dapat gampanan at kung paano. Mayroon itong 13 digital I / O pin na nangangahulugang maaari naming patakbuhin ang 13 magkakaibang mga aparato. Kung nais mong kontrolin ang higit sa 13 mga aparato, gamitin ang Arduino Mega.

Arduino Nano



Ang TSOP 1738 ay isang IR module para sa Mga Remote Control. Mayroon itong dalas ng carrier ng 38kHz. Binubuo ito ng isang photodetector na nakakita ng signal at pagkatapos ay na-demodulate ito. Ang output nito ay direktang ginagamit ng Arduino o anumang iba pang board ng microcontroller.

TSOP Sensor

Ang isang module ng relay ay isang switching device. Gumagana ito sa dalawang mga mode, Karaniwan Bukas (HINDI) at Normal lang Sarado (NC) . Sa WALANG mode, ang circuit ay palaging nasira maliban kung magpadala ka ng isang mataas na signal sa relay sa pamamagitan ng Arduino. Ang NC mode ay lumala sa kabaligtaran, Ang circuit ay laging kumpleto maliban kung lumipat ka sa module ng relay. Tiyaking ikinonekta mo ang positibong kawad ng iyong Electrical Appliance sa module ng relay sa paraang ipinakita sa ibaba.

Relay Module

Ang isang pamantayan ng remote control ng TV ay may isang pindutan ng kuryente at lahat ng mga de-numerong key dito. Ang mga numerong key na ito ay gagamitin para sa paglipat ng mga de-koryenteng kasangkapan.

Hakbang 3: Paggawa ng Circuit

Ngayon alam natin kung paano gumagana ang lahat ng mga sangkap, magpatuloy tayo at simulan ang paggawa ng circuit.

  1. Kumuha ng isang breadboard at ipasok ang iyong Arduino Nano at TSOP 1738 dito.
  2. Palakasin ang module na TSOP 1738 at ang module ng relay sa pamamagitan ng Arduino. Ikonekta ang PALABAS pin ng TSOP1738 sa pin11 ng Arduino at ikonekta din ang SA mga pin ng module ng relay kay Arduino. Dalawang kuryenteng kagamitan lang ang kinokontrol ko kaya gumagamit lang ako ng mga relay module dito. Kung nais mong kontrolin ang higit pang mga appliances, katulad na magkonekta ng higit pang mga module ng relay.

    Diagram ng Circuit

Hakbang 4: Pagsisimula sa Arduino

Kung hindi ka pa nagtrabaho sa Arduino IDE dati, huwag mag-alala dahil ang isang hakbang-hakbang na pag-set up ng Arduino IDE ay ipinapakita sa ibaba.

  1. Ikonekta ang iyong Arduino board sa PC at buksan ang Control Panel. Mag-click sa Hardware at Sound. Bukas na Mga Device at Printer at hanapin ang port kung saan nakakonekta ang iyong board. Sa aking kaso ito ay COM14 ngunit iba ito sa iba`t ibang mga computer.

    Paghanap ng Port

  2. Mag-click sa menu ng Tool at itakda ang board bilang Arduino Nano (AT Mega 328P) .

    Setting Board

  3. Mag-click muli sa menu ng Tool at itakda ang port na napansin mo sa control panel dati.

    Setting Port

  4. Sa parehong menu ng Tool, itakda ang Processor bilang ATmega328p (Old Bootloader) .

    Ang setting ng Processor

  5. Upang ma-decode ang data na ipinadala ng Remote control, kailangan namin ng isang espesyal na library para sa Isang code Arduino. Ang library na ito ay naka-attach kasama ang code sa link sa ibaba. Upang idagdag ang library ng goto Sketch> Isama ang Library> Magdagdag ng ZIP Library . May lalabas na isang kahon. Hanapin ang ZIP folder sa iyong computer at i-click ang OK upang isama ang folder.

    Isama ang Library

  6. I-download ang code na nakalakip sa ibaba at mag-click sa pindutan ng pag-upload upang sunugin ang code sa iyong Arduino Nano board.

    I-upload

Mag-click sa mag-download pindutan upang makuha ang code.

Hakbang 5: Code

Napakadaling maunawaan ang code ngunit gayon pa man, maikling inilalarawan sa ibaba.

1. walang bisa ang pag-setup () ay isang pagpapaandar kung saan pinasimulan namin ang mga INPUT o OUTPUT na pin. Itinatakda din ng pagpapaandar na ito ang rate ng baud sa pamamagitan ng paggamit Serial.begin () utos Ang Baud Rate ay ang bilis ng komunikasyon ng microcontroller.

2. walang bisa loop () ay isang pagpapaandar na paulit-ulit na tumatakbo sa isang loop. Sa loop na ito, nagsusulat kami ng isang code na nagsasabi sa board ng microcontroller kung anong mga gawain ang isasagawa at kung paano.

3. Kapag nagpapadala kami ng data mula sa remote ng TV, kailangang i-decode ng Arduino ang data na ito. Para dito, nagsama kami ng isang espesyal na silid-aklatan #isama <IRremote.h>. Ang isang pagpapaandar sa aklatan na ito ay gagamitin upang ma-decode ang data ng bawat key, na ipinadala mula sa remote.

# isama ang int RECV_PIN = 11; IRrecv irrecv (RECV_PIN); mga resulta sa pag-decode_resulta; void setup () {Serial.begin (9600); irrecv.enableIRIn (); } void loop () {if (irrecv.decode (& results)) {Serial.println (results.value, HEX); irrecv.resume (); } pagkaantala (100); }

Ang code sa itaas ay binabasa ang mga halagang ipinadala mula sa remote at na-decode ito sa kaukulang halaga na HEX. Ang code na ito ay kinuha mula sa mga halimbawa ng IRremote library sa Arduino IDE. Ang code na ito ay naka-attach din sa link ng pag-download ng pangalan pagsubok.ino na ibinigay sa itaas. Ang output ng pagpapaandar na ito, kapag ang lahat ng mga numerong key ay pinindot, ay magiging:

Mag-decode

4. Sa code.ino naka-attach sa link sa itaas na pag-download, ang mga pin ng Arduino na gagamitin ay naisasimulan. Nasa walang bisa loop () pag-andar, kapag ang isang pindutan sa remote ay pinindot, ang una Mali ang kondisyon ay nabaling sa Totoo at ang kani-kanilang relay ay nakabukas. Kung ang parehong pindutan ay pinindot muli, I-toggle nito ang kundisyon ng boolean at isara ang relay. Bubuksan o patayin ng power button ang lahat ng mga Relay.

void loop () {if (irrecv.decode (& results)) {Serial.println (results.value, HEX); pagkaantala (100); kung (results.value == 0x40BD00FF) {i =! i; digitalWrite (IN1, i); } kung (mga resulta.value == 0x40BD807F) {j =! j; digitalWrite (IN2, j); // pagkaantala (200); } kung (mga resulta.value == 0x40BD28D7) {m =! m; digitalWrite (IN1, m); digitalWrite (IN2, m); digitalWrite (IN3, m); digitalWrite (IN4, m); // pagkaantala (200); } irrecv.resume (); // Natanggap ang susunod na halaga // pagkaantala (100); }}

Ito ang buong pamamaraan upang makagawa ng isang simpleng Home Automation System na kinokontrol ng isang remote control sa TV. Ngayon, maaari mong ikonekta ang mga relay module ayon sa bilang ng iyong mga gamit sa bahay at masiyahan sa iyong sariling Smart Home Automation System.