Kā izveidot balss aktivizētu mājas automatizāciju?

Ideja par Mājas automatizācija palielina atpazīstamību, jo tas palīdz mazināt cilvēku piepūli un kļūdas un tādējādi paplašināt efektivitāti. Tas izmanto aprīkojuma un programmēšanas uzlabojumu kombināciju, kas ļauj kontrolēt mašīnas un citus elektroniskos sīkrīkus mājas iekšienē. Ar Mājas automatizācijas palīdzību mēs varam attālināti vadīt savas elektroierīces, un liela priekšrocība ir tā, ka enerģijas patēriņš tiek ievērojami samazināts. Ir vairāki mājas automatizācijas veidi, piemēram, Bluetooth kontrolēta, tālvadības un interneta kontrolēta utt., Un katram no tiem ir savas priekšrocības un trūkumi. Šajā projektā mēs izstrādāsim Balss kontrolētu mājas automatizāciju, kurā dažādas ierīces tiks kontrolētas, nosūtot balss komandu. Šī sistēma ir ļoti dārga, ja to pērk no tirgus, bet kad mēs visas šīs ierīces integrējam Arduino , kļūst ļoti viegli un lēti kontrolēt visas mājas elektroierīces.



Balss kontrolēta mājas automatizācija

Kā automatizēt sadzīves tehniku, izmantojot Arduino?

Tā kā mums ir pamatideja, tagad virzīsimies uz komponentu apkopošanu, montāžu, lai izveidotu ķēdi, un uzrakstot kodu, lai automatizētu jūsu sadzīves tehniku.



1. darbība: izmantotie komponenti (aparatūra)

  • Arduino uno
  • HC-05 Bluetooth modulis
  • 2N2222 NPN tranzistors
  • 12V releja modulis
  • 1k omu rezistors
  • 12 V maiņstrāvas līdzstrāvas adapteris
  • 1N4007 PN savienojuma diode
  • Džemperu vadi

2. darbība: izmantotie komponenti (programmatūra)

  • Proteus 8 Professional (var lejupielādēt no Šeit )

Pēc Proteus 8 Professional lejupielādes izveidojiet tajā shēmu. Mēs šeit esam iekļāvuši programmatūras simulācijas, lai iesācējiem varētu būt ērti izstrādāt ķēdi un izveidot atbilstošus savienojumus aparatūrā.



3. solis: Komponentu izpēte

