Ako navrhnúť automatizáciu domácnosti hlasom?

Myšlienka Domáca automatizácia vyzdvihuje dôležitosť, pretože pomáha znižovať ľudské námahy a chyby, a tým zvyšuje účinnosť. Využíva kombináciu vylepšenia programovania a programovania, ktoré umožňujú kontrolu nad strojmi a inými elektronickými pomôckami v domácnosti. Pomocou domácej automatizácie môžeme ovládať naše elektrické spotrebiče na diaľku a veľkou výhodou je, že sa vo veľkej miere znižuje spotreba energie. Existuje niekoľko typov domácej automatizácie, ako napríklad Bluetooth, diaľkové a internetové, atď. A každý z nich má svoje výhody a nevýhody. V tomto projekte navrhneme Voice Controlled Home Automation, kde budú rôzne zariadenia ovládané odoslaním hlasového príkazu. Tento systém je veľmi drahý, ak je zakúpený na trhu, ale keď integrujeme všetky tieto spotrebiče Arduino , je ľahké a lacné riadiť všetky domáce elektrické spotrebiče.



Hlasom riadená domáca automatizácia

Ako automatizovať domáce spotrebiče pomocou Arduina?

Pretože máme základnú myšlienku, poďme teraz k zhromaždeniu komponentov, ich zostaveniu, vytvoreniu obvodu a napísaniu kódu na automatizáciu vašich domácich spotrebičov.



Krok 1: Použité komponenty (hardvér)

  • Arduino uno
  • Modul Bluetooth HC-05
  • Tranzistor 2N2222 NPN
  • 12V reléový modul
  • 1k-ohmový rezistor
  • 12V AC na DC adaptér
  • 1N4007 PN prechodová dióda
  • Prepojovacie drôty

Krok 2: Použité komponenty (softvér)

  • Proteus 8 Professional (možno stiahnuť z Tu )

Po stiahnutí Proteus 8 Professional na ňom navrhnite obvod. Zahrnuli sme sem softvérové ​​simulácie, aby pre začiatočníkov mohlo byť výhodné navrhnúť obvod a vykonať príslušné pripojenia na hardvéri.



Krok 3: Štúdium komponentov

Pretože sme vytvorili zoznam komponentov, ktoré budeme používať v našom projekte. Poďme o krok vpred a urobme si krátku štúdiu o tom, ako tieto komponenty fungujú.



  1. Arduino UNO: Arduino UNO je doska mikrokontroléra, ktorá sa skladá z mikročipu ATMega 328P a je vyvinutá spoločnosťou Arduino.cc. Táto doska má sadu digitálnych a analógových dátových pinov, ktoré je možné prepojiť s inými rozširujúcimi doskami alebo obvodmi. Táto doska má 14 digitálnych pinov, 6 analógových pinov a je programovateľná pomocou IDE Arduino (integrované vývojové prostredie) pomocou kábla USB typu B. Na napájanie je potrebných 5V ZAP a a Zákonníka C. prevádzkovať.

    Arduino UNO

  2. Bezdrôtový sériový vysielač Bluetooth HC-05 : V tomto projekte potrebujeme bezdrôtovú komunikáciu, takže použijeme technológiu Bluetooth a pre tento modul, ktorý sa bude používať, je HC-05. Tento modul má niekoľko programovateľných prenosových rýchlostí, ale predvolená prenosová rýchlosť je 9600 b / s. Môže byť nakonfigurovaný ako hlavný alebo podriadený, zatiaľ čo iný modul HC-06 môže pracovať iba v podriadenom režime. Tento modul má štyri piny. Jeden pre VCC (5V) a zvyšné tri pre GND, TX a RX. Predvolené heslo tohto modulu je 1234 alebo 0000 . Ak chceme komunikovať medzi dvoma mikrokontrolérmi alebo komunikovať s akýmkoľvek zariadením s funkciou Bluetooth, napríklad telefónom alebo notebookom, pomôže nám to HC-05. Už je k dispozícii niekoľko aplikácií pre Android, čo tento proces výrazne uľahčuje.

    Modul Bluetooth HC-05

  3. Bluetooth hlasové ovládanie pre Arduino : Túto aplikáciu vyvinula SimpleLabsIN pre hlasové projekty Arduino. Táto aplikácia pre Android bude využívať funkciu rozpoznávania hlasu telefónu a prevádza hlasové príkazy na text a reťazec prenáša cez Bluetooth. Aplikáciu je možné stiahnuť z Tu

    Aplikácia BT Voice Control



  4. 12 V reléový modul: Ak niekto chce prepínať vysokonapäťové záťaže z mikrokontroléra, táto 12V reléová doska to dokáže. Obsahuje 8 x 12V relé dimenzovaných na 10A / 250V AC (DC 30V / 10A). Každý reléový modul je zapnutý / vypnutý opticky izolovaným digitálnym vstupom, ktorý je možné pripojiť priamo k výstupnému kolíku mikrokontroléra. Na zapnutie vstupov je potrebné iba napätie približne 1,0 V, ale zvládne vstupné napätie až do 12 V. Vďaka tomu je ideálny pre zariadenia 5V aj 3,3V. Reléový modul si môžete kúpiť podľa počtu spotrebičov, ktoré chcete ovládať. Napríklad, ak chcete ovládať 4 spotrebiče, mali by ste si kúpiť 4 reléový modul.

    12V reléový modul

