Vi er alle kjent med ordet 'automatisering', der den menneskelige interaksjonen er minimal og ting kan kontrolleres automatisk eller eksternt. Hjemmeautomatisering er et veldig populært og krevende konsept innen elektronikk, og vi gjør også vårt beste for å gjøre dette konseptet lett forståelig og håndterbart som elektronikkprosjekter. Vi har tidligere utviklet flere typer hjemmeautomatiseringsprosjekter med en fungerende video og kode, vennligst sjekk:
- DTMF-basert hjemmeautomatisering
- GSM-basert hjemmeautomatisering ved hjelp av Arduino
- PC-kontrollert hjemmeautomatisering ved hjelp av Arduino
- Bluetooth-kontrollert hjemmeautomatisering ved hjelp av 8051
- IR fjernstyrt hjemmeautomatisering ved hjelp av Arduino
Og i dette prosjektet skal vi bygge vårt neste hjemmeautomatiseringsprosjekt ved hjelp av MATLAB og Arduino, som er GUI-basert hjemmeautomatiseringssystem ved hjelp av Arduino og MATLAB
Komponenter:
- Arduino UNO
- USB-kabel
- ULN2003
- Relé 5 volt
- Pære med holder
- Koble ledninger
- Laptop
- Strømforsyning
- PVT
Arbeidsforklaring:
I dette prosjektet bruker vi MATLAB med Arduino til å kontrollere husholdningsapparater, gjennom et grafisk brukergrensesnitt i datamaskinen. Her har vi brukt kablet kommunikasjon for å sende data fra datamaskin (MATLAB) til Arduino. På datamaskinsiden har vi brukt GUI i MATLAB for å lage noen knapper for å kontrollere husholdningsapparater. For kommunikasjon mellom Arduino og MATLAB, må vi først installere " MATLAB og Simulink Support for Arduino " eller " Arduino IO Package ". Følg trinnene nedenfor eller sjekk videoen nedenfor:
- Last ned Arduino IO-pakken herfra. Du må registrere deg før du laster ned.
- Deretter brenner / laster du opp adioe.pde-filen til Arduino ved hjelp av Arduino IDE. Denne adioe.pde-filen finnes i Arduino IO-pakke - ArduinoIO \ pde \ adioe \ adioe.pde
- Åpne deretter MATLAB-programvaren, gå gjennom Arduino IO-mappen, åpne install_arduino.m-filen og kjør den i Matlab. Du vil se en melding om "Arduino-mapper lagt til banen" i kommandovinduet til MATLAB, betyr at MATLAB-banen er oppdatert til Arduino-mapper.
Slik lager vi Arduino, kommuniserer med MATLAB. Ovennevnte metode er egnet for “MATLAB R2013b eller tidligere versjoner”. Hvis du bruker den høyere versjonen av MATLAB (som R2015b eller R2016a), kan du klikke direkte på Add-ons-fanen i MATLAB og deretter klikke “Get Hardware Support Packages”, hvorfra du kan installere Arduino-pakker for MATLAB.
Etter at du har installert filer, kan du nå opprette et GUI for Home Automation Project. I utgangspunktet i GUI lager vi trykknapper for å kontrollere husholdningsapparatene fra datamaskinen. Knapper kan opprettes ved å gå inn i “Grafisk brukergrensesnitt” i “Ny” -menyen i MATLAB. Videre kan vi stille inn navnet og fargene på disse knappene, vi har laget 8 knapper, hvor seks til PÅ og AV tre husholdningsapparater og to knapper til PÅ og AV alle apparater samtidig.
Nå etter at du har opprettet knappene, når du klikker på Run-knappen i det GUI-vinduet, vil den be deg om å lagre denne GUI-filen (med filtypen.fig), også kjent som ' fig-fil'. Så snart du lagret filen, vil den automatisk opprette en kodefil (med utvidelse.m), også kjent som ' M-fil' (se nedenfor skjermbilde), hvor du kan sette koden (gitt i Kodeavsnitt nedenfor). Du kan laste ned GUI-filen og kodefilen for dette prosjektet herfra: Home_Automation_system.fig og Home_Automation_system.m (høyreklikk og velg Lagre lenke som…), eller du kan lage dem selv som vi har forklart.
Etter koding kan du nå endelig kjøre.m-filen fra kodevinduet, du vil se "Forsøk på tilkobling.." i kommandovinduet. Deretter vises en "Arduino lykkes koblet" -melding, hvis alt går bra. Og til slutt vil du se tidligere opprettede GUI (knapper) i GUI-vinduet, hvorfra du kan kontrollere husholdningsapparater ved å bare klikke på knappene i datamaskinen. Forsikre deg om at Arduino er koblet til Arduino via USB-kabel. Her i dette prosjektet har vi brukt 3 pærer til demonstrasjon, noe som indikerer Vifte, Lys og TV.
Arbeid med hele prosjektet, fra installasjon av Arduino MATLAB-støttepakken til å slå på eller AV apparatet, kan forstås i videoen på slutten.
Kretsforklaring:
Kretsløpet for dette prosjektet er veldig enkelt. Her har vi brukt et Arduino UNO-kort og Relé Driver ULN2003 for å kjøre stafetter. Tre 5 volt SPDT-reléer er koblet til Arduino pin nummer 3, 4 og 5, via relédriver ULN2003, for å kontrollere henholdsvis LIGHT, FAN og TV.
Programmeringsforklaring:
Når vi trykker på en hvilken som helst knapp fra GUI-vinduet, sender den noen kommandoer til Arduino, og deretter utfører Arduino den operasjonen. Etter å ha installert Arduino MATLAB IO-støttepakke, kan vi få tilgang til Arduino fra MATLAB ved å bruke de samme Arduino-funksjonene, med litt liten variasjon, som:
For å lage en PIN HIGH i Arduino skriver vi kode som digitalWrite (pin, HIGH)
I MATLAB vil vi bruke denne funksjonen ved hjelp av et objekt eller en variabel som, og på samme måte så videre.
Før vi gjør dette, må vi initialisere variabelen slik:
I dette prosjektet er det ingen Arduino-kode bortsett fra Arduino MATLAB-støttepakkekoden eller -filen. Som forklart tidligere genereres kodefilen (.m-filen) automatisk mens du lagrer GUI-filen (.fig-filen). Det er allerede noe kode omskrevet i.m-filen. I utgangspunktet er dette tilbakekallingsfunksjoner for trykknapper, noe som betyr at vi kan definere hva som skal skje ved å klikke på disse trykknappene.
I MATLAB-kode initialiserer vi først seriell port og gjør den til et objekt ved hjelp av en variabel. Og så kan vi begynne å programmere som Arduino ved hjelp av variabelen.
klar ar; global ar; ar = arduino ('COM13'); ar.pinMode (3, 'OUTPUT'); ar.pinMode (4, 'OUTPUT'); ar.pinMode (5, 'OUTPUT'); ar.pinMode (13, 'OUTPUT');
I tilbakekallingsfunksjonen til hver knapp har vi skrevet den relaterte koden for På eller AV de respektive Hvitevarer, koblet til Arduino via Relay. Som for eksempel er tilbakeringingsfunksjon for Light ON gitt nedenfor:
funksjon light_on_Callback (hObject, eventdata, handles)% hObject handle to light_on (se GCBO)% eventdata reservert - defineres i en fremtidig versjon av MATLAB% håndterer struktur med håndtak og brukerdata (se GUIDATA) global ar; ar.digitalWrite (3, 1); ar.digitalWrite (13, 1);
På samme måte kan vi skrive koden i tilbakeringingsfunksjonene på alle knappene, for å kontrollere de andre tilkoblede husholdningsapparater, sjekk hele MATLAB-koden nedenfor (.m-fil).