Inhaltsverzeichnis:
- Schritt 1: Zu Beginn: Materialien
- Schritt 2: Schritt 2: Annäherung an das zu lösende Problem
- Schritt 3: Schritt 3: Konfigurieren der GUI und des grundlegenden Codeflusses
- Schritt 4: Schritt 3: Einrichten des Thermostatsystems
- Schritt 5: Schritt 4: Einrichten des Türsystems
- Schritt 6: Schritt 6: Einrichten des Flutlichtsystems
- Schritt 7: Fazit
Video: Arduino Smart Home-System - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
In diesem Instructable zeigen wir Ihnen, wie Sie mit dem App Designer von MATLAB mit einem Sparkfun Red Board Ihr eigenes Smart Home-System erstellen. Dieses Instructable kann verwendet werden, um ein grundlegendes Verständnis des App Designers von MATLAB zu erlangen sowie einen Fotowiderstand, einen Servomotor und einen PIR-Bewegungssensor zu verwenden.
Schritt 1: Zu Beginn: Materialien
Für dieses Projekt werden folgende Materialien benötigt:
- Arduino Uno (Für dieses Projekt haben wir ein Sparkfun Red Board verwendet)
- Ein Fotowiderstand
- Ein Mini-Servomotor
- Ein kontinuierlicher Servomotor
- Ein PIR-Bewegungssensor
- Ein Temperatursensor
- 2 LEDs
- Drähte und Widerstände nach Bedarf
Schritt 2: Schritt 2: Annäherung an das zu lösende Problem
Das Hauptziel dieses Projekts war es, ein einfach zu bedienendes Smart-Home-System zu erstellen, indem ein Arduino Uno-Board mit MATLAB codiert wurde. Wir dachten zuerst darüber nach, nur mit einem Temperatur- und Feuchtigkeitssensor zu arbeiten, aber wenn wir bei diesen beiden Sensoren bleiben würden, wäre unser Smart-Home-System nicht leicht für ein breites Publikum vermarktbar. Wir entschieden uns, ein umfassendes Smart Home-Energiesystem zu schaffen, das als intelligentes Thermostat- und Sicherheitssystem funktioniert. Schließlich wollten wir mit dem AppDesigner von MATLAB arbeiten, damit der Benutzer das Smart Home ganz einfach nach Belieben ändern kann.
Schritt 3: Schritt 3: Konfigurieren der GUI und des grundlegenden Codeflusses
Um zu starten, müssen Sie MATLABs AppDesigner öffnen und Folgendes platzieren:
Zwei numerische Eingabefelder für eine heiße und kalte Schwelleneingabe
Ein Knopf zum Entriegeln der Tür
Und vier Kontrollleuchten für Kamin, Tür, Ventilator und Flutlicht.
Zwei Etiketten zur Kommunikation mit dem Benutzer.
Für dieses Projekt fanden wir es einfacher, mit globalen Variablen und der Startfunktion innerhalb des Designers zu arbeiten. Sie benötigen diese Variablen innerhalb der Startfunktion:
global
a = arduino('COM3', 'uno', 'Bibliotheken', 'Servo'); global s global p global hotUI global coldUI global unlock global temp global curr_temp global int_light
Im Moment haben wir nur eine Zuweisung für die Variable a, damit Ihr Computer das Arduino lesen kann. COM3 kann unterschiedlich sein, je nachdem, welchen Port Ihr Computer verwendet.
Wenn Sie den Code ausführen, wird er innerhalb der Startfunktion gestartet, um die globalen Variablen zu erstellen und das System zu kalibrieren. Am Ende dieser Funktion befindet sich eine Timer-Funktion, die eine Eigenschaft namens Timer aufruft. In diese Timer-Eigenschaft geben wir den Code ein, der das Heimsystem ausführt, damit der Timer den Kalibrierungscode nicht erneut ausführt.
Hinweis: Wir haben keine Verkabelungsanleitung für das System gegeben. Wir haben auf das Handbuch verwiesen, das mit dem SparkFun Red-Board geliefert wird.
Schritt 4: Schritt 3: Einrichten des Thermostatsystems
Die Funktion des Thermostats funktioniert wie folgt:
Der Benutzer gibt ein, welche Temperatur er für zu heiß oder zu kalt hält. Sobald das Thermometer eine Messung vornimmt und das Haus zu kalt ist, schaltet sich der "Kamin" (eine rote LED) ein und heizt das Haus. Wenn es im Haus zu heiß ist, schaltet ein "Lüfter" (kontinuierlicher Servomotor) die Kühlung des Hauses ein.
So codieren Sie das Thermostatsystem:
Wir beginnen innerhalb der Startfunktion, um die aktuelle Temperatur anzuzeigen und den Benutzer seine Kalt- und Heißschwellen eingeben zu lassen.
p = 'A0' %Photowiderstandsstift
volt = readVoltage(a, temp); celc = (Volt – 0,5).*100; curr_temp = celc*9/5+32; app. Label_4. Text = num2str(curr_temp); %Etikettnummer kann sich ändern pause(10); %Möglicherweise ändern!!!!!
Dann vervollständigen wir das Thermostatsystem innerhalb der Timer-Eigenschaft.
global curr_temp
global coldUI global a global hotUI if curr_temp hotUI app. FanStateLamp. Color = [0,47 0,67 0,19]; %Schaltet die GUI-Lampe grün writePWMDutyCycle(a, 'D11',.9) %Die nächsten drei Codezeilen führen den Servolüfter an. (10) writePWMDutyCycle(a, 'D11',.0) else app. FireplaceStateLamp. Color = [0,90 0,90 0,90]; %Dies schaltet alle GUI-Lampen und den Kamin aus app. FanStateLamp. Color = [0.9 0.9 0.9]; writeDigitalPin(a, 'D13', 0); Ende
Schritt 5: Schritt 4: Einrichten des Türsystems
Die Funktion für die Tür funktioniert wie folgt:
Wenn Sie Ihren MATLAB-Code zum ersten Mal ausführen, werden Sie von der App aufgefordert, die Tür zu öffnen, damit der Fotowiderstand eine erste Lichtmessung vornehmen kann. Sobald dies abgeschlossen ist, wird der Timer aktiviert und der Fotowiderstand nimmt sekundäre Lichtmessungen vor. Wenn die Sekundärlichtanzeige heller ist als die Anfangsanzeige, verriegelt ein Servomotor die Tür. Wenn der Benutzer die Tür entriegeln möchte, kann er eine Taste in der App drücken, die die Tür entriegelt.
So konfigurieren Sie den Servomotor und den Fotowiderstand:
So codieren Sie das Türsystem:
Wir beginnen mit der Startfunktion, um die ersten Lichtmessungen durchzuführen.
s = servo(a, 'D9') %Pin kann sich je nach Verkabelung ändern
app. Label_4. Text='Bitte öffnen Sie die Tür, um das System zu kalibrieren'; Pause (15); %Dies gibt dem Benutzer Zeit, die Tür zu öffnen int_light = readVoltage(a, p); app. Label_4. Text = 'Sie können Ihren Finger entfernen';
Als Nächstes vervollständigen wir den Code in der Timer-Eigenschaft
globales entsperren
global int_light global s global a %Erhalte einen aktuellen Lichtwert zum Vergleichen curr_light = readVoltage(a, p); % -- Tür verriegeln -- if int_light<curr_light writePosition(s, 1) %Servopositionen können je Motorpause unterschiedlich sein (0,5); app. DoorStateLamp. Color = [0,47 0,67 0,19]; Ende % -- Tür entriegeln -- wenn entriegeln == 1234 Pause(0.5); writePosition(s,.52) app. DoorStateLamp. Color = [0,85 0,33 0,10]; Ende
Schließlich erstellen wir den Rückruf für die Schaltfläche zum Entsperren. Sobald der Benutzer die Schaltfläche zum Entsperren drückt, wird der globalen Variable unlock eine Zahl zugewiesen, die die letzte if-Anweisung in der Timer-Eigenschaft abschließen kann.
globales entsperren
entsperren = 1234;
Schritt 6: Schritt 6: Einrichten des Flutlichtsystems
Die Funktion für das Flutlicht funktioniert wie folgt:
Wenn Sie den MATLAB-Code starten, beginnt der PIR-Bewegungssensor, Bewegungen zu erkennen. Sobald es eine Art von Bewegung erkennt, wird ein Stromsignal unterbrochen. Sobald dieses Signal unterbrochen ist, wird ein Flutlicht außerhalb des Hauses eingeschaltet.
So konfigurieren Sie das Flutlichtsystem:
So codieren Sie das Flutlichtsystem:
Diesmal können wir zur Timer-Eigenschaft springen, da wir keine zusätzlichen Variablen schreiben müssen.
human_detected = readDigitalPin(a, 'D2'); %Pin kann sich je nach Konfiguration ändern, wenn human_detected == 0 writeDigitalPin(a, 'D7', 1) %Pin kann sich ändern app. FloodLightStateLamp. Color = [0,47 0,67 0,19]; elseif human_detected == 1 app. FloodLightStateLamp. Color = [0.9 0.9 0.9]; writeDigitalPin(a, 'D7', 0) end
Schritt 7: Fazit
Jetzt, da Sie einen Entwurf Ihrer GUI mit dem App Designer und Ihrem Code für das Arduino haben, sind Sie bereit, Ihre eigenen Bearbeitungen vorzunehmen oder Ihr Arduino anzuschließen und loszulegen!
Empfohlen:
Smart Home mit Arduino MKR1000 und M.I.T. Android-App: 4 Schritte
Smart Home mit Arduino MKR1000 und M.I.T. Android App: In diesem Tutorial beschreibe ich, wie Sie mit wenigen Komponenten Ihr Smart Home verbessern können. (Massachusetts Institu
Home-Erinnerung: 5 Schritte
Heimerinnerung: Dieses Projekt kann Ihre Familie daran erinnern, dass Sie zu Hause sind, wenn sie mit Hausarbeit oder anderen Dingen beschäftigt ist. Der Grund, warum ich diese Erinnerung erstelle, ist, dass meine Mutter jeden Tag, wenn ich von der Schule nach Hause komme, normalerweise kocht und sie nicht hören konnte, dass ich b
Erste Schritte mit der Heimautomatisierung: Home Assistant installieren: 3 Schritte
Erste Schritte mit der Hausautomation: Home Assistant installieren: Wir starten jetzt die Hausautomationsserie, in der wir ein Smart Home erstellen, das es uns ermöglicht, Dinge wie Licht, Lautsprecher, Sensoren usw. über einen zentralen Hub zusammen mit einem Sprachassistent. In diesem Beitrag erfahren Sie, wie Sie in
Polstern Sie Ihr Google Home Mini neu – wikiHow
Polstern Sie Ihren Google Home Mini neu: Möchten Sie einen wirklich einzigartigen digitalen Assistenten für Ihr Zuhause? Du könntest zu einem Flohmarkt, einem Secondhand-Laden oder dem Haus deiner Großmutter gehen und am Ende mit einem alten Stuhl enden. In diesem Fall können Sie diesen Möbeln durch Neupolsterung neuen Schwung verleihen
Smart Home: 10 Schritte
Smart Home: Diese Smart Home-Anwendung schaltet das Licht ein, in diesem Fall die LED, wenn es dunkel ist und eine Bewegung erkannt wird. Es hilft, wenn der Bereich dunkel ist, sodass Benutzer den Schalter für die Lichter nicht finden müssen, was im Dunkeln schwierig sein kann. Außerdem ist dies ein