Inhaltsverzeichnis:
- Schritt 1: Lichtempfindliche LED
- Schritt 2: Mini-Netzschalter
- Schritt 3: Zweite Lichtschranke
- Schritt 4: RGB-LED
- Schritt 5: Temperatursensor
- Schritt 6: DAGU Getriebemotor
- Schritt 7: Code
Video: EF230 Smart Home-Projekt - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
Benötigte Teile und Materialien:
- 1 Arduino MKR 1000
- 3 Steckbretter
- 2 Mini-Fotozellen
- 1 NPN-Transistoren
- 1 Mini-Netzschalter
- 1 LED – RGB (4-polig)
- 1 LED (Farbe nach Wahl)
- 1 Diode 1N4148
- 1 10K Ohm Widerstände
- 5 100 Ohm Widerstand
- 1 Temperatursensor TMP36
- 1 DAGU 48:1 Übersetzungsgetriebemotor
- 25 Überbrückungsdrähte
- USB-Kabel
- MATLAB-Programm
-
SIK Experimentieranleitung für das Arduino 101/Genuino 101 Board - SIK Experimentieranleitung Link
Dieses Projekt beschreibt das konzeptionelle Design eines Smart-Home-Systems, das Hausbesitzern dabei hilft, ihren Energieverbrauch und ihre Sicherheit mithilfe von Daten zu optimieren. Es enthält einen Lichtsensor, um nachts die Außenbeleuchtung einzuschalten, einen Lichtsensor für die Sicherheit und einen Temperatursensor und einen Lüfter zur Kontrolle der Innentemperatur.
Schritt 1: Lichtempfindliche LED
- Das lichtempfindliche LED-Setup soll die Außenbeleuchtung eines Hauses darstellen, die nachts aufleuchtet.
- Wenn die Mini-Fotozelle eine reduzierte Lichtmenge erkennt, leuchtet die LED auf.
- Für ein Smart Home hat dies Auswirkungen auf Energie und Sicherheit. Es spart Energie, indem es tagsüber das Licht ausgeschaltet lässt und nachts mehr Sicherheit bietet.
- Die genaue Verdrahtung und Einrichtung für diesen Teil des Projekts finden Sie unter Experiment 7 im SIK Experiment Guide.
Schritt 2: Mini-Netzschalter
- Der Schalter ist der erste Schritt im Sicherheitsprozess des Smart Home.
- Wenn er eingeschaltet ist, wird der Schalter eine Antwort einleiten, in der der Benutzer gefragt wird, ob er in den Modus "Zuhause" oder "Abwesend" wechseln möchte.
- Wenn der Modus „Zuhause“ausgewählt ist, gilt die Sicherheit als unscharf, aber die Auswahl des Modus „Abwesend“aktiviert das Sicherheitssystem.
- Die Verdrahtung für diesen Teil des Projekts finden Sie unter Experiment 6 im Experimentierleitfaden. Für die Zwecke des Smart Homes müssen die LEDs und deren Anschlussdrähte aus Experiment 6 nicht berücksichtigt werden.
Schritt 3: Zweite Lichtschranke
- Die zweite Lichtschranke dient als Bewegungssensor für das Sicherheitssystem des Smart Home.
- Der Sensor wird nur verwendet, wenn das System wie im vorherigen Schritt beschrieben in den „Abwesend“-Modus versetzt wird.
- Erfährt die Lichtschranke eine Abnahme der Lichtmenge, die sie erhält, erkennt sie dies als Bewegung im Inneren des Hauses.
- Den Aufbau für diesen Teil des Projekts finden Sie unter Experiment 7 im SIK Experiment Guide. Es müssen jedoch nur die Lichtschranke und ihre Anschlussdrähte in die Verdrahtung einbezogen werden.
Schritt 4: RGB-LED
- Die RGB-LED wird in Verbindung mit dem Mini-Netzschalter und der zweiten Lichtschranke für das Sicherheitssystem des Smart Home verwendet.
- Die drei verschiedenen Farben dienen als Indikatoren für den Smart Home Bewohner.
- Wenn das System in den Home-Modus versetzt wird, leuchtet die LED blau. Wenn das System in den 'Abwesend'-Modus versetzt wird, leuchtet die LED grün. Wenn die als Bewegungsmelder verwendete Fotozelle ausgelöst wird, blinkt das Licht rot.
- Die Verdrahtung der RGB-LED finden Sie im Experiment 3 des SIK Experimentierhandbuchs.
Schritt 5: Temperatursensor
- Der Temperatursensor trägt maßgeblich zum Energiesparen im Smart Home bei.
- Der Bewohner kann während der Nutzung des Smart Home eine Wunschtemperatur für sein Zuhause eingeben.
- Der Temperatursensor gibt dem System an, wie weit die tatsächliche Temperatur von der gewünschten Temperatur entfernt ist.
- Den Aufbau des Temperatursensors finden Sie im Experiment 9 der SIK Experimentieranleitung.
Schritt 6: DAGU Getriebemotor
- Der Motor ermöglicht es dem Smart Home, die Temperatur im Haus basierend auf der gewünschten Temperatur und den Messwerten des Temperatursensors zu regulieren.
- Als AC-Einheit im Haus dreht sich der Motor mit unterschiedlichen Geschwindigkeiten, je nachdem, wie viel höher die tatsächliche Temperatur als die gewünschte Temperatur ist. Je höher die Differenz, desto schneller dreht der Motor.
- Die Verkabelung des Motors finden Sie in der Experimentieranleitung unter Experiment 11.
Schritt 7: Code
- Der Code für das Smart Home enthält mehrere Benutzeroberflächen, die es dem Bewohner ermöglichen, die Funktionsweise leicht zu verstehen und die Einstellungen einfach zu ändern.
- Mit dem Smart-Home-System erhält der Bewohner eine E-Mail-Benachrichtigung, wenn der Bewegungssensor während seiner Abwesenheit ausgelöst wird.
- Die einzige Änderung, die vorgenommen werden muss, ist das Einfügen der Informationen für die E-Mail des Absenders und die E-Mail-Adresse des Empfängers.
klar a; klar s; klar m; clc; alle schließen; % Löschen Sie Arduino- und Servo-Variablen, damit sie jedes Mal neu definiert werden können, damit der Code effektiv ausgeführt wird ("clear m" ist erforderlich, damit eine der while-Schleifen ordnungsgemäß funktioniert)a = arduino (); % Stellen Sie die Arduino-Variable ein
s = Servo(a, 'D6'); % Stellt die Servovariable ein
% E-Mail-Variablen für Warn-E-Mails des Sicherheitssystems initialisieren
emails = {'Empfängeradresse einfügen'}; % E-Mail-Array, an das die Sicherheits-E-Mail gesendet werden soll
% E-Mail-Einstellungen, die für die Verwendung von Gmail zum Senden von E-Mails erforderlich sind
setpref('Internet', 'E_Mail', 'E-Mail-Adresse des Absenders');
setpref('Internet', 'SMTP_Benutzername', 'Benutzername des Absenders');
setpref('Internet', 'SMTP_Password', 'Passwort des Absenders');
props = java.lang. System.getProperties;
props.setProperty('mail.smtp.auth', 'true');
props.setProperty('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory'); props.setProperty('mail.smtp.socketFactory.port', '465');
% E-Mail-Betreff- und Textvariablen
subj = 'Einbruchalarm bei Ihnen zu Hause';
text = 'Hallo, Dies ist Ihr Smart Home-Sicherheitssystem, das Sie darüber informiert, dass außerhalb Ihres Hauses eine Bewegung erkannt wurde. Wir haben für Sie die notwendigen Maßnahmen ergriffen und Behörden kontaktiert. Bleib sicher.';
während wahr
prompt = {'Gewünschte Haustemperatur eingeben (zwischen 65F und 85F):'}; % Aufforderung zum Benutzereingabemenü
dlgtitle = 'Temperaturauswahl'; % Titel für Benutzereingabemenü
dims = [1 30]; % Abmessungen für Benutzereingabemenü
Definition = {'72'}; % Standardeingabe, die beim ersten Öffnen des Menüs angezeigt wird
tempsel_array = inputdlg(prompt, dlgtitle, dims, definput); % Popup-Benutzereingabemenü, das die eingegebene Zahl in einem Array speichert
if ~isempty(tempsel_array) % Wenn das Array NICHT leer ist
tempsel_char = cell2mat(tempsel_array); % Konvertieren des Arrays in eine Zeichenkette
tempsel = str2double(tempsel_char); % Wandeln Sie die Zeichenkette in Zahlen um
thingSpeakWrite(chID, tempsel, 'WriteKey', writeKey, 'Felder', 1); % Schreiben Sie die ausgewählte Temperatur in Ihren ThingSpeak-Kanal
break % Pause von der while-Schleife, damit das Menü nicht mehrmals erscheint
else % Wenn der Benutzer auf Abbrechen klickt, anstatt eine Temperatur einzugeben
msg1 = msgbox('Keine Temperatur ausgewählt, Standard ist 85F', 'Warnung!'); % Nachricht, die dem Benutzer angezeigt wird, nachdem er auf Abbrechen geklickt hat
warte auf(msg1); % Warten Sie, bis das Meldungsfeld geschlossen ist, bevor Sie fortfahren
Tempel = 85; % Stellen Sie die Temperatur auf die im Meldungsfeld angegebene Temperatur ein
thingSpeakWrite(chID, tempsel, 'WriteKey', writeKey, 'Felder', 1); % Schreiben Sie die ausgewählte Temperatur in Ihren ThingSpeak-Kanal
break % Pause von der while-Schleife, damit das Menü nicht mehrmals erscheint
Ende
Ende
während wahr
chID = 745517; % ThingSpeak-Kanal-ID
writeKey = 'G9XOQTP8KOVSCT0N'; % Schlüssel für den Zugriff auf den ThingSpeak-Kanal
% Sensoren initialisieren, um Daten abzurufen
tempread = readVoltage(a, 'A3'); % Lesen Sie die Spannung des Temperatursensors ab
lightl1 = readVoltage(a, 'A2'); % Lichtstärke für den Fotowiderstand, der zur roten LED geht
lightl2 = readVoltage(a, 'A5'); % Lichtstärke für den Fotowiderstand, der zum Sicherheitssystem geht
switchv = readVoltage(a, 'A0'); % Wert für den Schalter
% Konvertieren Sie die Temperaturdaten von Spannung in Grad Fahrenheit
tempC = (tempread - 0,5) * 100; % Spannung in Temperatur in Celsius umrechnen
tempF = (tempC * 9/5) + 32; % Temperatur in Celsius in Temperatur in Fahrenheit umrechnen
% Initialisieren Sie die Pin-Nummern für die mehrfarbige LED
redp = 'D9'; % Pin für rotes Licht von LED
greenp = 'D10'; % Pin für grünes Licht von LED
bluep = 'D11'; % Pin für blaues Licht von LED
if tempsel < tempF % Wenn die gewählte Temperatur größer als die Raumtemperatur ist
writePosition(s, 1); % Servo beginnt sich zu bewegen
pause(10) % Servo dreht sich 10 Sekunden lang weiter, um anzuzeigen, dass die Klimaanlage nach einer bestimmten Zeit ausgeschaltet wird
writePosition(s, 0); % Schalten Sie den Lüfter aus, um den Code ohne eingeschalteten Lüfter fortzusetzen
Tempel = 150; % Ändern Sie den Temperaturwert, um die Schleife zu verlassen, nachdem der Lüfter ausgeschaltet wurde, nur um den Code fortzusetzen
Ende
if lightl1 <= 3 % Wenn der erste Fotowiderstand eine geringe Lichtstärke erkennt
writeDigitalPin(a, 'A1', 1); % Schalten Sie die rote LED ein, die die Außenbeleuchtung darstellt
sonst % Wenn die Lichtstärke wieder hoch ist
writeDigitalPin(a, 'A1', 0); % Rote LED ausschalten, wenn die Lichtstärke wieder hoch genug ist
Ende
wenn switchv > 3 % Wenn der Schalter eingeschaltet ist
A = exist('m', 'var'); % Überprüfen Sie, ob die Variable 'm' vorhanden ist, dies wird für die while-Schleife initialisiert und ermöglicht, dass sie unterbrochen wird, wenn ein Menüpunkt ausgewählt wird (deshalb muss am Anfang des Codes m gelöscht werden)
während A==0 % Schleife wird ausgeführt, bis die Variable 'm' existiert
menutext = 'Welchen Sicherheitsmodus möchten Sie aufrufen?'; % Text für das Sicherheits-Popup-Menü
Auswahlmöglichkeiten = {'Zuhause', 'Abwesend'}; % Auswahlmöglichkeiten für das Sicherheits-Popup-Menü
m = Menü (Menütext, Auswahlmöglichkeiten); % Popup-Menü für Sicherheitssystemmodi
break % Stellt sicher, dass die while-Schleife unterbrochen wird, damit das Menü nicht mehrmals angezeigt wird
Ende
if m == 1 % Wenn 'Home'-Modus ausgewählt ist
writeDigitalPin(a, bluep, 1); % Schalten Sie nur blaues Licht in der Farbwechsel-LED ein
writeDigitalPin(a, redp, 0);
writeDigitalPin(a, greenp, 0);
elseif m == 2 % Wenn der Modus 'Abwesend' gewählt ist
writeDigitalPin(a, bluep, 0);
writeDigitalPin(a, redp, 0);
writeDigitalPin(a, greenp, 1); % Schalten Sie nur das grüne Licht in der Farbwechsel-LED ein
if lightl2 <= 3 % Wenn der Lichtpegel im zweiten Fotowiderstand niedrig ist, was eine vom Sicherheitssystem erkannte Bewegung darstellt
sendmail(E-Mails, Betreff, Text); % Senden Sie eine E-Mail mit den zuvor definierten E-Mail-Eigenschaften writeDigitalPin(a, greenp, 0); % Rote Farbe ein- und ausschalten 2 Mal
writeDigitalPin(a, redp, 1);
Pause(0.3)
writeDigitalPin(a, redp, 0);
Pause(0.3)
writeDigitalPin(a, redp, 1);
Pause(0.3)
writeDigitalPin(a, redp, 0);
Pause(0.3)
writeDigitalPin(a, redp, 1); % Beenden Sie mit durchgehendem Rot nach dem Blinken, um anzuzeigen, dass Bewegung vorhanden ist, bis die Lichtstärke wieder ansteigt
msg2 = msgbox('Eindringling vom Sicherheitssystem entdeckt, eine E-Mail wurde an die Hausbesitzer gesendet, um sie zu informieren.', 'WARNUNG!'); % Nachrichtenbox, um den Benutzer über die Bewegung zu informieren und über die gesendete E-Mail zu informieren waitfor(msg2) % Warten Sie, bis die Nachrichtenbox geschlossen ist, bevor Sie fortfahren
anders
writeDigitalPin(a, greenp, 1); % Sobald die Lichtstärke wieder angestiegen ist, wird sie wieder grün
Ende
Ende
elseif switchv < 3,3 % Wenn der Schalter ausgeschaltet ist
writeDigitalPin(a, bluep, 0); % Schalten Sie die LED vollständig aus, um anzuzeigen, dass das Sicherheitssystem ausgeschaltet ist
writeDigitalPin(a, redp, 0);
writeDigitalPin(a, greenp, 0);
Ende
Ende
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