Hogyan tervezzünk hangalapú otthoni automatizálást?

A gondolat Otthoni automatizálás egyre nagyobb hangsúlyt kap, mivel segít csökkenteni az emberi erőfeszítéseket és hibákat, és ezáltal növeli a hatékonyságot. Olyan felszerelések és programozási fejlesztések kombinációját használja, amelyek lehetővé teszik a gépek és más elektronikus eszközök vezérlését az otthonban. A Házi automatizálás segítségével távvezérlhetjük elektromos készülékeinket, és nagy előnye, hogy az energiafogyasztás nagymértékben csökken. Többféle otthoni automatizálás létezik, mint például a Bluetooth, a távirányító és az internet által vezérelt stb., És mindegyiknek megvannak a maga előnyei és hátrányai. Ebben a projektben egy hangvezérelt otthoni automatizálást tervezünk, ahol a hangvezérlés küldésével különböző készülékeket fogunk irányítani. Ez a rendszer nagyon drága, ha a piacról vásároljuk, de amikor ezeket a készülékeket keresztül integráljuk Arduino , nagyon egyszerűvé és olcsóbbá válik az összes otthoni elektromos készülék vezérlése.



Hangvezérelt otthoni automatizálás

Hogyan automatizálhatjuk a háztartási készülékeket az Arduino használatával?

Mivel megvan az alapötletünk, most haladjunk az alkatrészek összegyűjtése, összeszerelése és áramkör létrehozása érdekében, valamint írjuk be a kódot a háztartási gépek automatizálásához.



1. lépés: Használt alkatrészek (hardver)

  • Arduino uno
  • HC-05 Bluetooth modul
  • 2N2222 NPN tranzisztor
  • 12V relé modul
  • 1k ohmos ellenállás
  • 12 V AC - DC adapter
  • 1N4007 PN csatlakozási dióda
  • Jumper huzalok

2. lépés: Használt alkatrészek (szoftver)

  • Proteus 8 Professional (letölthető innen: Itt )

A Proteus 8 Professional letöltése után tervezze meg rajta az áramkört. Ide illesztettünk szoftverszimulációkat, hogy a kezdők számára kényelmes legyen az áramkör megtervezése és a hardver megfelelő csatlakoztatása.



3. lépés: Az alkatrészek tanulmányozása

Amint elkészítettük az alkatrészek listáját, amelyeket a projektünkben használni fogunk. Menjünk egy lépéssel előre, és végezzünk egy rövid tanulmányt ezeknek az alkatrészeknek a működéséről.



  1. Arduino UNO: Az Arduino UNO egy mikrokontroller kártya, amely egy ATMega 328P mikrochipből áll, és az Arduino.cc fejlesztette ki. Ez a kártya digitális és analóg adatcsapokkal rendelkezik, amelyek összekapcsolhatók más bővítőkártyákkal vagy áramkörökkel. Ez a kártya 14 digitális érintkezővel, 6 analóg tűvel rendelkezik, és az Arduino IDE (Integrált fejlesztői környezet) programozható B típusú USB kábelen keresztül. 5 V feszültség szükséges TOVÁBB és a C kód működtet.

    Arduino UNO

  2. HC-05 vezeték nélküli Bluetooth soros adó-vevő : Vezeték nélküli kommunikációra van szükségünk ebben a projektben, ezért a Bluetooth technológiát fogjuk használni, és a használt modul HC-05. Ennek a modulnak több programozható adatátviteli sebessége van, de az alapértelmezett átviteli sebesség 9600 bps. Konfigurálható masterként vagy slave-ként, míg egy másik HC-06 modul csak slave módban működhet. Ennek a modulnak négy csapja van. Az egyik a VCC-hez (5 V), a maradék három a GND, TX és RX-hez. Ennek a modulnak az alapértelmezett jelszava a 1234 vagy 0000 . Ha két mikrokontroller között akarunk kommunikálni, vagy bármilyen Bluetooth funkcióval rendelkező eszközzel, például egy telefon vagy a HC-05 laptop segítünk ebben. Számos androidos alkalmazás már elérhető, ami nagyon megkönnyíti ezt a folyamatot.

    HC-05 Bluetooth modul

  3. Bluetooth hangvezérlés az Arduino számára : Ezt az alkalmazást a SimpleLabsIN fejlesztette ki hangalapú Arduino projektekhez. Ez az Android-alkalmazás a telefon hangfelismerési funkcióját fogja használni, és a hangparancsokat szöveggé alakítja, és Bluetooth-on keresztül továbbítja a karakterláncot. Az alkalmazás letölthető innen: Itt

    BT Voice Control App



  4. 12 V-os relé modul: Ha valaki nagyfeszültségű terheléseket akar átkapcsolni egy mikrovezérlőről, akkor ez a 12 V-os relétábla meg tudja csinálni. 8 x 12 V relét tartalmaz, amelyek 10A / 250V AC (DC 30V / 10A) névleges értéket kapnak. Mindegyik relé modult opto-izolált digitális bemenet kapcsolja be / ki, amely közvetlenül csatlakoztatható a mikrovezérlő kimeneti tűjéhez. Csak kb. 1,0 V feszültség szükséges a bemenetek bekapcsolásához, de képes kezelni a 12 V-os bemeneti feszültségeket is. Ez ideális mind az 5, mind a 3,3 V-os készülékekhez. A relé modult megvásárolhatja az irányítani kívánt készülékek számának megfelelően. Például, ha 4 készüléket akar vezérelni, vásároljon 4 relé modult.

    12V relé modul

