Cuprins:
- Pasul 1: Piese utilizate
- Pasul 2: Declarație de problemă
- Pasul 3: Configurare
- Pasul 4: Cod MATLAB pentru controlul fotocelulei
- Pasul 5: Cod MATLAB pentru stingerea luminilor
- Pasul 6: Cod MATLAB pentru aprinderea luminilor
- Pasul 7: Cod MATLAB pentru GUI
Video: Energy Saver 3000: 7 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
Adrien Green, Huy Tran, Jody Walker
Utilizarea unui computer Raspberry Pi și a Matlab este o modalitate simplă și eficientă de a ajuta proprietarii de case să reducă consumul de energie. Cea mai bună parte a Energy Saver 3000 este că este foarte simplu de configurat și utilizat. Scopul principal al Energy Saver 3000 este de a permite proprietarilor de case să își poată urmări factura de energie pentru a vedea cât cheltuiesc și de a permite proprietarilor de case să oprească luminile de acolo de la distanță cu o apăsare de buton.
Pasul 1: Piese utilizate
1: computer Raspberry Pi
2: Pană de pâine
3: fire jumper
4: Apăsați butonul
5: Mini lumini LED
6: 330 ohm, 10 Kohm și un rezistor de 300 ohm
7: Cablu Ethernet
8: fotocelula ușoară
Pasul 2: Declarație de problemă
Proiectul nostru a fost de a proiecta un economizor de energie pentru locuințe folosind un computer Raspberry Pi și MATLAB. Scopul nostru a fost să construim un sistem care să le permită utilizatorilor să-și urmărească factura de energie pentru a vedea dacă își pot reduce consumul de energie. De asemenea, am dorit ca utilizatorii să poată opri luminile în timp ce plecau, apăsând un buton. Pentru a face acest lucru, am conectat o fotocelula pentru a detecta când luminile sunt aprinse. Dacă luminile sunt aprinse, programul MATLAB va calcula cât timp au fost aprinse și cât de multă energie și bani au fost cheltuiți de când sunt aprinși.
Pasul 3: Configurare
Conectați panoul de afișare așa cum se arată în imaginea de mai sus.
Pasul 4: Cod MATLAB pentru controlul fotocelulei
function control_light () rpi = raspi ();
writeDigitalPin (rpi, 12, 1)
timp = 0
sumcost = 0
Timp = 0
Cost = 0
bec = 100/1000;% kilowați
pentru i = 1: 2
tic
în timp ce este adevărat
x = readDigitalPin (rpi, 13)
dacă x == 1
writeDigitalPin (rpi, 19, 1)
elseif x == 0
writeDigitalPin (rpi, 19, 0)
toc;
timp = timp + toc
kwh = toc * bulb
dolari = 0,101
cost = kwh * dolari
sumcost = sumcost + cost
X = linspace (Timp, timp, 10)
Y = linspace (Cost, sumcost, 10)
Timp = timp
Cost = sumcost
disp (['Lumina a fost aprinsă de', num2str (toc), 'ore. Cost = $', num2str (cost)])
complot (X, Y, 'b') titlu ('Cost Over Time')
xlabel („Timp (ore)”)
ylabel („Cost (dolari dolari)”)
stai asa
pauză
Sfârșit
Sfârșit
pauză (5)
tic
în timp ce este adevărat
x = readDigitalPin (rpi, 13)
dacă x == 1
writeDigitalPin (rpi, 19, 1)
elseif x == 0
writeDigitalPin (rpi, 19, 0)
toc;
timp = Timp + toc
kwh = toc * bulb
dolari = 0,101
cost = kwh * dolari
sumcost = Cost + cost
X = linspace (Timp, timp, 10)
Y = linspace (Cost, sumcost, 10)
Timp = timp
Cost = sumcost
disp (['Lumina a fost aprinsă de', num2str (toc), 'ore. Cost = $', num2str (cost)])
complot (X, Y, 'g')
title („Costul în timp”)
xlabel („Timp (ore)”)
ylabel („Cost (dolari dolari)”)
stai asa
pauză
Sfârșit
Sfârșit
pauză (5)
Sfârșit
Pasul 5: Cod MATLAB pentru stingerea luminilor
funcție button_controlv1 ()
rpi = raspi ();
condi = 1;
în timp ce true% creează o buclă infinită pentru a menține codul în funcțiune
button = readDigitalPin (rpi, 6); % Citește valoarea apăsării butonului la pinul 6
dacă butonul == 0
condi = condi + 1
Sfârșit
dacă mod (condi, 2) == 0
writeDigitalPin (rpi, 17, 0)
h = msgbox ('Ai stins lumina.:)') waitfor (h);
pauză
Sfârșit
dacă mod (condi, 2) == 1
writeDigitalPin (rpi, 17, 1)
Sfârșit
Sfârșit
Pasul 6: Cod MATLAB pentru aprinderea luminilor
funcție button_controlv2 ()
rpi = raspi ();
condi = 2;
în timp ce true% creează o buclă infinită pentru a menține codul în funcțiune
button = readDigitalPin (rpi, 6); % Citește valoarea apăsării butonului la pinul 6
dacă butonul == 0
condi = condi + 1
Sfârșit
dacă mod (condi, 2) == 0
writeDigitalPin (rpi, 17, 0)
Sfârșit
dacă mod (condi, 2) == 1
writeDigitalPin (rpi, 17, 1)
h = msgbox ('Ai aprins lumina.:(')
waitfor (h);
pauză (10)
pauză
Sfârșit
Sfârșit
Pasul 7: Cod MATLAB pentru GUI
funcția EnergySaver3000 ()
imgurl = 'https://clipart-library.com/images/pc585dj9i.jpg';
imgfile = 'Becul.jpg'; urlwrite (imgurl, imgfile);
imgdata = imread (imgfile);
h = msgbox ('Bine ați venit la Energy Saver 3000!', '', 'custom', imgdata);
waitfor (h);
clar h;
în timp ce este adevărat
iprogram = menu („Care program doriți să rulați?”, „Calculator facturi”, „Control lumină”);
dacă iprogram == 1
control_light () h = msgbox ('Gata !!!')
inchide tot
elseif
iprogram == 2
Sfârșit
clar h;
ichoice = meniu („Control lumină”, „Activare”, „Dezactivare”, „Nevermind”);
dacă ichoice == 1
button_controlv2 ()
h = msgbox ('Gata !!!')
elseif ichoice == 2
button_controlv1 ()
h = msgbox ('Gata !!!')
elseif ichoice == 3
h = msgbox ('Nu ai făcut nimic:(') waitfor (h);
h = msgbox ('Gata !!!')
Sfârșit
waitfor (h);
Sfârșit
Sfârșit
Recomandat:
Arduino Pump Saver: 3 pași
Arduino Pump Saver: Într-o zi grea de iarnă, eu și soția mea stăteam în sufragerie citind, când ea s-a uitat peste mine și am întrebat „Ce sunet are?” Ceva a funcționat constant în casă pe care credeam că nu i se pare familiar, așa că am coborât pe scară
PROIECT DE ENERGIE SAVER CU MICROCONTROLLER - ATMEGA8A: 3 pași
PROIECT DE economisire a energiei utilizând MICROCONTROLLER - ATMEGA8A: LEGĂTURI LA PROIECT: https://www.youtube.com/watch?v=KFCSOy9yTtE, https://www.youtube.com/watch?v=nzaA0oub7FQ ȘI https: // www .youtube.com / watch? v = I2SA4aJbiYoOverview Acest dispozitiv „Economizor de energie” vă va oferi multă economie de energie / energie, deși un
OK pentru a te ridica Nightlight! (Parent Sleep Saver!): 5 pași
OK pentru a te ridica Nightlight! (Parent Sleep Saver!): Părinții copiilor mici care nu reușesc să spună timpul: ați dori să revendicați câteva ore de somn în fiecare weekend? Ei bine, atunci am creația pentru tine! Folosind un Sparkfun Redboard și Breadboard, câteva componente simple și câteva simple co
Bright Saver cu Arduino Mega: 7 pași
Bright Saver Cu Arduino Mega: Bright Saver afișează informații exacte și actualizate despre economii și vă permite să setați un obiectiv de economisire. De exemplu, odată ce v-ați setat ținta folosind cele două butoane furnizate, puteți observa progresia și cât de mult mai este nevoie pentru a vă deplasa
Default Screen Saver: 9 pași
Screen Saver Defeater: O cutie care împiedică activarea economizorului de ecran atunci când plasați mouse-ul pe el