Cum se proiectează automatizarea acasă activată prin voce?

Ideea de Domotică capătă importanță, deoarece ajută la diminuarea efortului uman și a greșelilor și, prin urmare, la extinderea eficacității. Utilizează o combinație de echipamente și progrese de programe care permit controlul asupra mașinilor și altor dispozitive electronice din interiorul unei case. Cu ajutorul Home Automation, ne putem controla aparatele electrice de la distanță și un mare avantaj este că consumul de energie este redus într-o mare măsură. Există mai multe tipuri de automatizare la domiciliu, cum ar fi controlat prin Bluetooth, controlat de la distanță și controlat prin internet, etc. și fiecare dintre ele are avantajele și dezavantajele lor. În acest proiect, vom proiecta un sistem de automatizare casnică controlat prin voce în care diferite aparate vor fi controlate prin trimiterea comenzii vocale. Acest sistem este foarte scump atunci când este cumpărat de pe piață, dar când integrăm toate aceste aparate Arduino , devine foarte ușor și ieftin să controlați toate aparatele electrocasnice.



Domotică controlată prin voce

Cum se automatizează aparatele electrocasnice folosind Arduino?

Deoarece avem ideea de bază, să trecem acum la strângerea componentelor, asamblarea acestora pentru a realiza un circuit și scrierea codului pentru automatizarea aparatelor dvs. de uz casnic.



Pasul 1: Componente utilizate (Hardware)

  • Arduino uno
  • Modul Bluetooth HC-05
  • 2N2222 NPN tranzistor
  • Modul releu 12V
  • Rezistor 1k-ohm
  • Adaptor de 12V AC la DC
  • 1N4007 PN Diodă de joncțiune
  • Sârme jumper

Pasul 2: Componente utilizate (software)

  • Proteus 8 Professional (poate fi descărcat de pe Aici )

După descărcarea Proteus 8 Professional, proiectați circuitul de pe acesta. Am inclus aici simulări software, astfel încât să fie convenabil pentru începători să proiecteze circuitul și să facă conexiuni adecvate pe hardware.



Pasul 3: Studierea componentelor

Pe măsură ce am făcut o listă de componente pe care le vom folosi în proiectul nostru. Să facem un pas înainte și să parcurgem un scurt studiu al modului în care funcționează aceste componente.



  1. Arduino UNO: Arduino UNO este o placă de microcontroler care cuprinde un microcip ATMega 328P și este dezvoltat de Arduino.cc. Această placă are un set de pini de date digitale și analogice care pot fi interfațate cu alte plăci sau circuite de expansiune. Această placă are 14 pini digitali, 6 pini analogici și poate fi programată cu Arduino IDE (mediu de dezvoltare integrat) printr-un cablu USB de tip B. Este nevoie de 5V pentru alimentare PE și a Codul C să funcționeze.

    Arduino UNO

  2. Transmițător serial Bluetooth fără fir HC-05 : Avem nevoie de comunicații fără fir în acest proiect, așa că vom folosi tehnologia Bluetooth și pentru acel modul care va fi utilizat este HC-05. Acest modul are mai multe rate de transfer programabile, dar rata de transmisie implicită este de 9600 bps. Poate fi configurat fie ca master, fie ca slave, în timp ce un alt modul HC-06 poate funcționa numai în modul slave. Acest modul are patru pini. Una pentru VCC (5V) și restul pentru GND, TX și RX. Parola implicită a acestui modul este 1234 sau 0000 . Dacă vrem să comunicăm între două microcontrolere sau să comunicăm cu orice dispozitiv cu funcționalitate Bluetooth, cum ar fi un telefon sau un laptop HC-05, ne ajută să facem acest lucru. Mai multe aplicații Android sunt deja disponibile, ceea ce face acest proces mult mai ușor.

    Modul Bluetooth HC-05

  3. Control vocal Bluetooth pentru Arduino : Această aplicație este dezvoltată de SimpleLabsIN pentru proiecte Arduino bazate pe voce. Această aplicație Android va utiliza funcția de recunoaștere vocală a telefonului și va converti comenzile vocale în text și va transfera șirul prin Bluetooth. Aplicația poate fi descărcată de pe Aici

    Aplicația BT Voice Control



  4. Modul releu 12 V: Dacă cineva dorește să comute sarcini de înaltă tensiune de la un microcontroler, această placă de releu de 12V o poate face. Conține 8 relee de 12V cu o tensiune de 10A / 250V AC (DC 30V / 10A). Fiecare modul de releu este pornit / oprit de o intrare digitală optoizolată care poate fi conectată direct la un pin de ieșire al microcontrolerului. Este necesară doar o tensiune de aproximativ 1,0V pentru a porni intrările, dar poate gestiona tensiuni de intrare de până la 12V. Acest lucru îl face ideal atât pentru dispozitivele de 5V, cât și pentru cele de 3,3V. Puteți achiziționa modulul de releu în funcție de numărul de aparate pe care doriți să îl controlați. De exemplu, dacă doriți să controlați 4 aparate, ar trebui să cumpărați 4 module de releu.

    Modul releu 12V

