Paano Magdisenyo ng Pag-automate ng Bahay na Pinapagana ng Boses?

Ang ideya ng Pag-aautomat sa Bahay kumukuha ng katanyagan dahil nakakatulong ito sa pagbawas ng pagsusumikap at pagkakamali ng tao at samakatuwid ay lumalawak ang bisa. Gumagamit ito ng isang kombinasyon ng kagamitan at mga pagsulong sa programa na nagbibigay-daan sa kontrol sa mga makina at iba pang mga elektronikong gadget sa loob ng isang bahay. Sa tulong ng Home Automation, makokontrol namin ang aming mga kagamitang de-kuryente mula sa malayo at isang malaking kalamangan ay ang pagkonsumo ng kuryente ay nabawasan nang malaki. Mayroong maraming uri ng Home Automation tulad ng Bluetooth Controlled, Remote Controlled at Internet Controlled atbp at bawat isa sa kanila ay may mga kalamangan at dehado. Sa proyektong ito, magdidisenyo kami ng isang Voice Controlled Home Automation kung saan makokontrol ang iba't ibang mga kagamitan sa pamamagitan ng pagpapadala ng utos ng boses. Napakamahal ng sistemang ito kapag binili mula sa merkado ngunit kapag isinama namin ang lahat ng mga kagamitang ito sa pamamagitan Arduino , naging napakadali at murang gastos upang makontrol ang lahat ng mga gamit sa bahay na de-kuryente.



Kinokontrol ng Boses na Home Automation

Paano Mag-automate ng Mga Kagamitang Pantahanan Gamit ang Arduino?

Dahil mayroon kaming pangunahing ideya, ngayon ay lumipat tayo patungo sa pagtipon ng mga sangkap, pag-iipon ng mga ito upang gumawa ng isang circuit at pagsusulat ng code upang i-automate ang iyong mga gamit sa bahay.



Hakbang 1: Mga Ginamit na Mga Bahagi (Hardware)

  • Arduino uno
  • HC-05 Bluetooth Module
  • 2N2222 NPN Transistor
  • 12V Relay Module
  • 1k-ohm Resistor
  • 12V AC hanggang DC Adapter
  • 1N4007 PN Junction Diode
  • Jumper Wires

Hakbang 2: Mga Ginamit na Mga Bahagi (Software)

  • Proteus 8 Professional (Maaaring ma-download mula sa Dito )

Pagkatapos i-download ang Proteus 8 Professional, idisenyo ang circuit dito. Isinama namin ang mga simulation ng software dito upang maaaring maginhawa para sa mga nagsisimula na idisenyo ang circuit at gumawa ng mga naaangkop na koneksyon sa hardware.



Hakbang 3: Pag-aaral ng Mga Bahagi