Krok 4: Porozumenie návrhu obvodu pomocou schémy zapojenia

Najskôr musíme pripojiť HC-05 k Arduino UNO. Pretože Bluetooth používa protokol UART, musíme použiť piny RX a TX na Arduine. Na definovanie vlastných pinov RX a TX budeme používať knižnicu „SoftwareSerial“ (Pin 2 je RX a Pin 3 je TX). Pin RX modulu Bluetooth a TX pin modulu Arduino budú odpojené. Po druhé, pripojíme relé k Arduinu. Použili sme hotovú reléovú dosku so 4 kanálmi, takže musíme pripojiť vstupy jednotlivých relé k Arduinu. Pripojenie záťaže k reléovému modulu nájdete na nasledujúcej schéme:

Zostavenie obvodu reléového modulu

Na ukážku sú k reléovému modulu pripojené štyri záťaže a pri používaní sieťového napájania s doskou relé buďte mimoriadne opatrní. Len na ukážku sme prešli ZAP alternatívne zaťaženia:

Schéma zapojenia

Krok 5: Pracovný princíp projektu

V tomto projekte sa hlasové príkazy používajú na ovládanie rôznych zariadení. Zostavte hardvér podľa schémy zapojenia uvedenej vyššie. Zostavte všetky komponenty na nepájivej doske. Po vykonaní potrebných pripojení zapnite napájanie obvodu a spárujte Bluetooth telefónu s Bluetooth modulom HC-05. Pred spárovaním nainštalujte do svojho smartphonu aplikáciu uvedenú vyššie.

Teraz pripojte telefón k modulu Bluetooth. Kliknite na možnosť „ Pripojte robota ”A vyberte príslušné zariadenie Bluetooth. Ak zariadenia nie sú spárované skôr, spárujte ich teraz zadaním špendlíka 0000 alebo 1234.

Spárovanie smartphonu

Po úspešnom pripojení sú zariadenia pripravené na prenos dát. Ak chcete prenášať údaje, stlačte ikonu mikrofónu v aplikácii a začnite vydávať hlasové príkazy. Uistite sa, že je vo vašom smartfóne povolená funkcia rozpoznávania hlasu (zvyčajne je to spojené s aplikáciou Google). Napríklad keď stlačíme ikonu mikrofónu a povieme 'Rozsvietiť svetlo', aplikácia príkaz rozpozná a prenesie ho do modulu Bluetooth.

Hlas rozpoznaný

Keď aplikácia rozpozná reťazec, odošle reťazec ako „rozsvieti sa kontrolka #“ a skutočná správa prijatá modulom Bluetooth má tento typ formátu ( „* Správa č.“ ). Dôvodom vyplnenia znakov „*“ a „#“ na začiatku a na konci reťazca je identifikácia začiatku a konca správy. Prijatá správa sa porovná s niektorými preddefinovanými reťazcami a ak sa s nimi správa zhoduje, dôjde k príslušnej akcii ako „zapnutie“ a vypnutie.

V tomto projekte sme použili nasledujúce príkazy: „zapnúť AC“, „vypnúť AC“, „zapnúť svetlo“, „vypnúť svetlo“, „zapnúť TV“, „vypnúť TV“, „zapnúť ventilátor ”,“ Zapnúť všetky ”a“ vypnúť všetky ”.

Krok 6: Začíname s Arduino

Ak predtým Arduino IDE nepoznáte, nebojte sa, pretože nižšie môžete vidieť jasné kroky pri vypaľovaní kódu na doske mikrokontroléra pomocou Arduino IDE. Najnovšiu verziu Arduino IDE si môžete stiahnuť z adresy tu a postupujte podľa krokov uvedených nižšie:

1). Keď je doska Arduino pripojená k vášmu počítaču, otvorte „Ovládací panel“ a kliknite na „Hardvér a zvuk“. Potom kliknite na „Zariadenia a tlačiarne“. Nájdite názov portu, ku ktorému je pripojená vaša doska Arduino. V mojom prípade je to „COM14“, ale na vašom počítači sa to môže líšiť.

Hľadá sa prístav

2). Teraz otvorte Arduino IDE. V ponuke Nástroje nastavte dosku Arduino na Arduino / Genuino UNO.

Nastavovacia doska

3). V rovnakej ponuke Nástroj nastavte číslo portu, ktorý ste videli na ovládacom paneli.

Nastavenie portu

