Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
Adrien Green, Huy Tran, Jody Walker
Upotreba računara 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 upotrebu. 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 dugme.
Korak 1: Korišteni dijelovi
1: Raspberry Pi računar
2: Oglasna ploča
3: Premosne žice
4: Pritisnite dugme
5: Mini LED svjetla
6: 330 ohma, 10 kohma i otpornik od 300 ohma
7: Ethernet kabel
8: Lagana fotoćelija
Korak 2: Izjava o problemu
Naš projekt je bio dizajnirati kućnu uštedu energije pomoću računara Raspberry Pi i MATLAB -a. Naš cilj je bio izgraditi sistem koji će omogućiti korisnicima da prate svoje račune 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 dugme. 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 dugo su 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
sumcost = 0
Vrijeme = 0
Cijena = 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)
elseif x == 0
writeDigitalPin (rpi, 19, 0)
toc;
vrijeme = vrijeme + toc
kwh = toc * sijalica
dolara = 0,101
trošak = kwh * dolara
sumcost = sumcost + cijena
X = linspace (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 (cijena)])
zaplet (X, Y, 'b') naslov ('Troškovi tokom vremena')
xlabel ('Vrijeme (sati)')
ylabel ('Cijena (dolara)')
Čekaj
break
kraj
kraj
pauza (5)
tic
dok je istina
x = readDigitalPin (rpi, 13)
ako je x == 1
writeDigitalPin (rpi, 19, 1)
elseif x == 0
writeDigitalPin (rpi, 19, 0)
toc;
vrijeme = Vrijeme + toc
kwh = toc * sijalica
dolara = 0,101
trošak = kwh * dolara
sumcost = Cijena + trošak
X = linspace (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 (cijena)])
nacrt (X, Y, 'g')
naslov ('Troškovi s vremenom')
xlabel ('Vrijeme (sati)')
ylabel ('Cijena (dolara)')
Čekaj
break
kraj
kraj
pauza (5)
kraj
Korak 5: MATLAB kôd za gašenje svjetla
function button_controlv1 ()
rpi = raspi ();
condi = 1;
dok true % stvara beskonačnu petlju za održavanje koda
button = readDigitalPin (rpi, 6); % Čita vrijednost pritiska tipke na pinu 6
ako je dugme == 0
condi = condi + 1
kraj
ako je mod (condi, 2) == 0
writeDigitalPin (rpi, 17, 0)
h = msgbox ('Ugasili ste svjetlo.:)') waitfor (h);
break
kraj
ako je mod (condi, 2) == 1
writeDigitalPin (rpi, 17, 1)
kraj
kraj
Korak 6: MATLAB kôd za paljenje svjetla
funkcija button_controlv2 ()
rpi = raspi ();
condi = 2;
dok true % stvara beskonačnu petlju za održavanje koda
button = readDigitalPin (rpi, 6); % Čita vrijednost pritiska tipke na pinu 6
ako je dugme == 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 ('Upalio si svjetlo.:(')
waitfor (h);
pauza (10)
break
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);
jasan h;
dok je istina
iprogram = menu ('Koji program želite pokrenuti?', 'Kalkulator računa', 'Kontrola svjetla');
ako je iprogram == 1
control_light () h = msgbox ('Gotovo !!!')
zatvori sve
elseif
iprogram == 2
kraj
jasan h;
ichoice = meni ('Kontrola svjetla', 'Uključi', 'Isključi', '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