Tulad ng ginawa naming isang listahan ng mga bahagi na gagamitin namin sa aming proyekto. Isulong natin ang isang hakbang nang maaga at dumaan sa isang maikling pag-aaral kung paano gumagana ang mga sangkap na ito.



  1. Arduino UNO: Ang Arduino UNO ay isang board ng microcontroller na binubuo ng isang microchip ATMega 328P at binuo ng Arduino.cc. Ang board na ito ay may isang hanay ng mga digital at analog data pin na maaaring ma-interfaced sa iba pang mga board ng pagpapalawak o circuit. Ang board na ito ay may 14 Digital pin, 6 Analog pin, at programmable gamit ang Arduino IDE (Integrated Development Environment) sa pamamagitan ng isang uri ng B USB cable. Nangangailangan ito ng 5V sa lakas ON na at a C Code upang mapatakbo.

    Arduino UNO

  2. HC-05 Wireless Bluetooth Serial Transceiver : Kailangan namin ng wireless na komunikasyon sa proyektong ito, kaya gagamitin namin ang teknolohiyang Bluetooth at para sa modyul na gagamitin ay ang HC-05. Ang module na ito ay may maraming mai-programmable na rate ng baud ngunit ang default na rate ng baud ay 9600 bps. Maaari itong mai-configure bilang alinman sa master o alipin, samantalang ang isa pang module na HC-06 ay maaaring gumana lamang sa mode ng alipin. Ang module na ito ay may apat na mga pin. Isa para sa VCC (5V) at ang natitirang tatlo para sa GND, TX, at RX. Ang default na password ng modyul na ito ay 1234 o 0000 . Kung nais naming makipag-usap sa pagitan ng dalawang mga microcontroller o makipag-usap sa anumang aparato na may pag-andar ng Bluetooth tulad ng isang Telepono o Laptop HC-05 ay tumutulong sa amin na gawin iyon. Maraming mga android application ang magagamit na kung saan ginagawang mas madali ang prosesong ito.

    HC-05 Bluetooth Module

  3. Control ng Boses ng Bluetooth para sa Arduino : Ang app na ito ay binuo ng SimpleLabsIN para sa mga proyektong Arduino na nakabatay sa boses. Gagamitin ng Android Application na ito ang tampok na pagkilala sa boses ng telepono at i-convert ang mga utos ng boses sa teksto at ilipat ang string sa pamamagitan ng Bluetooth. Maaaring ma-download ang application mula sa Dito

    BT Voice Control App



  4. 12 V Relay Module: Kung nais ng sinumang lumipat ng mga naglo-load na mataas na boltahe mula sa isang microcontroller, magagawa ito ng 12V relay board. Naglalaman ito ng 8 x 12V relay na na-rate sa 10A / 250V AC (DC 30V / 10A). Ang bawat module ng relay ay nakabukas / naka-off ng isang opto-integrated digital input na maaaring direktang konektado sa isang output ng output ng microcontroller. Nangangailangan lamang ito ng boltahe na humigit-kumulang na 1.0V upang mapalitan ang mga input ngunit maaaring hawakan ang mga voltages ng pag-input hanggang sa 12V. Ginagawa nitong perpekto para sa parehong 5V at 3.3V na mga aparato. Maaari kang bumili ng relay module alinsunod sa iyong bilang ng mga appliances na nais mong kontrolin. Halimbawa, kung nais mong kontrolin ang 4 na kagamitan dapat kang bumili ng 4 Relay module.

    12V Relay Module

Hakbang 4: Pag-unawa sa Disenyo ng Circuit Sa Diagram ng Circuit

Una, kailangan naming ikonekta ang HC-05 sa Arduino UNO. Dahil ginagamit ng Bluetooth ang UART protocol, kailangan naming gamitin ang mga pin ng RX at TX ng Arduino. Gagamitin namin ang library ng 'SoftwareSerial' upang tukuyin ang aming sariling mga pin ng RX at TX (Ang Pin 2 ay RX at ang Pin 3 ay TX). Ang RX pin ng module ng Bluetooth at ang TX pin ng Arduino ay ididiskonekta. Pangalawa, ikonekta namin ang mga relay sa Arduino. Gumamit kami ng isang handa na relay board na may 4 na mga channel, kaya kailangan naming ikonekta ang mga input ng mga indibidwal na relay sa Arduino. Para sa pagkonekta ng pagkarga sa module ng relay sumangguni sa diagram sa ibaba:

Pagtitipon ng Circuit Module ng Relay

Apat na mga pagkarga ay konektado sa module ng relay para sa pagpapakita at maging labis na maingat habang gumagamit ng AC Mains na may isang relay board. Para lamang sa pagpapakita, lumipat kami ON na ang mga kahaliling pag-load:

Diagram ng Circuit

Hakbang 5: Nagtatrabaho na Prinsipyo Ng Ang Proyekto

Sa proyektong ito, ginagamit ang mga utos ng boses upang makontrol ang iba't ibang mga kasangkapan sa bahay. Ipunin ang hardware alinsunod sa diagram ng circuit na ibinigay sa itaas. Ipunin ang lahat ng mga sangkap sa breadboard. Matapos gawin ang mga kinakailangang koneksyon, buksan ang suplay ng kuryente sa circuit at ipares ang Bluetooth ng telepono sa HC-05 Bluetooth module. Bago ipares ang pag-install ng application na nabanggit sa itaas sa iyong smartphone.