Tā kā mēs esam izveidojuši sastāvdaļu sarakstu, ko mēs izmantosim savā projektā. Pāriesim soli uz priekšu un veiksim īsu pētījumu par šo komponentu darbību.



  1. Arduino UNO: Arduino UNO ir mikrokontrolleru plate, kas sastāv no mikroshēmas ATMega 328P, un to ir izstrādājis Arduino.cc. Šajā dēlī ir ciparu un analogo datu tapu komplekts, ko var sasaistīt ar citiem paplašināšanas dēļiem vai ķēdēm. Šajā dēlī ir 14 digitālās tapas, 6 analogās tapas un to var programmēt ar Arduino IDE (integrētā izstrādes vide), izmantojot B tipa USB kabeli. Tas prasa 5 V strāvu ON un a C kods darboties.

    Arduino UNO

  2. HC-05 bezvadu Bluetooth seriālais uztvērējs : Šajā projektā mums nepieciešama bezvadu komunikācija, tāpēc mēs izmantosim Bluetooth tehnoloģiju, un šim modulim, kas tiks izmantots, ir HC-05. Šim modulim ir vairāki programmējami datu pārraides ātrumi, bet noklusējuma datu pārraides ātrums ir 9600 bps. To var konfigurēt kā galveno vai vergu, savukārt cits modulis HC-06 var darboties tikai vergu režīmā. Šim modulim ir četras tapas. Viens VCC (5V) un pārējie trīs GND, TX un RX. Šī moduļa noklusējuma parole ir 1234 vai 0000 . Ja mēs vēlamies sazināties starp diviem mikrokontrolleriem vai sazināties ar jebkuru ierīci ar Bluetooth funkcionalitāti, piemēram, tālruni vai klēpjdatoru HC-05, tas mums palīdz to izdarīt. Jau tagad ir pieejamas vairākas android lietojumprogrammas, kas šo procesu padara daudz vieglāku.

    HC-05 Bluetooth modulis

  3. Arduino Bluetooth balss vadība : Šo lietotni ir izstrādājis SimpleLabsIN balss Arduino projektiem. Šī Android lietojumprogramma izmantos tālruņa balss atpazīšanas funkciju un pārveidos balss komandas par tekstu un pārsūtīs virkni, izmantojot Bluetooth. Lietojumprogrammu var lejupielādēt no Šeit

    BT balss vadības lietotne



  4. 12 V releja modulis: Ja kāds vēlas pārslēgt augstsprieguma slodzes no mikrokontrollera, šī 12 V releja plate to var izdarīt. Tas satur 8 x 12V relejus, kuru nominālā vērtība ir 10A / 250V AC (DC 30V / 10A). Katru releja moduli ieslēdz / izslēdz optoizolēta digitālā ieeja, kuru var tieši savienot ar mikrokontrollera izejas kontaktu. Lai ieslēgtu ieejas, ir nepieciešams tikai aptuveni 1,0 V spriegums, bet tas var tikt galā ar ieejas spriegumu līdz 12 V. Tas padara to ideāli piemērotu gan 5V, gan 3.3V ierīcēm. Releja moduli var iegādāties atbilstoši savam kontrolējamo ierīču skaitam. Piemēram, ja vēlaties kontrolēt 4 ierīces, jums jāpērk 4 releju modulis.

    12V releja modulis

4. solis: ķēdes dizaina izpratne ar shēmas diagrammu

Pirmkārt, mums ir jāpieslēdz HC-05 ar Arduino UNO. Tā kā Bluetooth izmanto UART protokolu, mums jāizmanto Arduino RX un TX tapas. Mēs izmantosim bibliotēku “SoftwareSerial”, lai definētu savus RX un TX tapas (2. tapa ir RX un 3. tapa ir TX). Tiks atvienoti Bluetooth moduļa RX tapa un Arduino TX tapa. Otrkārt, mēs savienosim relejus ar Arduino. Mēs izmantojām gatavu releju paneli ar 4 kanāliem, tāpēc mums ir jāpievieno atsevišķu releju ieejas Arduino. Lai pievienotu slodzi releja modulim, skatiet šo diagrammu:

Releja moduļa ķēdes montāža

Releja modulim demonstrēšanai ir pievienotas četras slodzes, un esiet īpaši piesardzīgs, izmantojot maiņstrāvas tīklu ar releja paneli. Tikai demonstrācijai mēs esam pārslēgušies ON alternatīvās slodzes:

Ķēdes shēma

5. solis: Projekta darbības princips

Šajā projektā balss komandas tiek izmantotas dažādu ierīču vadīšanai. Salieciet aparatūru atbilstoši iepriekš dotajai shēmai. Salieciet visus komponentus uz maizes dēļa. Pēc nepieciešamo savienojumu veikšanas ieslēdziet strāvas padevi ķēdei un savienojiet pārī tālruņa Bluetooth ar Bluetooth moduli HC-05. Pirms savienošanas pārī instalējiet iepriekš minēto lietojumprogrammu viedtālrunī.

Tagad savienojiet tālruni ar Bluetooth moduli. Noklikšķiniet uz opcijas “ Pievienojiet robotu ”Un atlasiet atbilstošo Bluetooth ierīci. Ja ierīces nav savienotas pārī agrāk, savienojiet tās tagad, ievadot tapu 0000 vai 1234.

Savienošana pārī ar viedtālruni

