Sådan designer du stemmeaktiveret hjemmeautomatisering?

Ideen om Hjemmeautomatisering er ved at få fremtrædende plads, da det hjælper med at mindske menneskelig anstrengelse og fejl og dermed udvide effektiviteten. Det bruger en kombination af udstyr og programmeringsfremskridt, der muliggør kontrol over maskiner og andre elektroniske gadgets inde i et hjem. Ved hjælp af Home Automation kan vi styre vores elektriske apparater eksternt, og en stor fordel er, at strømforbruget i høj grad reduceres. Der er flere typer hjemmeautomatisering som Bluetooth-styret, fjernstyret og internetstyret osv., Og hver af dem har deres fordele og ulemper. I dette projekt vil vi designe en stemmestyret hjemmeautomatisering, hvor forskellige apparater styres ved at sende stemmekommandoen. Dette system er meget dyrt, når det købes fra markedet, men når vi integrerer alle disse apparater igennem Arduino , bliver det meget nemt og billigt at kontrollere alle elektriske apparater til hjemmet.



Stemmestyret hjemmeautomatisering

Sådan automatiseres husholdningsapparater ved hjælp af Arduino?

Da vi har den grundlæggende idé, skal vi nu bevæge os mod at samle komponenterne, samle dem for at skabe et kredsløb og skrive koden for at automatisere dine husholdningsapparater.



Trin 1: Brugte komponenter (hardware)

  • Arduino uno
  • HC-05 Bluetooth-modul
  • 2N2222 NPN-transistor
  • 12V relæmodul
  • 1k-ohm modstand
  • 12V AC til DC adapter
  • 1N4007 PN-forbindelsesdiode
  • Jumper Wires

Trin 2: Brugte komponenter (software)

  • Proteus 8 Professional (kan downloades fra Her )

Efter download af Proteus 8 Professional skal du designe kredsløbet på den. Vi har inkluderet softwaresimuleringer her, så det kan være praktisk for begyndere at designe kredsløbet og foretage passende forbindelser på hardwaren.



Trin 3: Studere komponenterne

Da vi har lavet en liste over komponenter, som vi skal bruge i vores projekt. Lad os gå et skridt videre og gennemgå en kort undersøgelse af, hvordan disse komponenter fungerer.



  1. Arduino UNO: Arduino UNO er ​​et mikrocontrollerkort, der består af et mikrochip ATMega 328P og er udviklet af Arduino.cc. Dette kort har et sæt digitale og analoge datatappe, der kan grænseflade med andre udvidelseskort eller kredsløb. Dette kort har 14 digitale stifter, 6 analoge stifter og programmerbare med Arduino IDE (integreret udviklingsmiljø) via et type B USB-kabel. Det kræver 5V til strøm og en C-kode at operere.

    Arduino UNO

  2. HC-05 trådløs Bluetooth seriel transceiver : Vi har brug for trådløs kommunikation i dette projekt, så vi bruger Bluetooth-teknologi, og det modul, der skal bruges, er HC-05. Dette modul har flere programmerbare baudhastigheder, men standard baudhastigheden er 9600 bps. Det kan konfigureres som enten master eller slave, mens et andet modul HC-06 kun kan fungere i slave-tilstand. Dette modul har fire ben. Én til VCC (5V) og de resterende tre til GND, TX og RX. Standardadgangskoden til dette modul er 1234 eller 0000 . Hvis vi vil kommunikere mellem to mikrokontroller eller kommunikere med en hvilken som helst enhed med Bluetooth-funktionalitet som en telefon eller bærbar computer, hjælper HC-05 os med at gøre det. Flere Android-applikationer er allerede tilgængelige, hvilket gør denne proces meget lettere.

    HC-05 Bluetooth-modul

  3. Bluetooth Voice Control til Arduino : Denne app er udviklet af SimpleLabsIN til stemmebaserede Arduino-projekter. Denne Android-applikation bruger telefonens stemmegenkendelsesfunktion og konverterer stemmekommandoer til tekst og overfører strengen via Bluetooth. Applikationen kan downloades fra Her

    BT Voice Control-app



  4. 12 V relæmodul: Hvis nogen vil skifte højspændingsbelastninger fra en mikrocontroller, kan dette 12V-relækort gøre det. Den indeholder 8 x 12V relæer klassificeret til 10A / 250V AC (DC 30V / 10A). Hvert relæmodul tændes / slukkes af en optisk isoleret digital indgang, der kan tilsluttes direkte til en mikrocontrollerudgangsstift. Det kræver kun en spænding på ca. 1,0V for at tænde indgangene, men kan håndtere indgangsspændinger op til 12V. Dette gør den ideel til både 5V og 3.3V enheder. Du kan købe relæmodulet efter dit antal apparater, du vil kontrollere. Hvis du f.eks. Vil styre 4 apparater, skal du købe 4 relæmodul.

    12V relæmodul