Pasul 4: Înțelegerea proiectării circuitului cu diagrama circuitului

În primul rând, trebuie să conectăm HC-05 cu Arduino UNO. Deoarece Bluetooth utilizează protocolul UART, trebuie să folosim pinii RX și TX ai Arduino. Vom folosi biblioteca „SoftwareSerial” pentru a ne defini propriile pini RX și TX (Pinul 2 este RX și Pinul 3 este TX). Pinul RX al modulului Bluetooth și pinul TX al Arduino vor fi deconectate. În al doilea rând, vom conecta releele la Arduino. Am folosit o placă de releu readymade cu 4 canale, deci trebuie să conectăm intrările relelor individuale la Arduino. Pentru conectarea sarcinii la modulul releului, consultați schema de mai jos:

Asamblarea circuitului modulului de releu

Patru sarcini sunt conectate la modulul de releu pentru demonstrație și fiți foarte atenți în timp ce utilizați rețeaua de curent alternativ cu o placă de releu. Doar pentru demonstrație, am trecut PE sarcinile alternative:

Diagrama circuitului

Pasul 5: Principiul de lucru al proiectului

În acest proiect, comenzile vocale sunt utilizate pentru a controla diferite aparate. Asamblați hardware-ul conform schemei de circuite date mai sus. Asamblați toate componentele de pe panou. După efectuarea conexiunilor necesare, porniți sursa de alimentare la circuit și asociați Bluetooth-ul telefonului la modulul Bluetooth HC-05. Înainte de asociere, instalați aplicația menționată mai sus în telefonul smartphone.

Acum, conectați telefonul cu modulul Bluetooth. Faceți clic pe opțiunea „ Conectați robotul ”Și selectați dispozitivul Bluetooth corespunzător. Dacă dispozitivele nu sunt împerecheate mai devreme, asociați-le acum introducând pinul 0000 sau 1234.

Asocierea smartphone-ului

După o conexiune reușită, dispozitivele sunt gata să transmită date. Pentru a transmite date, apăsați pictograma microfonului din aplicație și începeți să dați comenzi vocale. Asigurați-vă că funcția de recunoaștere vocală este activată pe telefonul dvs. smartphone (aceasta este de obicei asociată cu aplicația Google). De exemplu, când apăsăm pictograma microfonului și spunem 'Aprinde lumina', aplicația va recunoaște comanda și o va transfera în modulul Bluetooth.

Vocea recunoscută

Când șirul este recunoscut de aplicație, acesta va trimite șirul ca „aprindeți lumina #”, iar mesajul real primit de modulul Bluetooth are acest tip de format ( '*Mesaj#' ). Motivul completării „*” și „#” la cerșit și la sfârșitul șirului este identificarea începutului și sfârșitului mesajului. Mesajul primit este comparat cu unele șiruri predefinite și dacă mesajul se potrivește cu acestea, se întâmplă acțiunea corespunzătoare, cum ar fi „pornire” și oprire.

În acest proiect am folosit următoarele comenzi: „porniți AC”, „opriți AC”, „aprindeți lumina”, „opriți lumina”, „porniți televizorul”, „opriți televizorul”, „porniți ventilatorul ”,„ Pornește toate ”și„ oprește toate ”.

Pasul 6: Noțiuni introductive despre Arduino

Dacă nu sunteți familiarizați cu Arduino IDE înainte, nu vă faceți griji, deoarece mai jos puteți vedea pași clari de ardere a codului pe placa microcontrolerului utilizând Arduino IDE. Puteți descărca cea mai recentă versiune a Arduino IDE de la aici și urmați pașii menționați mai jos:

1). Când placa Arduino este conectată la computer, deschideți „Panoul de control” și faceți clic pe „Hardware și sunet”. Apoi faceți clic pe „Dispozitive și imprimante”. Găsiți numele portului la care este conectată placa Arduino. În cazul meu, este „COM14”, dar poate fi diferit pe computer.

Găsirea portului

2). Acum deschideți IDE-ul Arduino. Din Instrumente, setați placa Arduino la Arduino / Genuino UNO.

Placă de setare

3). Din același meniu Instrument, setați numărul de port pe care l-ați văzut în panoul de control.