4. lépés: Az áramköri tervezés megértése áramköri ábrával

Először is össze kell kapcsolnunk a HC-05-et az Arduino UNO-val. Mivel a Bluetooth az UART protokollt használja, az Arduino RX és TX csapjait kell használnunk. A „SoftwareSerial” könyvtár segítségével fogjuk meghatározni saját RX és TX csapjainkat (a 2. tű RX és a 3. a TX). A Bluetooth modul RX tűje és az Arduino TX tűje megszakad. Másodszor, összekapcsoljuk a reléket az Arduinóval. 4 csatornás, előkészített relétáblát használtunk, ezért az egyes relék bemeneteit össze kell kötnünk az Arduino-val. A terhelés relé modulhoz történő csatlakoztatásához lásd az alábbi ábrát:

A relé modul áramkörének összeszerelése

Négy terhelés van csatlakoztatva a relemodulhoz bemutatás céljából, és legyen különösen körültekintő, amikor a váltóáramú hálózatot relékártyával használja. Csak demonstrációra váltottunk TOVÁBB az alternatív terhelések:

Kördiagramm

5. lépés: A projekt működési elve

Ebben a projektben a hangutasítások különböző készülékek vezérlésére szolgálnak. Szerelje össze a hardvert a fent megadott kapcsolási rajz szerint. Szerelje össze az összes alkatrészt a kenyérlapon. A szükséges csatlakozások elvégzése után kapcsolja be az áramellátást, és párosítsa a telefon Bluetooth-ját a HC-05 Bluetooth modulhoz. Párosítás előtt telepítse a fent említett alkalmazást az okostelefonjára.

Most csatlakoztassa a telefont a Bluetooth modulhoz. Kattintson a „ Csatlakoztassa a robotot ”, És válassza ki a megfelelő Bluetooth-eszközt. Ha az eszközök nincsenek korábban párosítva, akkor a PIN-kód megadásával párosítsa őket most 0000 vagy 1234.

Smartphone párosítás

A sikeres kapcsolat után az eszközök készen állnak az adatok továbbítására. Adatok továbbításához nyomja meg az alkalmazás mikrofon ikonját, és kezdjen el hangutasításokat adni. Győződjön meg arról, hogy az okostelefonon engedélyezve van-e a hangfelismerési funkció (ez általában a Google alkalmazáshoz társul). Például, amikor megnyomjuk a mikrofon ikont és azt mondjuk 'Kapcsolja fel a villanyt', az alkalmazás felismeri a parancsot, és átviszi a Bluetooth modulba.

Hangfelismerés

Amikor az alkalmazás felismeri a karaktersorozatot, a karakterláncot bekapcsolja: „kapcsolja be a # jelzőfényt”, és a Bluetooth modul által kapott tényleges üzenetnek ilyen formátuma van ( '*Üzenet#' ). A „*” és „#” karakterek feltöltésének oka a karakterlánc elején és végén az üzenet kezdetének és végének azonosítása. A kapott üzenetet összehasonlítják néhány előre definiált karakterlánccal, és ha az üzenet megegyezik velük, akkor megtörténik a megfelelő művelet, például a „bekapcsolás” és a kikapcsolás.

Ebben a projektben a következő parancsokat használtuk: „kapcsolja be az AC-t”, „kapcsolja ki az AC-t”, „kapcsolja be a fényt”, „kapcsolja ki a fényt”, „kapcsolja be a TV-t”, „kapcsolja ki a TV-t”, „kapcsolja be a ventilátort” ”,„ Kapcsolja be az összeset ”és„ kapcsolja ki az összeset ”.

6. lépés: Az Arduino használatának megkezdése

Ha még nem ismeri az Arduino IDE-t, ne aggódjon, mert az alábbiakban a kód égetésének világos lépéseit láthatja a mikrokontroller táblán az Arduino IDE használatával. Az Arduino IDE legújabb verzióját innen töltheti le itt és kövesse az alábbi lépéseket:

1). Amikor az Arduino kártya csatlakozik a számítógépéhez, nyissa meg a „Vezérlőpult” elemet, majd kattintson a „Hardver és hang” elemre. Ezután kattintson az „Eszközök és nyomtatók” elemre. Keresse meg annak a portnak a nevét, amelyhez Arduino táblája csatlakozik. Az én esetemben ez a „COM14”, de előfordulhat, hogy más lesz a számítógépén.

Port megtalálása

2). Most nyissa meg az Arduino IDE-t. Az Eszközök közül állítsa az Arduino táblát a következőre: Arduino / Genuino UNO.

Tábla beállítása

