Wir alle kennen das Wort "Automatisierung", bei dem die menschliche Interaktion minimal ist und die Dinge automatisch oder ferngesteuert gesteuert werden können. Die Hausautomation ist ein sehr beliebtes und anspruchsvolles Konzept im Bereich der Elektronik, und wir bemühen uns nach besten Kräften, dieses Konzept als Elektronikprojekte leicht verständlich und handhabbar zu machen. Wir haben zuvor verschiedene Arten von Hausautomationsprojekten mit einem funktionierenden Video und Code entwickelt. Bitte überprüfen Sie:
- DTMF-basierte Hausautomation
- GSM-basierte Hausautomation mit Arduino
- PC-gesteuerte Hausautomation mit Arduino
- Bluetooth-gesteuerte Heimautomation mit 8051
- IR-ferngesteuerte Hausautomation mit Arduino
Und in diesem Projekt werden wir unser nächstes Hausautomationsprojekt mit MATLAB und Arduino erstellen, einem GUI-basierten Hausautomationssystem mit Arduino und MATLAB
Komponenten:
- Arduino UNO
- USB-Kabel
- ULN2003
- Relais 5 Volt
- Glühbirne mit Halter
- Kabel anschließen
- Laptop
- Energieversorgung
- PVT
Arbeitserklärung:
In diesem Projekt verwenden wir MATLAB mit Arduino, um die Haushaltsgeräte über eine grafische Benutzeroberfläche in Computer zu steuern. Hier haben wir die drahtgebundene Kommunikation zum Senden von Daten vom Computer (MATLAB) an Arduino verwendet. Auf der Computerseite haben wir die GUI in MATLAB verwendet, um einige Schaltflächen zur Steuerung von Haushaltsgeräten zu erstellen. Für die Kommunikation zwischen Arduino und MATLAB müssen wir zuerst das " MATLAB- und Simulink-Support für Arduino " oder " Arduino IO Package " installieren. Befolgen Sie dazu die folgenden Schritte oder sehen Sie sich das folgende Video an:
- Laden Sie das Arduino IO-Paket hier herunter. Sie müssen sich vor dem Download anmelden.
- Brennen Sie dann die Datei adioe.pde mit der Arduino IDE auf das Arduino und laden Sie sie hoch. Diese adioe.pde-Datei befindet sich im Arduino IO-Paket - ArduinoIO \ pde \ adioe \ adioe.pde
- Öffnen Sie dann die MATLAB-Software, durchsuchen Sie den Arduino IO-Ordner, öffnen Sie die Datei install_arduino.m und führen Sie sie in Matlab aus. Im Befehlsfenster von MATLAB wird die Meldung "Dem Pfad hinzugefügte Arduino-Ordner" angezeigt. Dies bedeutet, dass der MATLAB-Pfad auf Arduino-Ordner aktualisiert wird.
So machen wir den Arduino, kommunizieren mit MATLAB. Die obige Methode eignet sich für "MATLAB R2013b oder frühere Versionen". Wenn Sie die höhere Version von MATLAB (wie R2015b oder R2016a) verwenden, können Sie direkt auf die Registerkarte "Add-Ons" in MATLAB klicken und dann auf "Hardware-Support-Pakete abrufen" klicken. Von hier aus können Sie Arduino-Pakete für MATLAB installieren.
Nach der Installation der Dateien können Sie jetzt eine GUI für das Home Automation-Projekt erstellen. Grundsätzlich erstellen wir in der GUI Drucktasten zur Steuerung der Haushaltsgeräte vom Computer aus. Schaltflächen können erstellt werden, indem Sie in MATLAB im Menü „Neu“ im Menü „Neu“ auf „Grafische Benutzeroberfläche“ klicken. Weiter können wir den Namen und die Farben dieser Tasten einstellen. Wir haben 8 Tasten erstellt, von denen sechs drei Haushaltsgeräte ein- und ausschalten und zwei Tasten alle Geräte gleichzeitig ein- und ausschalten.
Wenn Sie nun nach dem Erstellen der Schaltflächen in diesem GUI-Fenster auf die Schaltfläche Ausführen klicken, werden Sie aufgefordert, diese GUI-Datei (mit der Erweiterung.fig), auch als " fig-Datei" bezeichnet, zu speichern. Sobald Sie die Datei gespeichert haben, wird automatisch eine Codedatei (mit der Erweiterung.m) erstellt, die auch als " M-Datei" bezeichnet wird (siehe Abbildung unten), in die Sie den Code einfügen können (siehe Abschnitt "Code" unten). Sie können die GUI-Datei und die Codedatei für dieses Projekt hier herunterladen: Home_Automation_system.fig und Home_Automation_system.m (klicken Sie mit der rechten Maustaste und wählen Sie Link speichern unter…), oder Sie können sie selbst erstellen, wie wir es erklärt haben.
Nach dem Codieren können Sie nun endlich die.m-Datei über das Codefenster ausführen. Im Befehlsfenster wird "Verbindungsversuch…" angezeigt. Dann erscheint die Meldung "Arduino erfolgreich verbunden", wenn alles gut geht. Und schließlich sehen Sie die zuvor erstellte GUI (Schaltflächen) im GUI-Fenster, von wo aus Sie die Haushaltsgeräte steuern können, indem Sie einfach auf die Schaltflächen in Ihrem Computer klicken. Stellen Sie sicher, dass Arduino über ein USB-Kabel mit Arduino verbunden ist. Hier in diesem Projekt haben wir 3 Glühbirnen zur Demonstration verwendet, die auf Lüfter, Licht und Fernseher hinweisen.
Die Funktionsweise des gesamten Projekts, von der Installation des Arduino MATLAB-Support-Pakets bis zum Ein- und Ausschalten der Appliance, ist im Video am Ende zu verstehen.
Schaltungserklärung:
Die Schaltung dieses Projekts ist sehr einfach. Hier haben wir eine Arduino UNO-Karte und einen Relaistreiber ULN2003 zum Ansteuern von Relais verwendet. Drei 5-Volt-SPDT-Relais sind über den Relaistreiber ULN2003 mit den Arduino-Pins 3, 4 und 5 verbunden, um LICHT, LÜFTER bzw. TV zu steuern.
Programmiererklärung:
Wenn wir eine beliebige Taste im GUI-Fenster drücken, werden einige Befehle an Arduino gesendet, und dann führt Arduino diese Operation aus. Nach der Installation des Arduino MATLAB IO-Support-Pakets können wir über MATLAB auf Arduino zugreifen, indem wir dieselben Arduino-Funktionen verwenden, mit einigen kleinen Abweichungen wie:
Um einen Pin in Arduino auf HIGH zu setzen, schreiben wir Code als digitalWrite (Pin, HIGH).
In MATLAB verwenden wir diese Funktion mit Hilfe eines Objekts oder einer Variablen wie:
und ebenso so weiter.
Bevor wir dies tun, müssen wir die Variable wie folgt initialisieren:
In diesem Projekt gibt es keinen Arduino-Code außer dem Code oder der Datei des Arduino MATLAB-Unterstützungspakets. Wie bereits erläutert, wird diese Codedatei (.m-Datei) beim Speichern der GUI-Datei (.fig-Datei) automatisch generiert. In der.m-Datei ist bereits Code vorab geschrieben. Grundsätzlich handelt es sich hierbei um Rückruffunktionen für Drucktasten. Dies bedeutet, dass wir festlegen können, was beim Klicken auf diese Drucktasten geschehen soll.
Im MATLAB-Code initialisieren wir zuerst die serielle Schnittstelle und machen sie mithilfe einer Variablen zu einem Objekt. Und dann können wir mit der Variablen wie Arduino programmieren.
klar ar; global ar; ar = Arduino ('COM13'); ar.pinMode (3, 'OUTPUT'); ar.pinMode (4, 'OUTPUT'); ar.pinMode (5, 'OUTPUT'); ar.pinMode (13, 'OUTPUT');
In der Rückruffunktion jeder Taste haben wir den zugehörigen Code für Ein oder AUS der jeweiligen Haushaltsgeräte geschrieben, die über Relais mit Arduino verbunden sind. Wie zum Beispiel ist die Rückruffunktion für Light ON unten angegeben:
Funktion light_on_Callback (hObject, eventdata, handle)% hObject handle to light_on (siehe GCBO)% eventdata reserviert - wird in einer zukünftigen Version von MATLAB definiert% Handles Struktur mit Handles und Benutzerdaten (siehe GUIDATA) global ar; ar.digitalWrite (3, 1); ar.digitalWrite (13, 1);
Ebenso können wir den Code in die Rückruffunktionen aller Tasten schreiben. Um die anderen angeschlossenen Haushaltsgeräte zu steuern, überprüfen Sie den vollständigen MATLAB-Code unten (.m-Datei).