Pēc veiksmīga savienojuma ierīces ir gatavas datu pārsūtīšanai. Lai pārsūtītu datus, nospiediet mikrofona ikonu lietotnē un sāciet dot balss komandas. Pārliecinieties, vai viedtālrunī ir iespējota balss atpazīšanas funkcija (tas parasti ir saistīts ar Google lietotni). Piemēram, kad mēs nospiežam mikrofona ikonu un sakām 'Ieslēdz gaismu', lietojumprogramma atpazīs komandu un pārsūtīs to uz Bluetooth moduli.

Balss atpazīta

Kad lietojumprogramma atpazīs virkni, tā nosūtīs virkni kā “ieslēgt gaismu #”, un faktiskajam Bluetooth moduļa saņemtajam ziņojumam ir šāda veida formāts ( “* Ziņojuma Nr.” ). “*” Un “#” aizpildīšanas iemesls virknes sākumā un beigās ir identificēt ziņojuma sākumu un beigas. Saņemtais ziņojums tiek salīdzināts ar dažām iepriekš definētām virknēm, un, ja ziņojums ar tām sakrīt, notiek attiecīgā darbība, piemēram, “ieslēgšana” un izslēgšana.

Šajā projektā mēs izmantojām šādas komandas: “ieslēgt maiņstrāvu”, “izslēgt maiņstrāvu”, “ieslēgt gaismu”, “izslēgt gaismu”, “ieslēgt televizoru”, “izslēgt televizoru”, “ieslēgt ventilatoru” ”,“ Ieslēgt visus ”un“ izslēgt visus ”.

6. darbība: darba sākšana ar Arduino

Ja iepriekš neesat pazīstams ar Arduino IDE, neuztraucieties, jo zemāk jūs varat redzēt skaidrus koda ierakstīšanas soļus mikrokontrolleru dēlī, izmantojot Arduino IDE. Arduino IDE jaunāko versiju varat lejupielādēt vietnē šeit un veiciet tālāk minētās darbības:

1). Kad Arduino dēlis ir savienots ar datoru, atveriet “Control panel” un noklikšķiniet uz “Hardware and Sound”. Pēc tam noklikšķiniet uz “Ierīces un printeri”. Atrodiet tās ostas nosaukumu, kurai ir pievienota jūsu Arduino dēlis. Manā gadījumā tas ir “COM14”, bet datorā tas var atšķirties.

Ostas atrašana

2). Tagad atveriet Arduino IDE. No Rīki iestatiet Arduino dēli uz Arduino / Genuino UNO.

Dēļu iestatīšana

3). Tajā pašā izvēlnē Rīks iestatiet porta numuru, kuru redzējāt vadības panelī.

Portas iestatīšana

4). Lai izmantotu šo balss kontrolēto lietotni, mums ir nepieciešama īpaša bibliotēka, kas jāiekļauj Arduino IDE. Šī bibliotēka ir pievienota zemāk esošajā saitē kopā ar kodu. Lai iekļautu bibliotēku, dodieties uz Skice> Iekļaut bibliotēku> Pievienot ZIP. Bibliotēka .

Iekļaut bibliotēku

5). Lejupielādējiet zemāk pievienoto kodu un nokopējiet to savā IDE. Lai augšupielādētu kodu, noklikšķiniet uz augšupielādes pogas.

Kodu var lejupielādēt līdz noklikšķinot šeit.

7. darbība: koda izpratne

Kodekss nav tik sarežģīts, tomēr dažas tā daļas ir īsumā aprakstītas turpmāk.

1. Sākumā ir iekļauta bibliotēka, kas ļauj sērijveidā sazināties ar citām Arduino digitālajām tapām, izmantojot programmatūru, lai atkārtotu funkcionalitāti. Tiek inicializētas divas tapas, lai tās izmantotu ar Bluetooth moduli. Četri tapas tiek inicializētas, lai izmantotu sadzīves tehniku, kas pievienota sistēmai, un virknes mainīgais tiek inicializēts, lai sērijveidā saglabātu datus, kas nāk caur Bluetooth.

