Përmbajtje:
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-13 06:58
Adrien Green, Huy Tran, Jody Walker
Përdorimi i një kompjuteri Raspberry Pi dhe Matlab është një mënyrë e thjeshtë dhe efektive për të ndihmuar pronarët e shtëpive të zvogëlojnë konsumin e energjisë atje. Pjesa më e mirë në lidhje me Kursyesin e Energjisë 3000 është se është shumë e thjeshtë për tu vendosur dhe përdorur. Qëllimi kryesor i Energy Saver 3000 është që të lejojë pronarët e shtëpive të jenë në gjendje të gjurmojnë faturën e tyre të energjisë për të parë se sa po shpenzojnë, dhe të lejojë pronarët e shtëpive të fikin dritat në shtëpitë nga distanca me një shtypje të një butoni.
Hapi 1: Pjesët e përdorura
1: Kompjuter Raspberry Pi
2: Tabela e bukës
3: Telat e kërcyesit
4: Shtypni butonin
5: Mini dritat LED
6: 330 Ohm, 10 Kohm, dhe një rezistencë 300 Ohm
7: Kabllo Ethernet
8: Fotocelë e lehtë
Hapi 2: Deklarata e problemit
Projekti ynë ishte të krijonim një kursimtar të energjisë në shtëpi duke përdorur një kompjuter Raspberry Pi dhe MATLAB. Qëllimi ynë ishte të ndërtonim një sistem që i lejonte përdoruesit të gjurmonin faturën e tyre të energjisë për të parë nëse ata mund të zvogëlojnë konsumin e tyre të energjisë. Ne gjithashtu donim që përdoruesit të ishin në gjendje të fiknin dritat e tyre ndërsa ata ishin zhdukur me një shtypje të një butoni. Për ta bërë këtë, ne lidhëm një fotocelë për të kuptuar kur dritat janë ndezur. Nëse dritat janë ndezur, programi MATLAB do të llogarisë se sa kohë ata janë ndezur dhe sa energji dhe para janë shpenzuar që kur janë ndezur.
Hapi 3: Konfigurimi
Lidhni tabelën e bukës siç tregohet në Figurën e mësipërme.
Hapi 4: Kodi MATLAB për Kontrollin e Fotocellës
funksioni control_light () rpi = raspi ();
shkruajDigitalPin (rpi, 12, 1)
koha = 0
shuma e shpenzimeve = 0
Koha = 0
Kosto = 0
llambë = 100/1000;% kilovat
për i = 1: 2
tik
ndërsa e vërtetë
x = lexoDigitalPin (rpi, 13)
nëse x == 1
shkruajDigitalPin (rpi, 19, 1)
elseif x == 0
writeDigitalPin (rpi, 19, 0)
toc;
koha = koha + toc
kwh = llambë toc *
dollarë = 0.101
kosto = kwh * dollarë
shuma = shuma + kosto
X = hapësira e brendshme (Koha, koha, 10)
Y = hapësira e jashtme (Kostoja, shuma e përgjithshme, 10)
Koha = koha
Kosto = shuma e përgjithshme
disp (['Drita është ndezur për', num2str (toc), 'orë. Kosto = $', num2str (kosto)])
komploti (X, Y, 'b') titulli ('Kosto me kalimin e kohës')
xlabel ('Koha (Ora)')
ylabel ("Kostoja (dollarë dollarë)")
prit
pushim
fund
fund
pauzë (5)
tik
ndërsa e vërtetë
x = lexoDigitalPin (rpi, 13)
nëse x == 1
shkruajDigitalPin (rpi, 19, 1)
elseif x == 0
writeDigitalPin (rpi, 19, 0)
toc;
koha = Koha + toc
kwh = llambë toc *
dollarë = 0.101
kosto = kwh * dollarë
shuma = Kosto + kosto
X = hapësira e brendshme (Koha, koha, 10)
Y = hapësira e jashtme (Kostoja, shuma e përgjithshme, 10)
Koha = koha
Kosto = shuma e përgjithshme
disp (['Drita është ndezur për', num2str (toc), 'orë. Kosto = $', num2str (kosto)])
komplot (X, Y, 'g')
titulli ("Kostoja me kalimin e kohës")
xlabel ('Koha (Ora)')
ylabel ("Kostoja (dollarë dollarë)")
prit
pushim
fund
fund
pauzë (5)
fund
Hapi 5: Kodi MATLAB për fikjen e dritave
button_controlv1 funksion ()
rpi = raspi ();
kondi = 1;
ndërsa % e vërtetë krijon një lak të pafund për të mbajtur kodin në punë
butoni = lexoDigitalPin (rpi, 6); % Lexon vlerën e shtypjes së butonit në pin 6
nëse butoni == 0
kondi = kondi + 1
fund
nëse mod (condi, 2) == 0
shkruajDigitalPin (rpi, 17, 0)
h = msgbox ('E fikët dritën.:)') prisni (h);
pushim
fund
nëse mod (condi, 2) == 1
shkruajDigitalPin (rpi, 17, 1)
fund
fund
Hapi 6: Kodi MATLAB për ndezjen e dritave
button_controlv2 funksion ()
rpi = raspi ();
condi = 2;
ndërsa % e vërtetë krijon një lak të pafund për të mbajtur kodin në punë
butoni = lexoDigitalPin (rpi, 6); % Lexon vlerën e shtypjes së butonit në pin 6
nëse butoni == 0
kondi = kondi + 1
fund
nëse mod (condi, 2) == 0
shkruajDigitalPin (rpi, 17, 0)
fund
nëse mod (condi, 2) == 1
shkruajDigitalPin (rpi, 17, 1)
h = msgbox ('Ju ndezët dritën.:(')
prisni (h);
pauzë (10)
pushim
fund
fund
Hapi 7: Kodi MATLAB për GUI
funksioni EnergySaver3000 ()
imgurl = 'https://clipart-library.com/images/pc585dj9i.jpg';
imgfile = 'Lightbulb.jpg'; urlwrite (imgurl, imgfile);
imgdata = imread (imgfile);
h = msgbox ('Mirë se vini në kursimin e energjisë 3000!', '', 'me porosi', imgdata);
prisni (h);
qartë h;
ndërsa e vërtetë
iprogram = menu ('Cilin program dëshironi të ekzekutoni?', 'Llogaritësi i faturës', 'Kontrolli i dritës');
nëse iprogrami == 1
control_light () h = msgbox ('U krye !!!')
mbyll te gjitha
tjeter nese
iprogrami == 2
fund
qartë h;
ichoice = menu ('Kontrolli i dritës', 'Ndiz', 'Fik', 'Asnjëherë');
nëse zgjedhje == 1
button_controlv2 ()
h = msgbox ('U krye !!!')
ichoice elseif == 2
button_controlv1 ()
h = msgbox ('U krye !!!')
ichoice elseif == 3
h = msgbox ('Ju nuk bëtë asgjë:(') prisni (h);
h = msgbox ('U krye !!!')
fund
prit (h);
fund
fund