Ngayon, ikonekta ang telepono sa module ng Bluetooth. Mag-click sa opsyong “ Ikonekta ang Robot ”At piliin ang naaangkop na aparatong Bluetooth. Kung ang mga aparato ay hindi ipinares nang mas maaga, ipares ito ngayon sa pamamagitan ng pagpasok ng pin 0000 o 1234.

Pagpapares ng Smartphone

Matapos ang isang matagumpay na koneksyon, ang mga aparato ay handa na upang magpadala ng data. Para sa paglilipat ng data, pindutin ang icon ng mikropono sa app at simulang magbigay ng mga utos ng boses. Tiyaking naka-on ang tampok na pagkilala sa boses sa iyong smartphone (karaniwang ito ay naiugnay sa Google app). Halimbawa, kapag pinindot namin ang icon ng mikropono at sinabi 'Buksan ang ilaw', makikilala ng application ang utos at ilipat ito sa module ng Bluetooth.

Kinikilala ang Boses

Kapag ang string ay kinikilala ng application magpapadala ito ng string bilang 'i-on ang ilaw # 'at ang aktwal na mensahe na natanggap ng Bluetooth Module ay may ganitong uri ng format ( '* Mensahe #' ). Ang dahilan para sa padding ang '*' at '#' sa pulubi at pagtatapos ng string ay upang makilala ang simula at pagtatapos ng mensahe. Ang natanggap na mensahe ay inihambing sa ilang mga paunang natukoy na mga string at kung ang mensahe ay tumutugma sa kanila ang kaukulang aksyon tulad ng 'pag-on' at pag-patay ay nangyayari.

Sa proyektong ito, ginamit namin ang mga sumusunod na utos: 'i-on ang AC', 'i-off ang AC', 'i-on ang ilaw', 'i-off ang ilaw', 'i-on ang TV', 'i-off ang TV', 'i-on ang fan ',' I-on lahat 'at' patayin lahat '.

Hakbang 6: Pagsisimula Sa Arduino

Kung hindi ka pamilyar sa Arduino IDE dati, huwag mag-alala dahil sa ibaba, maaari mong makita ang mga malinaw na hakbang ng nasusunog na code sa board ng microcontroller gamit ang Arduino IDE. Maaari mong i-download ang pinakabagong bersyon ng Arduino IDE mula sa dito at sundin ang mga hakbang na nabanggit sa ibaba:

1). Kapag ang Arduino board ay konektado sa iyong PC, buksan ang 'Control panel' at mag-click sa 'Hardware at Sound'. Pagkatapos mag-click sa 'Mga Device at Printer'. Hanapin ang pangalan ng port kung saan nakakonekta ang iyong Arduino board. Sa aking kaso ito ay 'COM14' ngunit maaaring magkakaiba ito sa iyong PC.

Paghanap ng Port

2). Ngayon buksan ang Arduino IDE. Mula sa Mga Tool, itakda ang Arduino board sa Arduino / Genuino UNO.

Setting Board

3). Mula sa parehong menu ng Tool, itakda ang numero ng port na nakita mo sa control panel.

Setting Port

4). Upang magamit ang app na kinokontrol ng boses na ito, kailangan namin ng isang espesyal na library upang maisama sa Arduino IDE. Ang Library na ito ay naka-attach sa link sa ibaba, kasama ang code. Upang isama ang library pumunta sa Sketch> Isama ang Library> Magdagdag ng ZIP. Library .

Isama ang Library

5). I-download ang code na nakalakip sa ibaba at kopyahin ito sa iyong IDE. Upang mai-upload ang code, mag-click sa upload button.

Maaari mong i-download ang code sa pamamagitan ng pag-click dito

Hakbang 7: Pag-unawa sa code

Ang Code ay hindi masyadong kumplikado ngunit gayon pa man, ang ilan sa mga bahagi nito ay maikling inilarawan sa ibaba.

1. Sa simula, kasama ang isang silid-aklatan upang pahintulutan ang serial na komunikasyon sa iba pang mga digital na pin ng Arduino, gamit ang software na magtiklop sa pagpapaandar. Dalawang Mga Pin ang pinasimulan upang magamit sa Bluetooth module. Ang Apat na Pin ay pinasimulan upang magamit para sa mga gamit sa bahay na konektado sa system at isang variable ng string ay naisasimulan upang maiimbak ang data na dumarating sa pamamagitan ng Bluetooth nang serial.

# isama ang const int rxPin = 2; // Initialize pisns for bluetooth module const int txPin = 3; SoftwareSerial mySerial (rxPin, txPin); int ac = 4; // Initialize Pins for Home Appliances int light = 5; int fan = 6; int tv = 7; String data;

2. walang bisa ang pag-setup () ay isang pagpapaandar kung saan itinakda namin ang mga inisyal na pin upang magamit bilang INPUT at OUTPUT. Nagsimula din ang Baud Rate dito. Ang Baud Rate ay ang bilis ng pakikipag-usap ng Arduino board sa mga kalakip na nakakabit. Sa aming pag-andar, naitakda namin ang lahat ng mga pin na konektado sa mga kagamitan sa MABABA

void setup () {Serial.begin (9600); mySerial.begin (9600); pinMode (ac, OUTPUT); pinMode (ilaw, OUTPUT); pinMode (fan, OUTPUT); pinMode (tv, OUTPUT); digitalWrite (ac, LOW); digitalWrite (light, LOW); digitalWrite (fan, LOW); digitalWrite (tv, LOW); }

3. walang bisa loop () ay isang pagpapaandar na paulit-ulit na tumatakbo sa isang loop. Narito ang lahat ng mga kundisyon ay nakatakda upang gumana nang maayos ang system. Ang mga sumusunod Habang () ginagamit ang loop upang kumuha ng data na darating nang serial sa microcontroller.

habang (1) // Pagkuha ng serally ng pag-input {habang (mySerial.available ()<=0); ch = mySerial.read(); if(ch=='#') break; data+=ch; }

Sa ibaba ng lahat ng mga kundisyon ay nakatakda upang lumipat sa lahat ng mga de-koryenteng kasangkapan na nakakabit, tulad ng utos ng gumagamit. Ang mga kundisyong ito ay medyo simple at nagpapaliwanag sa sarili.

kung (data == '* i-on ang AC') {digitalWrite (ac, HIGH); Serial.println ('ac on'); } iba pa kung (data == '* patayin ang AC') {digitalWrite (ac, LOW); Serial.println ('ac off'); } iba pa kung (data == '* i-on ang ilaw') {digitalWrite (light, HIGH); Serial.println ('ilaw sa ilaw'); } iba pa kung (data == '* patayin ang ilaw') {digitalWrite (light, LOW); Serial.println ('patayin'); } iba pa kung (data == '* i-on ang fan') {digitalWrite (fan, HIGH); Serial.println ('fan on'); } iba pa kung (data == '* patayin ang fan') {digitalWrite (fan, LOW); Serial.println ('fan off'); } iba pa kung (data == '* i-on ang TV') {digitalWrite (tv, HIGH); Serial.println ('tv on'); } iba pa kung (data == '* buksan ang TV') {digitalWrite (tv, LOW); Serial.println ('tv off'); } iba pa kung (data == '* i-on ang lahat') {digitalWrite (ac, HIGH); digitalWrite (ilaw, TAAS); digitalWrite (tagahanga, TAAS); digitalWrite (tv, TAAS); Serial.println ('lahat nasa'); } iba pa kung (data == '* patayin lahat') {digitalWrite (ac, LOW); digitalWrite (light, LOW); digitalWrite (fan, LOW); digitalWrite (tv, LOW); Serial.println ('lahat ng off'); }}

Mga Aplikasyon

  1. Ang system na Home-Automated na Home-Automated na Boses ay makakatulong sa amin na makontrol ang iba't ibang mga pag-load (mga de-koryenteng kasangkapan) na may simpleng mga utos ng boses.
  2. Ang mga taong may kapansanan ay maaaring makakuha ng maraming mga benepisyo mula sa proyektong ito na para bang hindi nila magawang maglakad sa paligid maaari silang magbigay ng isang utos ng boses at lumiko ON na o PATAY ang gamit.
  3. Ang proyektong ito ay maaari ring mapalawak sa pamamagitan ng pagdaragdag ng iba't ibang mga sensor (ilaw, usok, atbp.).