Hvordan lage stemmeaktiverte hjemmeautomatiseringer?

Ideen om Hjemmeautomatisering henter fremtredende ettersom det hjelper til med å redusere menneskelig anstrengelse og feil og dermed utvide effektiviteten. Den bruker en kombinasjon av utstyr og programmeringsfremskritt som muliggjør kontroll over maskiner og andre elektroniske dingser i et hjem. Ved hjelp av hjemmeautomatisering kan vi fjernstyre våre elektriske apparater, og en stor fordel er at strømforbruket i stor grad reduseres. Det er flere typer hjemmeautomatisering som Bluetooth-kontrollert, fjernstyrt og internettstyrt osv., Og hver av dem har sine fordeler og ulemper. I dette prosjektet vil vi designe en stemmestyrt hjemmeautomatisering der forskjellige apparater vil bli styrt ved å sende talekommandoen. Dette systemet er veldig dyrt når det kjøpes fra markedet, men når vi integrerer alle disse apparatene gjennom Arduino, blir det veldig enkelt og billig å kontrollere alle elektriske husholdningsapparater.

Hvordan automatisere husholdningsapparater ved hjelp av Arduino?

Som vi har den grunnleggende ideen, la oss nå gå mot å samle komponentene, montere dem for å lage en krets og skrive koden for å automatisere husholdningsapparater.

Trinn 1: Brukte komponenter (maskinvare)

Trinn 2: Komponenter som brukes (programvare)

Etter å ha lastet ned Proteus 8 Professional, design kretsen på den. Vi har tatt med programvaresimuleringer her, slik at det kan være praktisk for nybegynnere å designe kretsen og lage passende tilkoblinger på maskinvaren.

Trinn 3: Studere komponentene

Da vi har laget en liste over komponenter som vi skal bruke i prosjektet vårt. La oss gå et skritt videre og gå gjennom en kort studie av hvordan disse komponentene fungerer.

  1. Arduino UNO: Arduino UNO er ​​et mikrokontrollerkort som består av et mikrochip ATMega 328P og er utviklet av Arduino.cc. Dette kortet har et sett med digitale og analoge datapinner som kan grensesnittes med andre utvidelseskort eller kretser. Dette kortet har 14 digitale pinner, 6 analoge pinner og programmerbare med Arduino IDE (Integrated Development Environment) via en USB-kabel type B. Det krever 5V for strøm og en C-kodeå operere.
  2. HC-05 trådløs Bluetooth seriell mottaker: Vi trenger trådløs kommunikasjon i dette prosjektet, så vi vil bruke Bluetooth-teknologi, og for den modulen som skal brukes er HC-05. Denne modulen har flere programmerbare overføringshastigheter, men standard overføringshastighet er 9600 bps. Den kan konfigureres som enten master eller slave, mens en annen modul HC-06 bare kan fungere i slave-modus. Denne modulen har fire pinner. Én for VCC (5V) og de resterende tre for GND, TX og RX. Standardpassordet til denne modulen er 1234 eller 0000. Hvis vi vil kommunisere mellom to mikrokontrollere eller kommunisere med en hvilken som helst enhet med Bluetooth-funksjonalitet, som en telefon eller bærbar PC, hjelper HC-05 oss med å gjøre det. Flere Android-applikasjoner er allerede tilgjengelige, noe som gjør denne prosessen mye enklere.

  3. Bluetooth Voice Control for Arduino: Denne appen er utviklet av SimpleLabsIN for stemmebaserte Arduino-prosjekter. Denne Android-applikasjonen vil bruke telefonens stemmegjenkjenningsfunksjon og konvertere talekommandoer til tekst og overføre strengen via Bluetooth. Søknaden kan lastes ned fra Her
  4. 12 V relémodul: Hvis noen vil bytte høyspenningsbelastning fra en mikrokontroller, kan dette 12V relékortet gjøre det. Den inneholder 8 x 12V reléer vurdert til 10A / 250V AC (DC 30V / 10A). Hver relémodul slås på / av av en optisk isolert digital inngang som kan kobles direkte til en mikrokontrollers utgangsstift. Det krever bare en spenning på ca. 1.0V for å slå på inngangene, men kan håndtere inngangsspenninger opp til 12V. Dette gjør den ideell for både 5V og 3.3V enheter. Du kan kjøpe relémodulen i henhold til antall apparater du vil kontrollere. Hvis du for eksempel vil kontrollere 4 apparater, bør du kjøpe 4 Relé-moduler.