3). Ugyanabban az Eszköz menüben állítsa be a portszámot, amelyet a kezelőpanelen látott.

Port beállítása

4). Ennek a hangvezérelt alkalmazásnak a használatához szükségünk van egy speciális könyvtárra, amelyet az Arduino IDE tartalmaz. Ez a könyvtár a kóddal együtt az alábbi linken található. A könyvtár felvételéhez lépjen a következő helyre: Vázlat> Könyvtár hozzáadása> ZIP hozzáadása. Könyvtár .

Könyvtár beillesztése

5.) Töltse le az alább mellékelt kódot, és másolja be az IDE-be. A kód feltöltéséhez kattintson a feltöltés gombra.

A kódot letöltheti ide kattintva.

7. lépés: A kód megértése

A kódex nem annyira összetett, de ennek ellenére egyes részeit az alábbiakban röviden ismertetjük.

1. Első lépésként egy könyvtár tartozik hozzá, amely lehetővé teszi a soros kommunikációt az Arduino többi digitális érintkezőjén, szoftver segítségével a funkcionalitás megismétléséhez. Két érintkező inicializálva lesz, hogy a Bluetooth modullal együtt használható legyen. Négy érintkezőt inicializálunk a rendszerhez csatlakoztatott háztartási készülékekhez, és egy string változót inicializálunk a Bluetooth-on keresztül érkező adatok soros tárolásához.

#include const int rxPin = 2; // Pisna inicializálása a bluetooth modulhoz const int txPin = 3; SoftwareSerial mySerial (rxPin, txPin); int ac = 4; // Háztartási gépek csapjainak inicializálása int light = 5; int ventilátor = 6; int tv = 7; Karakterlánc-adatok;

2. void setup () egy olyan függvény, amelyben beállítottuk az inicializált csapokat INPUT és OUTPUT néven. A Baud Rate itt is inicializálódik. A Baud Rate az a sebesség, amellyel az Arduino tábla kommunikál a csatlakoztatott alkatrészekkel. Funkciónkban a készülékekhez csatlakoztatott összes csapot beállítottuk ALACSONY.

void setup () {Serial.begin (9600); mySerial.begin (9600); pinMode (ac, OUTPUT); pinMode (fény, OUTPUT); pinMode (ventilátor, OUTPUT); pinMode (tv, OUTPUT); digitalWrite (ac, LOW); digitalWrite (könnyű, LOW); digitalWrite (ventilátor, LOW); digitalWrite (tv, LOW); }

3. void loop () egy ciklusban ismételten futó függvény. Itt minden feltétel meg van adva a rendszer megfelelő működéséhez. A következő Míg() hurok segítségével sorozatosan érkező adatok kerülnek a mikrovezérlőbe.

while (1) // A bemenet soros lekérése {while (mySerial.available ()<=0); ch = mySerial.read(); if(ch=='#') break; data+=ch; }

Az összes feltétel be van állítva az összes csatlakoztatott elektromos készülék bekapcsolására, ahogy a felhasználó utasítja. Ezek a feltételek meglehetősen egyszerűek és magától értetődőek.

if (data == '* AC bekapcsolása') {digitalWrite (ac, HIGH); Soros.println ('ac on'); } else if (data == '* kapcsolja ki az AC-t') {digitalWrite (ac, LOW); Soros.println ('ac off'); } else if (data == '* kapcsolja be a fényt') {digitalWrite (light, HIGH); Serial.println ('világít'); } else if (data == '* kapcsolja ki a fényt') {digitalWrite (light, LOW); Serial.println ('kikapcsolt fény'); } else if (data == '* ventilátor bekapcsolása') {digitalWrite (fan, HIGH); Serial.println ('rajongó be'); } else if (data == '* kapcsolja ki a ventilátort') {digitalWrite (fan, LOW); Serial.println ('rajongó kikapcsolva'); } else if (data == '* a TV bekapcsolása') {digitalWrite (tv, HIGH); Serial.println ('tv on'); } else if (data == '* a TV bekapcsolása') {digitalWrite (tv, LOW); Serial.println ('tv kikapcsolva'); } else if (data == '* mindet bekapcsolja') {digitalWrite (ac, HIGH); digitalWrite (könnyű, HIGH); digitalWrite (ventilátor, HIGH); digitalWrite (tv, HIGH); Serial.println ('minden be van kapcsolva'); } else if (data == '* az összes kikapcsolása') {digitalWrite (ac, LOW); digitalWrite (könnyű, LOW); digitalWrite (ventilátor, LOW); digitalWrite (tv, LOW); Serial.println ('minden ki'); }}

Alkalmazások

  1. A hangalapú otthoni automatizálási rendszer egyszerű hangutasításokkal segít a különböző terhelések (elektromos készülékek) vezérlésében.
  2. A fogyatékkal élők sok előnyt élvezhetnek ebből a projektből, mivel ha nem tudnak járni, hangutasítást adhatnak és fordulhatnak TOVÁBB vagy KI a készüléket.
  3. Ez a projekt különféle érzékelők (fény, füst stb.) Hozzáadásával is kibővíthető.