Inhoudsopgave:
- Stap 1: Gebruikte onderdelen
- Stap 2: Probleemstelling
- Stap 3: Installatie
- Stap 4: MATLAB-code voor het besturen van de fotocel
- Stap 5: MATLAB-code voor het uitschakelen van lichten
- Stap 6: MATLAB-code voor het inschakelen van lichten
- Stap 7: MATLAB-code voor GUI
Video: Energy Saver 3000: 7 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Adrien Green, Huy Tran, Jody Walker
Het gebruik van een Raspberry Pi-computer en Matlab is een eenvoudige en effectieve manier om huiseigenaren te helpen hun energieverbruik te verminderen. Het beste van de Energy Saver 3000 is dat hij heel eenvoudig te installeren en te gebruiken is. Het belangrijkste doel van de Energy Saver 3000 is om huiseigenaren in staat te stellen hun energierekening te volgen om te zien hoeveel ze uitgeven, en om huiseigenaren in staat te stellen de lichten in hun huizen op afstand uit te schakelen met een druk op de knop.
Stap 1: Gebruikte onderdelen
1: Raspberry Pi-computer
2: Breadboard
3: Doorverbindingsdraden
4: Drukknop
5: Mini-LED-verlichting
6: 330 ohm, 10 Kohm en een weerstand van 300 ohm
7: Ethernet-kabel
8: Lichtfotocel
Stap 2: Probleemstelling
Ons project was om een energiespaarder voor thuis te ontwerpen met behulp van een Raspberry Pi-computer en MATLAB. Ons doel was om een systeem te bouwen waarmee gebruikers hun energierekening kunnen volgen om te zien of ze hun energieverbruik kunnen verminderen. We wilden ook dat gebruikers met een druk op de knop hun lichten konden uitdoen terwijl ze weg waren. Om dit te doen, hebben we een fotocel aangesloten om te voelen wanneer de lichten aan zijn. Als de lichten aan zijn, berekent het MATLAB-programma hoe lang ze aan zijn geweest en hoeveel energie en geld er is uitgegeven sinds ze aan zijn.
Stap 3: Installatie
Sluit het breadboard aan zoals weergegeven in de bovenstaande afbeelding.
Stap 4: MATLAB-code voor het besturen van de fotocel
functie control_light()rpi = raspi();
schrijfDigitalPin(rpi, 12, 1)
tijd = 0
somkosten = 0
Tijd = 0
Kosten = 0
lamp = 100/1000;% kilowatt
voor ik = 1:2
tic
terwijl het waar is
x = leesDigitalPin(rpi, 13)
als x == 1
schrijfDigitalPin(rpi, 19, 1)
anders als x == 0
schrijfDigitalPin(rpi, 19, 0)
toc;
tijd = tijd + toc
kwh = toc * lamp
dollar = 0,101
kosten = kwh * dollars
somkosten = somkosten + kosten
X = linspace(Tijd, tijd, 10)
Y = linspace(Kosten, somkosten, 10)
Tijd = tijd
Kosten = somkosten
disp(['Licht is al aan', num2str(toc), ' hours. Cost = $', num2str(cost)])
plot(X, Y, 'b') title('Kosten in de loop van de tijd')
xlabel('Tijd (uren)')
ylabel('Kosten ($Dollars)')
vasthouden
pauze
einde
einde
pauze(5)
tic
terwijl het waar is
x = leesDigitalPin(rpi, 13)
als x == 1
schrijfDigitalPin(rpi, 19, 1)
anders als x == 0
schrijfDigitalPin(rpi, 19, 0)
toc;
tijd = Tijd + toc
kwh = toc * lamp
dollar = 0,101
kosten = kwh * dollars
somkosten = kosten + kosten
X = linspace(Tijd, tijd, 10)
Y = linspace(Kosten, somkosten, 10)
Tijd = tijd
Kosten = somkosten
disp(['Licht is aan geweest voor ', num2str(toc), ' hours. Cost = $', num2str(cost)])
plot (X, Y, 'g')
titel ('Kosten in de loop van de tijd')
xlabel('Tijd (uren)')
ylabel('Kosten ($Dollars)')
vasthouden
pauze
einde
einde
pauze(5)
einde
Stap 5: MATLAB-code voor het uitschakelen van lichten
functie button_controlv1()
rpi = raspi();
voorwaarde = 1;
terwijl true% een oneindige lus maakt om de code actief te houden
knop = readDigitalPin(rpi, 6); % Leest de druk op de knop waarde op pin 6
als knop == 0
condi = condi + 1
einde
if mod(condi, 2) == 0
schrijfDigitalPin(rpi, 17, 0)
h = msgbox('Je hebt het licht uitgedaan.:)') waitfor(h);
pauze
einde
if mod(condi, 2) == 1
schrijfDigitalPin(rpi, 17, 1)
einde
einde
Stap 6: MATLAB-code voor het inschakelen van lichten
functie button_controlv2()
rpi = raspi();
voorwaarde = 2;
terwijl true% een oneindige lus maakt om de code actief te houden
knop = readDigitalPin(rpi, 6); % Leest de druk op de knop waarde op pin 6
als knop == 0
condi = condi + 1
einde
if mod(condi, 2) == 0
schrijfDigitalPin(rpi, 17, 0)
einde
if mod(condi, 2) == 1
schrijfDigitalPin(rpi, 17, 1)
h = msgbox('Je hebt het licht aangedaan.:(')
wachten op (h);
pauze(10)
pauze
einde
einde
Stap 7: MATLAB-code voor GUI
functie EnergySaver3000()
imgurl='https://clipart-library.com/images/pc585dj9i.jpg';
imgfile='Gloeilamp.jpg'; urlwrite(imgurl, imgbestand);
imgdata= imread(imgbestand);
h=msgbox('Welkom bij de Energy Saver 3000!', '', 'custom', imgdata);
wachten op (h);
duidelijk h;
terwijl het waar is
iprogram=menu('Welk programma wilt u uitvoeren?', 'Bill Calculator', 'Light Control');
if iprogramme==1
control_light() h=msgbox('Klaar!!!')
sluit alles
anders
iprogramma==2
einde
duidelijk h;
ichoice=menu('Lichtregeling', 'Inschakelen', 'Uitschakelen', 'Nevermind');
if ichoice == 1
button_controlv2()
h=msgbox('Klaar!!!')
elseif ichoice ==2
button_controlv1()
h=msgbox('Klaar!!!')
elseif ichoice==3
h=msgbox('Je hebt niets gedaan:(') waitfor(h);
h=msgbox('Klaar!!!')
einde
wachten op (h);
einde
einde
Aanbevolen:
Toegang krijgen tot een Dell Inspiron 15 3000 serie harde schijf: 10 stappen
Toegang krijgen tot een Dell Inspiron 15 3000-serie harde schijf: Hallo Instructables-lezers, vandaag laat ik u zien hoe u toegang krijgt tot een harde schijf in een Dell Inspiron 15 3000-serie laptop. Hoogstwaarschijnlijk, als u dit leest, hebt u ofwel problemen met het fotograferen van de computer en wilt u de harde schijf opnieuw plaatsen of u
Arduino Pump Saver: 3 stappen
Arduino Pump Saver: Op een strenge winterdag zaten mijn vrouw en ik in de woonkamer te lezen, toen ze naar mij keek en vroeg: "Wat is dat voor geluid?" Er liep iets vast in huis waarvan we dachten dat het niet bekend klonk, dus ging ik naar beneden
Arduino Home Energy Saver: 5 stappen
Arduino Home Energy Saver: u bouwt een Home Energy-systeem dat bedoeld is om de energie van uw huis te bewaken om zo de elektriciteits- en andere energierekeningen te verlagen. In dit model kan uw apparaat de temperatuur in uw huis controleren en dienovereenkomstig aanpassen
Project: Home Energy Saver: 8 stappen
Project: Home Energy Saver: Hannah Robinson, Rachel Wier, Kaila Cleary Het gebruik van een Arduino-bord en Matlab bleek een eenvoudige en effectieve methode te zijn om huiseigenaren te helpen hun energieverbruik te optimaliseren. De eenvoud en veelzijdigheid van het Arduino-bord is verrassend. Er zijn
Screen Saver Defeater: 9 stappen
Screen Saver Defeater: een vakje dat voorkomt dat uw schermbeveiliging wordt geactiveerd wanneer u uw muis erop plaatst