Trinn 4: Forstå kretsdesign med kretsdiagram

For det første må vi koble HC-05 med Arduino UNO. Siden Bluetooth bruker UART-protokollen, må vi bruke RX- og TX-pinnene til Arduino. Vi vil bruke “SoftwareSerial” -biblioteket til å definere våre egne RX- og TX-pinner (Pin 2 er RX og Pin 3 er TX). RX-pinnen til Bluetooth-modulen og TX-pinnen på Arduino kobles fra. For det andre vil vi koble reléene til Arduino. Vi har brukt et klargjort relékort med 4 kanaler, så vi må koble inngangene til de enkelte reléene til Arduino. For å koble last til relémodulen, se diagrammet nedenfor:

Fire laster er koblet til relémodulen for demonstrasjon og vær ekstra forsiktig når du bruker AC-nett med et relékort. Bare for demonstrasjon har vi byttet de alternative lastene:

Trinn 5: Arbeidsprinsipp for prosjektet

I dette prosjektet brukes talekommandoer til å kontrollere forskjellige apparater. Monter maskinvaren i henhold til kretsskjemaet gitt ovenfor. Monter alle komponentene på brødplaten. Etter at du har gjort de nødvendige tilkoblingene, må du slå på strømforsyningen til kretsen og koble telefonens Bluetooth til HC-05 Bluetooth-modulen. Før du parer, installer applikasjonen nevnt ovenfor på smarttelefonen din.

Nå kobler du telefonen til Bluetooth-modulen. Klikk på alternativet “Koble Robot”Og velg riktig Bluetooth-enhet. Hvis enhetene ikke er sammenkoblet tidligere, kan du koble dem nå ved å skrive inn nålen 0000 eller 1234.

Etter en vellykket tilkobling er enhetene klare til å overføre data. For å overføre data, trykk på mikrofonikonet i appen og begynn å gi talekommandoer. Forsikre deg om at stemmegjenkjenningsfunksjonen er aktivert på smarttelefonen din (dette er vanligvis knyttet til Google-appen). For eksempel når vi trykker på mikrofonikonet og sier "Slå på lyset",applikasjonen vil gjenkjenne kommandoen og overføre den til Bluetooth-modulen.

Når strengen gjenkjennes av applikasjonen, vil den sende strengen som “slå på lys #”, og den faktiske meldingen mottatt av Bluetooth-modulen har denne typen format ("*Beskjed#"). Årsaken til polstring av '*' og '#' ved tigging og slutt på strengen er å identifisere begynnelsen og slutten av meldingen. Den mottatte meldingen sammenlignes med noen forhåndsdefinerte strenger, og hvis meldingen samsvarer med dem, skjer tilsvarende handling som "å slå på" og å slå av.

I dette prosjektet har vi brukt følgende kommandoer: "slå på AC", "slå av AC", "slå på lys", "slå av lys", "slå på TV", "slå av TV", "slå på vifte "," Slå på alle "og" slå av alle ".

Trinn 6: Komme i gang med Arduino

Hvis du ikke er kjent med Arduino IDE før, ikke bekymre deg for nedenfor kan du se klare trinn for å brenne kode på mikrokontrollerkortet ved hjelp av Arduino IDE. Du kan laste ned den nyeste versjonen av Arduino IDE herfra og følge trinnene nevnt nedenfor:

1). Når Arduino-kortet er koblet til PC-en, åpner du "Kontrollpanel" og klikker på "Maskinvare og lyd". Klikk deretter på "Enheter og skrivere". Finn navnet på porten som Arduino-kortet ditt er koblet til. I mitt tilfelle er det "COM14", men det kan være annerledes på din PC.

2). Åpne nå Arduino IDE. Fra Verktøy, sett Arduino-kortet til Arduino / Genuino UNO.

3). Fra den samme verktøymenyen angir du portnummeret du så i kontrollpanelet.

