Vi är alla bekanta med ordet 'Automation', där den mänskliga interaktionen är minimal och saker kan styras automatiskt eller på distans. Hemautomation är ett mycket populärt och krävande koncept inom elektronikområdet, och vi gör också vårt bästa för att göra detta koncept lättförståeligt och hanterbart som elektronikprojekt. Vi har tidigare utvecklat flera typer av hemautomationsprojekt med en fungerande video och kod, kontrollera:
- DTMF-baserad hemautomation
- GSM-baserad hemautomation med Arduino
- PC-styrd hemautomation med Arduino
- Bluetooth-styrd hemautomation med 8051
- IR-fjärrstyrd hemautomation med Arduino
Och i det här projektet ska vi bygga vårt nästa hemautomationsprojekt med hjälp av MATLAB och Arduino, som är GUI-baserat hemautomationssystem med Arduino och MATLAB
Komponenter:
- Arduino UNO
- USB-kabel
- ULN2003
- Relä 5 volt
- Glödlampa med hållare
- Anslutande ledningar
- Bärbar dator
- Strömförsörjning
- PVT
Arbetsförklaring:
I detta projekt använder vi MATLAB med Arduino för att styra hushållsapparaterna via ett grafiskt användargränssnitt i datorn. Här har vi använt trådbunden kommunikation för att skicka data från dator (MATLAB) till Arduino. På datasidan har vi använt GUI i MATLAB för att skapa några knappar för att styra hushållsapparater. För kommunikation mellan Arduino och MATLAB måste vi först installera “ MATLAB och Simulink Support för Arduino ” eller “ Arduino IO Package ”. För att göra det, följ stegen nedan eller kolla videon nedan:
- Ladda ner Arduino IO-paketet härifrån. Du måste registrera dig innan du laddar ner den.
- Bränn / ladda sedan upp adioe.pde-filen till Arduino med Arduino IDE. Denna adioe.pde-fil finns i Arduino IO Package - ArduinoIO \ pde \ adioe \ adioe.pde
- Öppna sedan MATLAB-programvaran, gå igenom Arduino IO-mappen, öppna filen install_arduino.m och kör den i Matlab. Du kommer att se ett meddelande om "Arduino-mappar läggs till sökvägen" i MATLABs kommandofönster, vilket betyder att MATLAB-sökvägen uppdateras till Arduino-mappar.
Det är så vi gör Arduino, kommunicerar med MATLAB. Ovanstående metod är lämplig för “MATLAB R2013b eller tidigare versioner”, om du använder den högre versionen av MATLAB (som R2015b eller R2016a), kan du klicka direkt på fliken Add-ons i MATLAB och sedan klicka på “Get Hardware Support Packages”, varifrån du kan installera Arduino-paket för MATLAB.
Efter installation av filer kan du nu skapa ett GUI för Home Automation Project. I grund och botten i GUI skapar vi tryckknappar för att styra hushållsapparaterna från datorn. Knappar kan skapas genom att gå in i "Grafiskt användargränssnitt" i "Ny" -menyn i MATLAB. Vidare kan vi ställa in namn och färger på dessa knappar, vi har skapat 8 knappar, där sex till PÅ och AV tre hushållsapparater och två knappar till PÅ och AV alla apparater samtidigt.
Efter att du har skapat knapparna, när du klickar på Kör-knappen i det GUI-fönstret, kommer den att be dig spara den här GUI-filen (med tillägget.fig), även känd som ' fig-fil'. Så snart du sparade filen kommer den automatiskt att skapa en kodfil (med tillägget.m), även känd som ' M-fil' (se nedan skärmdump), där du kan placera koden (ges i kodavsnittet nedan). Du kan hämta GUI-filen och kodfilen för detta projekt härifrån: Home_Automation_system.fig och Home_Automation_system.m (högerklicka och välj Spara länk som…), eller så kan du skapa dem själv som vi har förklarat.
Efter kodning kan du nu äntligen köra.m-filen från kodfönstret, du kommer att se "Att försöka ansluta.." i kommandofönstret. Då visas ett meddelande om "Arduino lyckades ansluten" om allt går bra. Och slutligen kommer du att se tidigare skapade GUI (knappar) i GUI-fönstret, varifrån du kan styra hushållsapparaterna genom att bara klicka på knapparna i din dator. Se till att Arduino är ansluten till Arduino via USB-kabel. Här i detta projekt har vi använt tre glödlampor för demonstration, vilket indikerar fläkt, ljus och TV.
Att arbeta med hela projektet, från att installera Arduino MATLAB-supportpaketet till att slå på eller stänga av apparaten, kan förstås i videon i slutet.
Kretsförklaring:
Projektet är mycket enkelt. Här har vi använt ett Arduino UNO-kort och Relay Driver ULN2003 för att köra reläer. Tre 5 volt SPDT-reläer är anslutna till Arduino-stift nummer 3, 4 och 5, via relädrivrutinen ULN2003, för styrning av LIGHT, FAN respektive TV.
Programmeringsförklaring:
När vi trycker på någon knapp från GUI-fönstret skickar den några kommandon till Arduino och sedan utför Arduino den åtgärden. Efter att ha installerat Arduino MATLAB IO-supportpaket kan vi komma åt Arduino från MATLAB genom att använda samma Arduino-funktioner, med lite liten variation, som:
För att göra en pin HIGH i Arduino skriver vi kod som digitalWrite (pin, HIGH)
I MATLAB kommer vi att använda den här funktionen med hjälp av ett objekt eller en variabel som, och likaså så vidare.
Innan vi gör detta måste vi initiera variabeln så här:
I detta projekt finns det ingen Arduino-kod förutom Arduino MATLAB-supportpaketkoden eller -filen. Som tidigare förklarats genereras kodfilen (.m-fil) automatiskt medan GUI-filen (.fig-filen) sparas. Det finns redan en kod omskriven i.m-filen. I grund och botten är dessa återuppringningsfunktioner för tryckknappar, vilket innebär att vi kan definiera vad som ska hända när vi klickar på dessa tryckknappar.
I MATLAB-koden initialiserar vi först serieporten och gör den till ett objekt med hjälp av en variabel. Och då kan vi börja programmera som Arduino med variabeln.
tydlig ar; global ar; ar = arduino ('COM13'); ar.pinMode (3, 'OUTPUT'); ar.pinMode (4, 'OUTPUT'); ar.pinMode (5, 'OUTPUT'); ar.pinMode (13, 'OUTPUT');
I återuppringningsfunktionen för varje knapp har vi skrivit den relaterade koden för På eller AV respektive hushållsapparater, ansluten till Arduino via Relay. Som till exempel ges återuppringningsfunktion för Light ON nedan:
funktion light_on_Callback (hObject, eventdata, handles)% hObject handtag till light_on (se GCBO)% eventdata reserverad - definieras i en framtida version av MATLAB% hanterar struktur med handtag och användardata (se GUIDATA) global ar; ar.digitalWrite (3, 1); ar.digitalWrite (13, 1);
På samma sätt kan vi skriva koden i återuppringningsfunktionerna på alla knappar, för att kontrollera de andra anslutna hushållsapparaterna, kontrollera hela MATLAB-koden nedan (.m-fil).