Trin 4: Forstå kredsløbsdesign med kredsløbsdiagram

For det første er vi nødt til at forbinde HC-05 med Arduino UNO. Da Bluetooth bruger UART-protokollen, skal vi bruge RX- og TX-benene på Arduino. Vi bruger “SoftwareSerial” -biblioteket til at definere vores egne RX- og TX-ben (Pin 2 er RX og Pin 3 er TX). RX-stiften på Bluetooth-modulet og TX-stiften på Arduino frakobles. For det andet vil vi forbinde relæerne til Arduino. Vi har brugt et færdigt relækort med 4 kanaler, så vi er nødt til at forbinde indgangene til de enkelte relæer til Arduino. For tilslutning af belastning til relæmodulet henvises til nedenstående diagram:

Montering af relæmodulets kredsløb

Fire belastninger er forbundet til relæmodulet til demonstration og vær ekstra forsigtig, når du bruger AC-strømforsyning med et relækort. Bare til demonstration er vi skiftet de alternative belastninger:

Kredsløbsdiagram

Trin 5: Projektets arbejdsprincip

I dette projekt bruges stemmekommandoer til at styre forskellige apparater. Saml hardwaren i henhold til kredsløbsdiagrammet ovenfor. Saml alle komponenterne på brødbrættet. Når du har foretaget de nødvendige forbindelser, skal du tænde for strømforsyningen til kredsløbet og parre telefonens Bluetooth med HC-05 Bluetooth-modulet. Inden du parrer, skal du installere den ovennævnte applikation på din smartphone.

Tilslut nu telefonen til Bluetooth-modulet. Klik på indstillingen “ Tilslut robot ”Og vælg den relevante Bluetooth-enhed. Hvis enhederne ikke er parret tidligere, skal du parre dem nu ved at indtaste stiften 0000 eller 1234.

Parring af smartphone

Efter en vellykket forbindelse er enheder klar til at overføre data. For at overføre data skal du trykke på mikrofonikonet i appen og begynde at give stemmekommandoer. Sørg for, at stemmegenkendelsesfunktionen er aktiveret på din smartphone (dette er normalt knyttet til Google-appen). For eksempel når vi trykker på mikrofonikonet og siger 'Tænd lyset', applikationen genkender kommandoen og overfører den til Bluetooth-modulet.

Stemmegenkendt

Når strengen genkendes af applikationen, sender den strengen som “tænd lys #”, og den aktuelle meddelelse modtaget af Bluetooth-modulet har denne type format ( '*Besked#' ). Årsagen til at polstring af '*' og '#' ved tiggeriet og slutningen af ​​strengen er at identificere starten og slutningen af ​​meddelelsen. Den modtagne besked sammenlignes med nogle foruddefinerede strenge, og hvis meddelelsen matcher dem, sker den tilsvarende handling som 'at tænde' og slukke.

I dette projekt har vi brugt følgende kommandoer: “tænd for vekselstrøm”, “sluk for vekselstrøm”, “tænd lys”, “sluk for lys”, “tænd for tv”, “sluk for tv”, “tænd for blæser ',' Slå alle til 'og' slå alle fra '.

Trin 6: Kom godt i gang med Arduino

Hvis du ikke er bekendt med Arduino IDE før, skal du ikke bekymre dig, for nedenfor kan du se klare trin til at brænde kode på mikrocontrollerkortet ved hjælp af Arduino IDE. Du kan downloade den nyeste version af Arduino IDE fra her og følg nedenstående trin:

1). Når Arduino-kortet er tilsluttet din pc, skal du åbne 'Kontrolpanel' og klikke på 'Hardware og lyd'. Klik derefter på “Enheder og printere”. Find navnet på den port, som dit Arduino-kort er tilsluttet. I mit tilfælde er det 'COM14', men det kan være anderledes på din pc.

Find port

2). Åbn nu Arduino IDE. Fra værktøjer skal du indstille Arduino-kortet til Arduino / Genuino UNO.

Indstillingsbræt

3). Fra den samme værktøjsmenu skal du indstille det portnummer, du så i kontrolpanelet.

Indstilling af port

