Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
Adrien Green, Huy Tran, Jody Walker
Korištenje računala Raspberry Pi i Matlaba jednostavan je i učinkovit način da se pomogne vlasnicima kuća da smanje potrošnju energije. Najbolji dio Energy Saver 3000 -a je taj što je vrlo jednostavan za postavljanje i korištenje. Glavna svrha programa Energy Saver 3000 je omogućiti vlasnicima kuća da prate svoje račune za energiju kako bi vidjeli koliko troše, te omogućiti vlasnicima kuća da daljinski isključe svjetla u svojim domovima pritiskom na gumb.
Korak 1: Korišteni dijelovi
1: računalo Raspberry Pi
2: Oglasna ploča
3: Žice kratkospojnika
4: Pritisnite gumb
5: Mini LED svjetla
6: 330 ohma, 10 kohma i otpornik od 300 ohma
7: Ethernet kabel
8: Svjetlosna fotoćelija
Korak 2: Izjava o problemu
Naš je projekt bio dizajnirati kućnu uštedu energije pomoću računala Raspberry Pi i MATLAB -a. Naš je cilj bio izgraditi sustav koji će korisnicima omogućiti praćenje računa za energiju kako bi vidjeli mogu li smanjiti potrošnju energije. Također smo htjeli da korisnici mogu isključiti svjetla dok su otišli pritiskom na gumb. Da bismo to učinili, ožičili smo fotoćeliju kako bismo osjetili kada su svjetla uključena. Ako su svjetla upaljena, program MATLAB izračunat će koliko su dugo uključeni i koliko je energije i novca potrošeno otkad su uključeni.
Korak 3: Postavljanje
Ožičite matičnu ploču kao što je prikazano na gornjoj slici.
Korak 4: MATLAB kôd za kontrolu fotoćelije
funkcija control_light () rpi = raspi ();
writeDigitalPin (rpi, 12, 1)
vrijeme = 0
ukupni trošak = 0
Vrijeme = 0
Trošak = 0
žarulja = 100/1000;% kilovata
za i = 1: 2
tic
dok je istina
x = readDigitalPin (rpi, 13)
ako je x == 1
writeDigitalPin (rpi, 19, 1)
inače ako je x == 0
writeDigitalPin (rpi, 19, 0)
toc;
vrijeme = vrijeme + toc
kwh = toc * žarulja
dolara = 0,101
trošak = kwh * dolara
sumcost = sumcost + trošak
X = međuprostor (vrijeme, vrijeme, 10)
Y = međuprostor (cijena, ukupni trošak, 10)
Vrijeme = vrijeme
Trošak = ukupni trošak
disp (['Svjetlo je bilo uključeno', num2str (toc), 'sati. Cijena = $', num2str (trošak)])
zaplet (X, Y, 'b') naslov ('Troškovi s vremenom')
xlabel ('Vrijeme (sati)')
ylabel ('Cijena (dolara)')
drži se
pauza
kraj
kraj
stanka (5)
tic
dok je istina
x = readDigitalPin (rpi, 13)
ako je x == 1
writeDigitalPin (rpi, 19, 1)
inače ako je x == 0
writeDigitalPin (rpi, 19, 0)
toc;
vrijeme = Vrijeme + toc
kwh = toc * žarulja
dolara = 0,101
trošak = kwh * dolara
sumcost = Trošak + trošak
X = međuprostor (vrijeme, vrijeme, 10)
Y = međuprostor (cijena, ukupni trošak, 10)
Vrijeme = vrijeme
Trošak = ukupni trošak
disp (['Svjetlo je bilo uključeno', num2str (toc), 'sati. Cijena = $', num2str (trošak)])
nacrt (X, Y, 'g')
title ('Troškovi s vremenom')
xlabel ('Vrijeme (sati)')
ylabel ('Cijena (dolara)')
drži se
pauza
kraj
kraj
stanka (5)
kraj
Korak 5: MATLAB kôd za gašenje svjetla
funkcijska tipka_kontrolav1 ()
rpi = raspi ();
condi = 1;
dok true % stvara beskonačnu petlju za održavanje koda
button = readDigitalPin (rpi, 6); % Čita vrijednost pritiska tipke na pin 6
ako je gumb == 0
condi = condi + 1
kraj
ako je mod (condi, 2) == 0
writeDigitalPin (rpi, 17, 0)
h = msgbox ('Ugasili ste svjetlo.:)') waitfor (h);
pauza
kraj
ako je mod (condi, 2) == 1
writeDigitalPin (rpi, 17, 1)
kraj
kraj
Korak 6: MATLAB kôd za paljenje svjetla
funkcijska tipka_kontrolav2 ()
rpi = raspi ();
condi = 2;
dok true % stvara beskonačnu petlju za održavanje koda
button = readDigitalPin (rpi, 6); % Čita vrijednost pritiska tipke na pin 6
ako je gumb == 0
condi = condi + 1
kraj
ako je mod (condi, 2) == 0
writeDigitalPin (rpi, 17, 0)
kraj
ako je mod (condi, 2) == 1
writeDigitalPin (rpi, 17, 1)
h = msgbox ('Uključio si svjetlo.:(')
waitfor (h);
stanka (10)
pauza
kraj
kraj
Korak 7: MATLAB kôd za GUI
funkcija EnergySaver3000 ()
imgurl = 'https://clipart-library.com/images/pc585dj9i.jpg';
imgfile = 'Sijalica.jpg'; urlwrite (imgurl, imgfile);
imgdata = imread (imgfile);
h = msgbox ('Dobro došli u Energy Saver 3000!', '', 'custom', imgdata);
waitfor (h);
čist h;
dok je istina
iprogram = menu ('Koji program želite pokrenuti?', 'Kalkulator računa', 'Upravljanje svjetlom');
ako je iprogram == 1
control_light () h = msgbox ('Gotovo !!!')
zatvori sve
inače
iprogram == 2
kraj
čist h;
ichoice = izbornik ('Upravljanje svjetlom', 'Uključivanje', 'Isključivanje', 'Nema veze');
ako je ichoice == 1
button_controlv2 ()
h = msgbox ('Gotovo !!!')
elseif ichoice == 2
button_controlv1 ()
h = msgbox ('Gotovo !!!')
elseif ichoice == 3
h = msgbox ('Niste učinili ništa:(') waitfor (h);
h = msgbox ('Gotovo !!!')
kraj
waitfor (h);
kraj
kraj