#include const int rxPin = 2; // Inicializēt pisns par bluetooth moduli const int txPin = 3; SoftwareSerial mySerial (rxPin, txPin); int ac = 4; // Inicializējiet sadzīves tehnikas tapas int light = 5; int ventilators = 6; int tv = 7; Stīgu dati;

2. anulēt iestatīšanu () ir funkcija, kurā mēs iestatījām inicializētās tapas, kas jāizmanto kā INPUT un OUTPUT. Šeit tiek inicializēts arī Baud Rate. Baud Rate ir ātrums, ar kādu Arduino dēlis sazinās ar pievienotajiem komponentiem. Mūsu funkcijā mēs esam iestatījuši visas tapas, kas savienotas ar ierīcēm ZEMS.

void setup () {Sērijas.sākt (9600); mySerial.begin (9600); pinMode (maiņstrāva, OUTPUT); pinMode (gaisma, OUTPUT); pinMode (ventilators, OUTPUT); pinMode (tv, OUTPUT); digitalWrite (maiņstrāva, LOW); digitalWrite (gaišs, LOW); digitalWrite (ventilators, LOW); digitalWrite (tv, LOW); }

3. void loop () ir funkcija, kas atkārtoti darbojas ciklā. Šeit tiek izvirzīti visi nosacījumi, lai sistēma darbotos pareizi. Sekojošais Kamēr () cilpa tiek izmantota, lai ņemtu datus, kas sērijveidā nonāk mikrokontrollerī.

while (1) // Ieejas iegūšana sērijveidā {while (mySerial.available ()<=0); ch = mySerial.read(); if(ch=='#') break; data+=ch; }

Zem visiem nosacījumiem ir iestatīts visu ieslēgto elektrisko ierīču ieslēgšana, kā lietotājs pavēl. Šie nosacījumi ir diezgan vienkārši un pašsaprotami.

if (dati == '* ieslēdziet maiņstrāvu') {digitalWrite (ac, HIGH); Serial.println ('ac on'); } else if (dati == '* izslēgt maiņstrāvu') {digitalWrite (ac, LOW); Serial.println ('ac off'); } else if (dati == '* ieslēdziet gaismu') {digitalWrite (gaisma, AUGSTUMS); Serial.println ('iedegas gaisma'); } else if (dati == '* izslēgt gaismu') {digitalWrite (gaisma, LOW); Serial.println ('gaisma izslēgta'); } else if (dati == '* ieslēdz ventilatoru') {digitalWrite (ventilators, AUGSTS); Serial.println ('ventilators ieslēgts'); } else if (dati == '* izslēgt ventilatoru') {digitalWrite (ventilators, LOW); Serial.println ('ventilators izslēgts'); } else if (data == '* ieslēdz TV') {digitalWrite (tv, HIGH); Serial.println ('TV ieslēgts'); } else if (dati == '* ieslēdz TV') {digitalWrite (tv, LOW); Serial.println ('televizors izslēgts'); } else if (dati == '* ieslēgt visus') {digitalWrite (ac, HIGH); digitalWrite (gaisma, AUGSTUMS); digitalWrite (ventilators, AUGSTS); digitalWrite (tv, HIGH); Serial.println ('viss ieslēgts'); } else if (dati == '* izslēgt visus') {digitalWrite (ac, LOW); digitalWrite (gaišs, LOW); digitalWrite (ventilators, LOW); digitalWrite (tv, LOW); Serial.println ('viss izslēgts'); }}

Pieteikumi

  1. Balss aktivizētā mājas automatizācijas sistēma palīdzēs mums kontrolēt dažādas slodzes (elektroierīces), izmantojot vienkāršas balss komandas.
  2. Cilvēki ar invaliditāti var gūt daudz priekšrocību no šī projekta, it kā viņi nevarētu staigāt apkārt, viņi varētu dot balss komandu un pagriezties ON vai IZSLĒGTS ierīci.
  3. Šo projektu var arī paplašināt, pievienojot dažādus sensorus (gaisma, dūmi utt.).