Cuprins:

Energy Saver 3000: 7 pași
Energy Saver 3000: 7 pași

Video: Energy Saver 3000: 7 pași

Video: Energy Saver 3000: 7 pași
Video: Electric fence V''s goat 2024, Iulie
Anonim
Energy Saver 3000
Energy Saver 3000

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

Piese utilizate
Piese utilizate
Piese utilizate
Piese utilizate
Piese utilizate
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

Înființat
Înființat

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: