Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Dieses instructable hilft zu erklären, wie man unser Smart Home System mit der Matlab-Software und der Raspberry Pi-Hardware einrichtet und benutzt. Am Ende dieses anweisbaren sollten Sie in der Lage sein, unser Produkt mit Leichtigkeit vollständig zu verwenden!
Schritt 1: Schritt 1: Benötigte Teile und Materialien
- Himbeer-Pi
- Steckbrett (x2)
- PIR-Bewegungssensor
- LCD-Modul
- LED-Licht
- Kondensator
- Raspberry Pi Kamera
- Mikro-Servomotor
- Doppelseitige Drähte (20)
Schritt 2: Schritt 2: Problembeschreibung
Die Probleme, die unser Produkt anzugehen versucht, sind manuelle Lichtsteuerung, Innentemperatursteuerung und Energieeffizienz. Wir haben uns auf die Energiemenge konzentriert, die ein durchschnittliches Haus verbraucht, und wir wollten Wege finden, den Energieverbrauch zu reduzieren. Angelassenes Licht und unnötige Thermostattemperaturen verursachen einen sehr hohen unnötigen Energieverbrauch. Das Licht wird durch Bewegung aktiviert, bis es ausgeschaltet wird, wenn ein Raum frei ist, und der Thermostat stellt sich basierend auf der Messung der Außentemperatur auf eine umweltfreundliche Temperatur ein.
Schritt 3: Schritt 3: Konfiguration des Bewegungssensors
Der Bewegungssensor wird an einen 3,3-V-Strom-Pin, einen Masse-Pin und einen digitalen Pin Ihrer Wahl angeschlossen. Sie sind mit den Anschlüssen VCC, GND bzw. OUT des Bewegungssensors verbunden. Der Bewegungssensor erkennt, wenn sich jemand in der Nähe befindet und aktiviert die LED, um anzuzeigen, dass das Licht eingeschaltet ist. Sobald keine Bewegung mehr erkannt wird, schaltet sich die LED aus. Der Code lautet wie folgt:
während wahr
motionDetected = readDigitalPin(rpi, 3);
if motionDetected == 1
writeDigitalPin(rpi, 16, 1)
anders
writeDigitalPin(rpi, 16, 0)
Ende
Ende
Schritt 4: Schritt 4: LCD-Modulanzeige
Das LCD übernimmt die Temperaturdaten aus den Live-Wetterinformationen aus dem Internet. Das LCD-Modul zeigt dann den aktuellen Temperaturmesswert an. In Matlab wird die Temperatur gelesen und durchläuft dann eine if-Schleife, um zu bestimmen, wie stark die Temperatureinstellung im Haus angepasst werden muss. Der Code lautet wie folgt:
url='https://forecast.weather.gov/MapClick.php?lat=35.9606&lon=-83.9207&FcstType=json';
Daten = webread(URL);
a = data.currentobservation. Temp;
fprintf('Die Außentemperatur beträgt %s\n', a)
x = str2num(a);
wenn x > 80
fprintf('Thermostat um 15 Grad herunterdrehen')
writeDigitalPin(rpi, 26, 1) %schaltet das Licht ein
Sonst x > 75 && x < 80
fprintf('Thermostat ausschalten \n')
writeDigitalPin(rpi, 26, 1) %schaltet das Licht ein
sonst x 55
fprintf('Dreh den Thermostat um 10 Grad auf \n')
writeDigitalPin(rpi, 26, 0) %schaltet das Licht aus
sonst x 45
fprintf('Dreh den Thermostat um 20 Grad auf \n')
writeDigitalPin(rpi, 26, 0) %schaltet das Licht aus
sonst x 40
fprintf('Dreh den Thermostat um 25 Grad auf \n')
writeDigitalPin(rpi, 26, 0) %schaltet das Licht aus
sonst x 30
fprintf('Dreh den Thermostat um 35 Grad auf \n')
anders
fprintf('Dreh den Thermostat auf 65 Grad \n')
Ende
Schritt 5: Schritt 5: Motor Servo Modul
Das Motor Servo Module soll die Möglichkeit zum Öffnen und Schließen der Jalousien darstellen. Wenn das Haus gekühlt werden muss, werden die Jalousien geschlossen, um weniger Wärme hereinzulassen. Wenn das Haus erwärmt werden muss, öffnen sich die Jalousien, um es schneller aufzuwärmen. Der Servo entscheidet, was zu tun ist, indem er Eingaben vom Benutzer empfängt, der mit einem Menü von Optionen interagiert. Der Code für den Motor lautet wie folgt:
s = Servo(rpi, 3)
writeDigitalPin(rpi, 4, 1)
writePosition(en, 45)
temp_sys = menu('Wie fühlst du dich?') %Temp-Regler
if temp_sys == 1 % heiß
writeDigitalPin(rpi, 26, 1) %schaltet das Licht ein
writePosition(s, 0) %turns Motor CW/CCW
Jalousien schließen, Licht ausschalten
elseif temp_sys == 2 %kalt
writeDigitalPin(rpi, 26, 0) %schaltet das Licht aus
writePosition(s, 180) %turns Motor CCW/CW
Jalousien öffnen, Licht anmachen
elseif temp_sys == 3 % genau richtig
fprintf('Temperaturstatus beibehalten.\n')
Ende
Schritt 6: Schritt 6: Bewegungssensor-Kamera
Die Bewegungssensor-Kamera macht ein Foto von denen, die einen Raum betreten oder verlassen. Wir haben dies als zusätzliche Sicherheitsfunktion für diejenigen ausgewählt, die neugierig sind, wer in ihrem Haus war. Wenn der Bewegungssensor eine Bewegung erkennt, weist der Matlab-Code die Kamera an, ein Bild aufzunehmen und anzuzeigen. Der Code lautet wie folgt:
i=0
klare Kamera
cam = Kameraplatine (rpi);
während ich==0
Schnappschuss (Kamera); % Bildpuffer löschen
img = Schnappschuss (Kamera);
Bilderc(img);
Ende