Inhaltsverzeichnis:
- Schritt 1: Verwendete Teile
- Schritt 2: Problembeschreibung
- Schritt 3: Einrichtung
- Schritt 4: MATLAB-Code zur Steuerung der Lichtschranke
- Schritt 5: MATLAB-Code zum Ausschalten von Lichtern
- Schritt 6: MATLAB-Code zum Einschalten von Lichtern
- Schritt 7: MATLAB-Code für GUI
Video: Energiesparer 3000 - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:20
Adrien Green, Huy Tran, Jody Walker
Die Verwendung eines Raspberry Pi-Computers und Matlab ist eine einfache und effektive Möglichkeit, Hausbesitzern zu helfen, ihren Energieverbrauch zu senken. Das Beste am Energy Saver 3000 ist, dass er sehr einfach einzurichten und zu verwenden ist. Der Hauptzweck des Energy Saver 3000 besteht darin, Hausbesitzern zu ermöglichen, ihre Energierechnung zu verfolgen, um zu sehen, wie viel sie ausgeben, und Hausbesitzern zu ermöglichen, das Licht in ihren Häusern aus der Ferne mit einem Knopfdruck auszuschalten.
Schritt 1: Verwendete Teile
1: Raspberry Pi-Computer
2: Steckbrett
3: Überbrückungsdrähte
4: Taste drücken
5: Mini-LED-Leuchten
6: 330 Ohm, 10 Kohm und ein 300 Ohm Widerstand
7: Ethernet-Kabel
8: Lichtschranke
Schritt 2: Problembeschreibung
Unser Projekt bestand darin, einen Energiesparer für zu Hause mit einem Raspberry Pi-Computer und MATLAB zu entwerfen. Unser Ziel war es, ein System zu entwickeln, mit dem Benutzer ihre Energierechnung verfolgen können, um zu sehen, ob sie ihren Energieverbrauch reduzieren können. Wir wollten auch, dass Benutzer ihre Lichter während ihrer Abwesenheit mit einem Knopfdruck ausschalten können. Dazu haben wir eine Fotozelle verdrahtet, um zu erkennen, wann die Lichter an sind. Wenn die Lichter eingeschaltet sind, berechnet das MATLAB-Programm, wie lange sie eingeschaltet sind und wie viel Energie und Geld seit dem Einschalten aufgewendet wurden.
Schritt 3: Einrichtung
Verdrahten Sie das Steckbrett wie im Bild oben gezeigt.
Schritt 4: MATLAB-Code zur Steuerung der Lichtschranke
Funktion control_light()rpi = raspi();
writeDigitalPin(rpi, 12, 1)
Zeit = 0
Summe = 0
Zeit = 0
Kosten = 0
Glühbirne = 100/1000;% Kilowatt
für i = 1:2
tic
während wahr
x = readDigitalPin(rpi, 13)
wenn x == 1
writeDigitalPin(rpi, 19, 1)
Sonst x == 0
writeDigitalPin(rpi, 19, 0)
toc;
Zeit = Zeit + Toc
kwh = toc * Glühbirne
Dollar = 0,101
Kosten = kWh * Dollar
Summenkosten = Summenkosten + Kosten
X = Zeilenabstand (Zeit, Zeit, 10)
Y = linspace(Kosten, Summekosten, 10)
Zeit = Zeit
Kosten = Summekosten
disp(['Licht ist seit ', num2str(toc), ' Stunden an. Kosten = $', num2str(Kosten)])
plot(X, Y, 'b') title('Kosten über die Zeit')
xlabel('Zeit (Stunden)')
ylabel('Kosten ($Dollar)')
festhalten
brechen
Ende
Ende
Pause(5)
tic
während wahr
x = readDigitalPin(rpi, 13)
wenn x == 1
writeDigitalPin(rpi, 19, 1)
Sonst x == 0
writeDigitalPin(rpi, 19, 0)
toc;
Zeit = Zeit + toc
kwh = toc * Glühbirne
Dollar = 0,101
Kosten = kWh * Dollar
Summekosten = Kosten + Kosten
X = Zeilenabstand (Zeit, Zeit, 10)
Y = linspace(Kosten, Summenkosten, 10)
Zeit = Zeit
Kosten = Summekosten
disp(['Licht war an für ', num2str(toc), ' Stunden. Kosten = $', num2str(Kosten)])
Plot(X, Y, 'g')
title('Kosten im Laufe der Zeit')
xlabel('Zeit (Stunden)')
ylabel('Kosten ($Dollar)')
festhalten
brechen
Ende
Ende
Pause(5)
Ende
Schritt 5: MATLAB-Code zum Ausschalten von Lichtern
Funktion button_controlv1()
rpi = raspi();
Zustand = 1;
während true % eine Endlosschleife erstellt, um den Code am Laufen zu halten
Taste = readDigitalPin (rpi, 6); % Liest den Tastendruckwert an Pin 6
wenn Taste == 0
condi = condi + 1
Ende
if mod(condi, 2) == 0
writeDigitalPin(rpi, 17, 0)
h = msgbox('Du hast das Licht ausgeschaltet.:)') waitfor(h);
brechen
Ende
if mod(condi, 2) == 1
writeDigitalPin(rpi, 17, 1)
Ende
Ende
Schritt 6: MATLAB-Code zum Einschalten von Lichtern
Funktion button_controlv2()
rpi = raspi();
Zustand = 2;
während true % eine Endlosschleife erstellt, um den Code am Laufen zu halten
Taste = readDigitalPin (rpi, 6); % Liest den Tastendruckwert an Pin 6
wenn Taste == 0
condi = condi + 1
Ende
if mod(condi, 2) == 0
writeDigitalPin(rpi, 17, 0)
Ende
if mod(condi, 2) == 1
writeDigitalPin(rpi, 17, 1)
h = msgbox('Du hast das Licht angemacht.:(')
warte auf(h);
Pause(10)
brechen
Ende
Ende
Schritt 7: MATLAB-Code für GUI
Funktion EnergySaver3000()
imgurl='https://clipart-library.com/images/pc585dj9i.jpg';
imgfile='Glühbirne.jpg'; urlwrite (imgurl, imgfile);
imgdata= imread(imgfile);
h=msgbox('Willkommen beim Energy Saver 3000!', '', 'custom', imgdata);
warte auf(h);
klar h;
während wahr
iprogram=menu('Welches Programm möchten Sie ausführen?', 'Rechnungsrechner', 'Lichtsteuerung');
if iprogramm==1
control_light() h=msgbox('Fertig!!!')
alle schließen
sonst
iprogramm==2
Ende
klar h;
ichoice=menu('Lichtsteuerung', 'Einschalten', 'Ausschalten', 'Nevermind');
wenn ichoice == 1
button_controlv2()
h=msgbox('Fertig!!!')
Sonst ichoice ==2
button_controlv1()
h=msgbox('Fertig!!!')
Sonst ichoice==3
h=msgbox('Du hast nichts getan:(') waitfor(h);
h=msgbox('Fertig!!!')
Ende
warte auf(h);
Ende
Ende