Setarea portului

4). Pentru a utiliza această aplicație controlată de voce, avem nevoie de o bibliotecă specială pentru a fi inclusă în Arduino IDE. Această bibliotecă este atașată în linkul de mai jos, împreună cu codul. Pentru a include biblioteca accesați Sketch> Include Library> Add ZIP. Bibliotecă .

Includeți biblioteca

5). Descărcați codul atașat mai jos și copiați-l în IDE. Pentru a încărca codul, faceți clic pe butonul de încărcare.

Puteți descărca codul prin făcând clic aici.

Pasul 7: Înțelegerea codului

Codul nu este atât de complex, dar totuși, unele dintre părțile sale sunt descrise pe scurt mai jos.

1. La început, o bibliotecă este inclusă pentru a permite comunicarea în serie pe alți pini digitali ai Arduino, utilizând software-ul pentru a reproduce funcționalitatea. Două pini sunt inițializați pentru a fi utilizați cu modulul Bluetooth. Patru pini sunt inițializați pentru a fi utilizați pentru aparatele electrocasnice conectate la sistem și se inițializează o variabilă de șir pentru a stoca datele care vin prin Bluetooth în serie.

#include const int rxPin = 2; // Inițializați pisns pentru modulul bluetooth const int txPin = 3; SoftwareSerial mySerial (rxPin, txPin); int ac = 4; // Inițializați pini pentru electrocasnice int light = 5; ventilator int = 6; int tv = 7; Date șir;

2. configurare nulă () este o funcție în care setăm pinii inițializați pentru a fi folosiți ca INPUT și OUTPUT. Baud Rate este, de asemenea, inițializat aici. Baud Rate este viteza cu care placa Arduino comunică cu componentele atașate. În funcția noastră, am setat toți pinii conectați la aparate la SCĂZUT.

void setup () {Serial.begin (9600); mySerial.begin (9600); pinMode (ac, OUTPUT); pinMode (lumină, OUTPUT); pinMode (ventilator, OUTPUT); pinMode (tv, OUTPUT); digitalWrite (ac, LOW); digitalWrite (ușor, LOW); digitalWrite (ventilator, LOW); digitalWrite (tv, LOW); }

3. bucla nulă () este o funcție care rulează în mod repetat într-o buclă. Aici sunt stabilite toate condițiile pentru ca sistemul să funcționeze corect. Următoarele In timp ce() bucla este utilizată pentru a prelua datele care vin în serie la microcontroler.

while (1) // Obținerea de date în serie {while (mySerial.available ()<=0); ch = mySerial.read(); if(ch=='#') break; data+=ch; }

Mai jos sunt setate toate condițiile pentru a porni toate aparatele electrice atașate, după cum comandă utilizatorul. Aceste condiții sunt destul de simple și se explică de la sine.

if (data == '* activați AC') {digitalWrite (ac, HIGH); Serial.println ('ac on'); } else if (data == '* opriți AC') {digitalWrite (ac, LOW); Serial.println ('ac off'); } else if (data == '* aprinde lumina') {digitalWrite (light, HIGH); Serial.println („lumină aprinsă”); } else if (data == '* stinge lumina') {digitalWrite (light, LOW); Serial.println („lumină oprită”); } else if (data == '* porneste ventilatorul') {digitalWrite (ventilator, HIGH); Serial.println ('fan activat'); } else if (data == '* opriți ventilatorul') {digitalWrite (ventilator, LOW); Serial.println ('ventilator oprit'); } else if (data == '* porneste televizorul') {digitalWrite (tv, HIGH); Serial.println ('tv on'); } else if (data == '* porneste televizorul') {digitalWrite (tv, LOW); Serial.println ('tv off'); } else if (data == '* activează toate') {digitalWrite (ac, HIGH); digitalWrite (ușor, ÎNALT); digitalWrite (ventilator, HIGH); digitalWrite (tv, HIGH); Serial.println („totul pornit”); } else if (data == '* dezactivează toate') {digitalWrite (ac, LOW); digitalWrite (ușor, LOW); digitalWrite (ventilator, LOW); digitalWrite (tv, LOW); Serial.println ('totul oprit'); }}

Aplicații

  1. Sistemul de automatizare acasă activat prin voce ne va ajuta să controlăm diferite sarcini (aparate electrice) cu comenzi vocale simple.
  2. Persoanele cu dizabilități pot obține o mulțime de beneficii din acest proiect, de vreme ce dacă nu pot să se plimbe, pot da o comandă vocală și se pot întoarce PE sau OPRIT aparatul.
  3. Acest proiect poate fi extins și prin adăugarea de senzori diferiți (lumină, fum etc.).