4). For å bruke denne stemmestyrte appen, trenger vi et spesielt bibliotek som skal inkluderes i Arduino IDE. Dette biblioteket er vedlagt i lenken nedenfor, sammen med koden. For å inkludere biblioteket, gå til Skisse> Inkluder bibliotek> Legg til ZIP. Bibliotek.

5). Last ned koden som er vedlagt nedenfor, og kopier den til IDE. For å laste opp koden, klikk på opplastingsknappen.

Du kan laste ned koden ved å klikke her.

Trinn 7: Forstå koden

Koden er ikke så komplisert, men likevel er noen av dens deler beskrevet kort nedenfor.

1. I begynnelsen er et bibliotek inkludert for å tillate seriell kommunikasjon på andre digitale pinner på Arduino, ved hjelp av programvare for å replikere funksjonaliteten. To pinner er initialisert for bruk med Bluetooth-modulen. Fire pins er initialisert for å brukes til husholdningsapparater som er koblet til systemet, og en strengvariabel initialiseres for å lagre dataene som kommer via Bluetooth serielt.

#inkludere   const int rxPin = 2; // Initialiser pisns for Bluetooth-modul const int txPin = 3; SoftwareSerial mySerial (rxPin, txPin); int ac = 4; // Initialiser pins for hvitevarer int light = 5; int vifte = 6; int tv = 7; Strengdata;

2. ugyldig oppsett ()er en funksjon der vi setter de initialiserte pinnene til å brukes som INNGANG og UTGANG. Baudrate blir også initialisert her. Baud Rate er hastigheten som Arduino-kortet kommuniserer med vedlagte komponenter. I vår funksjon har vi satt alle pinnene som er koblet til apparatene til LAV.

ugyldig oppsett () {Serial.begin (9600); mySerial.begin (9600); pinMode (ac, OUTPUT); pinMode (lys, UTGANG); pinMode (fan, OUTPUT); pinMode (tv, OUTPUT); digitalWrite (ac, LOW); digitalWrite (lys, LAV); digitalWrite (vifte, LAV); digitalWrite (tv, LAV); }

3. ugyldig sløyfe ()er en funksjon som går gjentatte ganger i en løkke. Her er alle betingelsene satt for å få systemet til å fungere skikkelig. Følgende Samtidig som() loop brukes til å ta data som kommer serielt til mikrokontrolleren.

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

Under alle forhold er satt til å slå på alle tilkoblede elektriske apparater, slik brukeren befaler. Disse forholdene er ganske enkle og selvforklarende.

 hvis (data == "* slå på AC") {digitalWrite (ac, HIGH); Serial.println ("ac on"); } annet hvis (data == "* slå av AC") {digitalWrite (ac, LOW); Serial.println ("ac off"); } annet hvis (data == "* slår på lys") {digitalWrite (lys, HØY); Serial.println ("lys på"); } annet hvis (data == "* slå av lyset") {digitalWrite (lys, LAV); Serial.println ("lys av"); } annet hvis (data == "* slå på vifte") {digitalWrite (vifte, HØY); Serial.println ("vifte på"); } annet hvis (data == "* slå av viften") {digitalWrite (vifte, LAV); Serial.println ("vifte av"); } annet hvis (data == "* slå på TV") {digitalWrite (tv, HIGH); Serial.println ("tv på"); } annet hvis (data == "* slå på TV") {digitalWrite (tv, LAV); Serial.println ("tv av"); } annet hvis (data == "* slå på alt") {digitalWrite (ac, HIGH); digitalWrite (lett, HØY); digitalWrite (vifte, HØY); digitalWrite (tv, HØY); Serial.println ("alt på"); } annet hvis (data == "* slå av alle") {digitalWrite (ac, LOW); digitalWrite (lys, LAV); digitalWrite (vifte, LAV); digitalWrite (tv, LAV); Serial.println ("alt av"); }}

applikasjoner

  1. Det stemmeaktiverte hjemmeautomatiseringssystemet hjelper oss å kontrollere forskjellige belastninger (elektriske apparater) med enkle talekommandoer.
  2. Mennesker som er funksjonshemmede kan få mange fordeler med dette prosjektet, som om de ikke klarer å gå rundt, kan de gi en talekommando og snu eller AV apparatet.
  3. Dette prosjektet kan også utvides ved å legge til forskjellige sensorer (lys, røyk, etc.).
Facebook Twitter Google Plus Pinterest