4). For at bruge denne stemmestyrede app har vi brug for et specielt bibliotek, der skal inkluderes i Arduino IDE. Dette bibliotek er vedhæftet i nedenstående link sammen med koden. Gå til for at inkludere biblioteket Skitse> Inkluder bibliotek> Tilføj ZIP. Bibliotek .

Inkluder bibliotek

5). Download koden nedenfor, og kopier den til din IDE. Klik på uploadknappen for at uploade koden.

Du kan downloade koden ved at klik her.

Trin 7: Forstå koden

Koden er ikke så kompleks, men stadig er nogle af dens dele beskrevet kort nedenfor.

1. I starten er der inkluderet et bibliotek, der muliggør seriel kommunikation på andre digitale stifter i Arduino ved hjælp af software til at replikere funktionaliteten. To pins er initialiseret til brug sammen med Bluetooth-modulet. Fire stifter initialiseres til brug til husholdningsapparater, der er tilsluttet systemet, og en strengvariabel initialiseres til lagring af data, der kommer via Bluetooth serielt.

# inkluderer const int rxPin = 2; // Initialiser pisns til bluetooth-modul const int txPin = 3; SoftwareSerial mySerial (rxPin, txPin); int ac = 4; // Initialiser pins til husholdningsapparater int light = 5; int fan = 6; int tv = 7; Strengdata;

2. ugyldig opsætning () er en funktion, hvor vi indstiller de initialiserede ben, der skal bruges som INPUT og OUTPUT. Baudrate initialiseres også her. Baudrate er den hastighed, hvormed Arduino-kortet kommunikerer med de tilsluttede komponenter. I vores funktion har vi indstillet alle de ben, der er tilsluttet apparaterne, til LAV.

ugyldig opsætning () {Serial.begin (9600); mySerial.begin (9600); pinMode (ac, OUTPUT); pinMode (lys, OUTPUT); pinMode (ventilator, OUTPUT); pinMode (tv, OUTPUT); digitalWrite (ac, LOW); digitalWrite (lys, LAV); digitalWrite (ventilator, LAV); digitalWrite (tv, LAV); }

3. ugyldig sløjfe () er en funktion, der kører gentagne gange i en løkke. Her er alle betingelser indstillet til at få systemet til at fungere korrekt. Det følgende Mens() loop bruges til at tage data, der kommer serielt til mikrokontrolleren.

while (1) // Få input serielt {while (mySerial.available ()<=0); ch = mySerial.read(); if(ch=='#') break; data+=ch; }

Nedenfor er alle betingelser indstillet til at tænde for alle tilsluttede elektriske apparater, som brugeren befaler. Disse betingelser er ret enkle og selvforklarende.

hvis (data == '* tænd for AC') {digitalWrite (ac, HIGH); Serial.println ('ac on'); } ellers hvis (data == '* sluk for AC') {digitalWrite (ac, LOW); Serial.println ('ac off'); } ellers hvis (data == '* tænder lys') {digitalWrite (lys, HØJ); Serial.println ('lys tændt'); } ellers hvis (data == '* slukker for lys') {digitalWrite (lys, LAV); Serial.println ('lys slukket'); } ellers hvis (data == '* tænd ventilator') {digitalWrite (ventilator, HIGH); Serial.println ('fan tændt'); } ellers hvis (data == '* sluk for blæser') {digitalWrite (blæser, LAV); Serial.println ('fan off'); } ellers hvis (data == '* tænd TV') {digitalWrite (tv, HIGH); Serial.println ('tv på'); } ellers hvis (data == '* tænd TV') {digitalWrite (tv, LOW); Serial.println ('tv slukket'); } ellers hvis (data == '* slå alle til') {digitalWrite (ac, HIGH); digitalWrite (lys, HØJ); digitalWrite (ventilator, HIGH); digitalWrite (tv, HIGH); Serial.println ('alt til'); } ellers hvis (data == '* sluk for alt') {digitalWrite (ac, LOW); digitalWrite (lys, LAV); digitalWrite (ventilator, LAV); digitalWrite (tv, LAV); Serial.println ('alt fra'); }}

Ansøgninger

  1. Det stemmeaktiverede hjemmeautomatiseringssystem hjælper os med at kontrollere forskellige belastninger (elektriske apparater) med enkle stemmekommandoer.
  2. Mennesker, der er handicappede, kan få mange fordele ved dette projekt, som om de ikke er i stand til at gå rundt, kan de give en stemmekommando og dreje eller AF apparatet.
  3. Dette projekt kan også udvides ved at tilføje forskellige sensorer (lys, røg osv.).