Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
Adrien Green, Huy Tran, Jody Walker
Raspberry Pi arvuti ja Matlabi kasutamine on lihtne ja tõhus viis aidata majaomanikel seal energiatarbimist vähendada. Energy Saver 3000 parim osa on see, et seda on väga lihtne seadistada ja kasutada. Energy Saver 3000 peamine eesmärk on võimaldada majaomanikel jälgida oma energiaarvet, et näha, kui palju nad kulutavad, ning võimaldada majaomanikel kodudes tuled eemalt ühe nupuvajutusega välja lülitada.
Samm: kasutatud osad
1: Raspberry Pi arvuti
2: Leivalaud
3: hüppaja juhtmed
4: Vajutage nuppu
5: Mini LED -tuled
6: 330 oomi, 10 Kohm ja 300 oomi takisti
7: Etherneti kaabel
8: kerge fotoelement
2. samm. Probleemi avaldus
Meie projekt oli kavandada kodus energiasäästja, kasutades Raspberry Pi arvutit ja MATLAB -i. Meie eesmärk oli luua süsteem, mis võimaldaks kasutajatel jälgida oma energiaarvet, et näha, kas nad saavad oma energiatarbimist vähendada. Samuti soovisime, et kasutajad saaksid nupuvajutusega oma tuled välja lülitada. Selleks ühendasime fotoelemendi, et tunda, millal tuled põlevad. Kui tuled põlevad, arvutab programm MATLAB, kui kaua nad on põlenud ja kui palju energiat ja raha on kulunud pärast nende sisselülitamist.
3. samm: seadistamine
Ühendage leivaplaat juhtmega, nagu on näidatud ülaltoodud pildil.
Samm 4: MATLAB -kood fotosilma juhtimiseks
funktsioon control_light () rpi = raspi ();
writeDigitalPin (rpi, 12, 1)
aeg = 0
summakulu = 0
Aeg = 0
Maksumus = 0
pirn = 100/1000;% kilovatti
i = 1: 2
tic
kuigi tõsi
x = readDigitalPin (rpi, 13)
kui x == 1
writeDigitalPin (rpi, 19, 1)
elseif x == 0
writeDigitalPin (rpi, 19, 0)
toc;
aeg = aeg + toc
kwh = toc * pirn
dollarit = 0,101
maksumus = kwh * dollarit
sumcost = summa + kulu
X = siseruum (aeg, aeg, 10)
Y = linspace (Cost, sumcost, 10)
Aeg = aeg
Maksumus = summa
disp (['Valgus on põlenud', num2str (toc), 'hours. Cost = $', num2str (cost)])
maatüki (X, Y, „b”) pealkiri („Kulud aja jooksul”)
xlabel ('Aeg (tunnid)')
ylabel ("Maksumus ($ dollarit)")
oota
murda
lõpp
lõpp
paus (5)
tic
kuigi tõsi
x = readDigitalPin (rpi, 13)
kui x == 1
writeDigitalPin (rpi, 19, 1)
elseif x == 0
writeDigitalPin (rpi, 19, 0)
toc;
aeg = aeg + toc
kwh = toc * pirn
dollarit = 0,101
maksumus = kwh * dollarit
sumcost = kulu + maksumus
X = siseruum (aeg, aeg, 10)
Y = linspace (Cost, sumcost, 10)
Aeg = aeg
Maksumus = summa
disp (['Valgus on põlenud', num2str (toc), 'hours. Cost = $', num2str (cost)])
graafik (X, Y, 'g')
pealkiri ("Kulud aja jooksul")
xlabel ('Aeg (tunnid)')
ylabel ("Maksumus ($ dollarit)")
oota
murda
lõpp
lõpp
paus (5)
lõpp
Samm: tulede väljalülitamiseks kasutatav MATLAB -kood
funktsiooni button_controlv1 ()
rpi = raspi ();
kondi = 1;
samas tõsi % loob lõpmatu tsükli, et kood töötaks
nupp = readDigitalPin (rpi, 6); % Loeb nupu vajutamise väärtust tihvtil 6
kui nupp == 0
condi = condi + 1
lõpp
kui mod (condi, 2) == 0
writeDigitalPin (rpi, 17, 0)
h = msgbox ('Lülitasid valguse välja.:)') waitfor (h);
murda
lõpp
kui mod (condi, 2) == 1
writeDigitalPin (rpi, 17, 1)
lõpp
lõpp
6. toiming: MATLAB -kood tulede sisselülitamiseks
funktsiooni button_controlv2 ()
rpi = raspi ();
kondi = 2;
samas tõsi % loob lõpmatu ahela, et kood töötaks
nupp = readDigitalPin (rpi, 6); % Loeb nupu vajutamise väärtust tihvtil 6
kui nupp == 0
condi = condi + 1
lõpp
kui mod (condi, 2) == 0
writeDigitalPin (rpi, 17, 0)
lõpp
kui mod (condi, 2) == 1
writeDigitalPin (rpi, 17, 1)
h = msgbox ('Lülitasid valguse sisse.:(')
oota (h);
paus (10)
murda
lõpp
lõpp
Samm: GUI MATLAB -kood
funktsioon EnergySaver3000 ()
imgurl = 'https://clipart-library.com/images/pc585dj9i.jpg';
imgfile = 'Lambipirn.jpg'; urlwrite (imgurl, imgfile);
imgdata = imread (imgfile);
h = msgbox ('Tere tulemast energiasäästjasse 3000!', '', 'custom', imgdata);
oota (h);
selge h;
kuigi tõsi
iprogram = menüü ('Millist programmi soovite käivitada?', 'Arvekalkulaator', 'Valguse juhtimine');
kui iprogram == 1
control_light () h = msgbox ('Valmis !!!')
sulgege kõik
elseif
iprogramm == 2
lõpp
selge h;
ichoice = menüü ('Light Control', 'Turn On', 'Turn Off', 'Nevermind');
kui ichoice == 1
button_controlv2 ()
h = msgbox ('Valmis !!!')
elseif ichoice == 2
button_controlv1 ()
h = msgbox ('Valmis !!!')
elseif ichoice == 3
h = msgbox ('Sa ei teinud midagi:(') ootab (h);
h = msgbox ('Valmis !!!')
lõpp
oota (h);
lõpp
lõpp