4). Aby sme mohli používať túto hlasom ovládanú aplikáciu, potrebujeme do Arduino IDE špeciálnu knižnicu. Táto knižnica je spolu s kódom pripojená v nasledujúcom odkaze. Ak chcete zahrnúť knižnicu, choďte na Náčrt> Zahrnúť knižnicu> Pridať ZIP. Knižnica .

Zahrnúť knižnicu

5). Stiahnite si priložený kód nižšie a skopírujte ho do svojho IDE. Ak chcete nahrať kód, kliknite na tlačidlo nahrať.

Kód si môžete stiahnuť do kliknutím sem.

Krok 7: Porozumenie kódu

Kódex nie je taký zložitý, niektoré jeho časti sú však stručne popísané nižšie.

1. Na začiatku je zahrnutá knižnica, ktorá umožňuje sériovú komunikáciu na iných digitálnych kolíkoch Arduina pomocou softvéru na replikáciu funkcií. Pre použitie s modulom Bluetooth sú inicializované dva kolíky. Pre domáce spotrebiče pripojené k systému sú inicializované štyri kolíky a je inicializovaná reťazcová premenná na sériové ukladanie údajov prichádzajúcich cez Bluetooth.

#include const int rxPin = 2; // Inicializácia pisns pre bluetooth modul const int txPin = 3; SoftwareSerial mySerial (rxPin, txPin); int ac = 4; // Inicializácia pinov pre domáce spotrebiče int light = 5; int ventilátor = 6; int tv = 7; Údaje reťazca;

2. nastavenie neplatnosti () je funkcia, v ktorej nastavíme inicializované piny na použitie ako VSTUP a VÝSTUP. Tu sa tiež inicializuje prenosová rýchlosť. Prenosová rýchlosť je rýchlosť, ktorou doska Arduino komunikuje s pripojenými komponentmi. V našej funkcii sme nastavili všetky piny pripojené k spotrebičom na NÍZKY.

void setup () {Serial.begin (9600); mySerial.begin (9600); pinMode (striedavý prúd, VÝSTUP); pinMode (svetlo, VÝSTUP); pinMode (ventilátor, VÝSTUP); pinMode (tv, VÝSTUP); digitalWrite (ac, LOW); digitalWrite (light, LOW); digitalWrite (ventilátor, LOW); digitalWrite (tv, LOW); }

3. neplatná slučka () je funkcia, ktorá beží opakovane v slučke. Tu sú nastavené všetky podmienky pre správne fungovanie systému. Nasledujúci While () slučka slúži na odoberanie údajov, ktoré prichádzajú sériovo do mikrokontroléra.

while (1) // Získavanie vstupov sériovo {while (mySerial.available ()<=0); ch = mySerial.read(); if(ch=='#') break; data+=ch; }

Ďalej sú splnené všetky podmienky na zapnutie všetkých pripojených elektrických spotrebičov podľa pokynov používateľa. Tieto podmienky sú dosť jednoduché a vysvetľujú sa samy.

if (data == '* zapni AC') {digitalWrite (ac, HIGH); Serial.println ('ac on'); } else if (data == '* vypni AC') {digitalWrite (ac, LOW); Serial.println ('ac off'); } else if (data == '* zapnut light') {digitalWrite (light, HIGH); Serial.println ('svieti'); } else if (data == '* vypnúť svetlo') {digitalWrite (svetlo, LOW); Serial.println ('svetlo nesvieti'); } else if (data == '* zapnúť ventilátor') {digitalWrite (ventilátor, VYSOKÝ); Serial.println ('ventilátor zapnutý'); } else if (data == '* vypnut fan') {digitalWrite (fan, LOW); Serial.println ('vypnutý ventilátor'); } else if (data == '* zapni TV') {digitalWrite (tv, HIGH); Serial.println ('tv on'); } else if (data == '* zapni TV') {digitalWrite (tv, LOW); Serial.println ('tv off'); } else if (data == '* zapnut vsetky') {digitalWrite (ac, HIGH); digitalWrite (light, HIGH); digitalWrite (ventilátor, VYSOKÝ); digitalWrite (tv, HIGH); Serial.println ('all on'); } else if (data == '* vypnut vsetky') {digitalWrite (ac, LOW); digitalWrite (light, LOW); digitalWrite (ventilátor, LOW); digitalWrite (tv, LOW); Serial.println ('všetko vypnuté'); }}

Aplikácie

  1. Systém domácej automatizácie ovládaný hlasom nám pomôže ovládať rôzne záťaže (elektrické spotrebiče) jednoduchými hlasovými príkazmi.
  2. Ľudia so zdravotným postihnutím môžu mať z tohto projektu veľa výhod, akoby nemohli prechádzať, môžu dať hlasový príkaz a otočiť sa ZAP alebo VYPNUTÉ spotrebič.
  3. Tento projekt je možné rozšíriť aj pridaním rôznych senzorov (svetlo, dym atď.).