Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Pääosissa Adrien Green, Huy Tran, Jody Walker
Raspberry Pi -tietokoneen ja Matlabin käyttö on yksinkertainen ja tehokas tapa auttaa asunnonomistajia vähentämään energiankulutusta. Energy Saver 3000: n paras puoli on, että se on erittäin helppo asentaa ja käyttää. Energy Saver 3000: n päätarkoituksena on, että asunnonomistajat voivat seurata energialaskuaan nähdäkseen, kuinka paljon he kuluttavat, ja antaa asunnon omistajille mahdollisuuden sammuttaa kodin valot etänä yhdellä painalluksella.
Vaihe 1: Käytetyt osat
1: Raspberry Pi -tietokone
2: Leipälauta
3: Hyppyjohdot
4: Paina painiketta
5: Mini LED -valot
6: 330 ohmia, 10 Kohmia ja 300 ohmin vastus
7: Ethernet -kaapeli
8: Kevyt valokenno
Vaihe 2: Ongelmailmoitus
Projektimme oli suunnitella kodin energiansäästö Raspberry Pi -tietokoneen ja MATLABin avulla. Tavoitteenamme oli rakentaa järjestelmä, jonka avulla käyttäjät voivat seurata energialaskuaan nähdäkseen, voivatko he vähentää energiankulutustaan. Halusimme myös, että käyttäjät voivat sammuttaa valonsa, kun he ovat poissa, painikkeen painalluksella. Tätä varten liitimme valokennon havaitsemaan, milloin valot ovat päällä. Jos valot palavat, MATLAB -ohjelma laskee, kuinka kauan ne ovat olleet päällä ja kuinka paljon energiaa ja rahaa on käytetty niiden syttymisen jälkeen.
Vaihe 3: Asennus
Kiinnitä leipälauta yllä olevan kuvan mukaisesti.
Vaihe 4: MATLAB -koodi valokennon ohjaamiseen
toiminto control_light () rpi = raspi ();
writeDigitalPin (rpi, 12, 1)
aika = 0
summa = 0
Aika = 0
Hinta = 0
lamppu = 100/1000;% kilowattia
i = 1: 2
tic
vaikka totta
x = readDigitalPin (rpi, 13)
jos x == 1
writeDigitalPin (rpi, 19, 1)
elseif x == 0
writeDigitalPin (rpi, 19, 0)
toc;
aika = aika + toc
kwh = toc * lamppu
dollaria = 0,101
hinta = kwh * dollaria
sumcost = sumcost + cost
X = linspace (aika, aika, 10)
Y = linspace (hinta, sumcost, 10)
Aika = aika
Kustannus = summa
disp (['Valo on päällä', num2str (toc), 'hours. Cost = $', num2str (cost)])
juoni (X, Y, 'b') otsikko ('Kustannukset ajan mittaan')
xlabel ('Aika (tunnit)')
ylabel ('Kustannukset ($ dollaria)')
pidä kiinni
tauko
loppuun
loppuun
tauko (5)
tic
vaikka totta
x = readDigitalPin (rpi, 13)
jos x == 1
writeDigitalPin (rpi, 19, 1)
elseif x == 0
writeDigitalPin (rpi, 19, 0)
toc;
aika = Aika + toc
kwh = toc * lamppu
dollaria = 0,101
hinta = kwh * dollaria
sumcost = Kustannukset + kustannukset
X = linspace (aika, aika, 10)
Y = linspace (hinta, sumcost, 10)
Aika = aika
Kustannus = summa
disp (['Valo on ollut päällä', num2str (toc), 'hours. Cost = $', num2str (cost)])
juoni (X, Y, 'g')
otsikko ('Kustannukset ajan mittaan')
xlabel ('Aika (tunnit)')
ylabel ('Kustannukset ($ dollaria)')
pidä kiinni
tauko
loppuun
loppuun
tauko (5)
loppuun
Vaihe 5: MATLAB -koodi valojen sammuttamiseen
toiminto button_controlv1 ()
rpi = raspi ();
condi = 1;
kun taas true % luo ääretön silmukka pitääkseen koodin käynnissä
painike = readDigitalPin (rpi, 6); % Lukee nastan 6 painikkeen painalluksen arvon
jos -painike == 0
condi = condi + 1
loppuun
jos mod (condi, 2) == 0
writeDigitalPin (rpi, 17, 0)
h = msgbox ('Sammutit valon.:)') odota (h);
tauko
loppuun
jos mod (condi, 2) == 1
writeDigitalPin (rpi, 17, 1)
loppuun
loppuun
Vaihe 6: MATLAB -koodi valojen sytyttämiseen
toiminto button_controlv2 ()
rpi = raspi ();
condi = 2;
kun taas true % luo ääretön silmukka pitääkseen koodin käynnissä
painike = readDigitalPin (rpi, 6); % Lukee nastan 6 painikkeen painalluksen arvon
jos -painike == 0
condi = condi + 1
loppuun
jos mod (condi, 2) == 0
writeDigitalPin (rpi, 17, 0)
loppuun
jos mod (condi, 2) == 1
writeDigitalPin (rpi, 17, 1)
h = msgbox ('Sytytit valon.:(')
odota (h);
tauko (10)
tauko
loppuun
loppuun
Vaihe 7: MATLAB -koodi GUI: lle
toiminto EnergySaver3000 ()
imgurl = 'https://clipart-library.com/images/pc585dj9i.jpg';
imgfile = 'Hehkulamppu.jpg'; urlwrite (imgurl, imgfile);
imgdata = imread (imgfile);
h = msgbox ('Tervetuloa Energy Saver 3000: een!', '', 'custom', imgdata);
odota (h);
kirkas h;
vaikka totta
iprogram = menu ('Mitä ohjelmaa haluat käyttää?', 'Laskuri', 'Valonohjaus');
jos iprogram == 1
control_light () h = msgbox ('Valmis !!!')
sulje kaikki
muuten jos
iprogram == 2
loppuun
kirkas h;
ichoice = menu ('Light Control', 'Turn On', 'Turn Off', 'Nevermind');
jos ichoice == 1
button_controlv2 ()
h = msgbox ('Valmis !!!')
muu vaihtoehto == 2
button_controlv1 ()
h = msgbox ('Valmis !!!')
muu vaihtoehto == 3
h = msgbox ('Et tehnyt mitään:(') odota (h);
h = msgbox ('Valmis !!!')
loppuun
odota (h);
loppuun
loppuun