Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
Adrien Green, Huy Tran, Jody Walker
Raspberry Pi kompüterinin və Matlabın istifadəsi, ev sahiblərinin enerji istehlakını azaltmalarına kömək etmək üçün sadə və təsirli bir yoldur. Energy Saver 3000 -in ən yaxşı tərəfi, qurulmasının və istifadəsinin çox sadə olmasıdır. Energy Saver 3000 -in əsas məqsədi, ev sahiblərinin nə qədər xərclədiklərini görmək üçün enerji hesablarını izləmələrini təmin etmək və ev sahiblərinin bir düyməyə basaraq oradakı evlərin işıqlarını uzaqdan söndürməsinə icazə verməkdir.
Addım 1: İstifadə olunan hissələr
1: Raspberry Pi kompüteri
2: Çörək paneli
3: Jumper telləri
4: düyməni basın
5: Mini LED işıqlar
6: 330 ohm, 10 Kohm və 300 ohm müqavimət
7: Ethernet Kabeli
8: Yüngül fotosel
Addım 2: Problem Bildirimi
Layihəmiz Raspberry Pi kompüteri və MATLAB -dan istifadə edərək ev enerjisi qənaətçisini dizayn etmək idi. Məqsədimiz, istifadəçilərin enerji istehlakını azalda biləcəklərini görmək üçün enerji hesablarını izləmələrinə imkan verən bir sistem qurmaq idi. İstəyirik ki, istifadəçilər bir düyməyə basaraq işığı söndürsünlər. Bunu etmək üçün işıqların yandığını anlamaq üçün bir fotosel bağladıq. İşıqlar yanarsa, MATLAB proqramı nə qədər işlədiklərini və yandırıldıqdan sonra nə qədər enerji və pul xərcləndiyini hesablayacaq.
Addım 3: Quraşdırma
Çörək taxtasını yuxarıdakı şəkildə göstərildiyi kimi bağlayın.
Addım 4: Fotoselin İdarə Edilməsi üçün MATLAB Kodu
control_light () rpi = raspi () funksiyası;
writeDigitalPin (rpi, 12, 1)
vaxt = 0
sumcost = 0
Zaman = 0
Qiymət = 0
ampul = 100/1000;% kilovat
i = 1: 2 üçün
tik
doğru olarkən
x = oxumaqDigitalPin (rpi, 13)
əgər x == 1
writeDigitalPin (rpi, 19, 1)
başqa x == 0
writeDigitalPin (rpi, 19, 0)
toc;
vaxt = vaxt + toc
kwh = toc * ampul
dollar = 0.101
dəyəri = kwh * dollar
sumcost = sumcost + cost
X = linspace (Zaman, zaman, 10)
Y = linspace (Xərc, sumcost, 10)
Zaman = vaxt
Xərc = sumcost
disp (['İşıq yandı', num2str (toc), 'saat. Qiymət = $', num2str (xərc)])
süjet (X, Y, 'b') başlığı ('Zamanla Maliyet')
xlabel ('Saat (Saat)')
ylabel ('Qiymət ($ Dollar)')
gözlə
fasilə
bitmək
bitmək
fasilə (5)
tik
doğru olarkən
x = oxumaqDigitalPin (rpi, 13)
əgər x == 1
writeDigitalPin (rpi, 19, 1)
başqa x == 0
writeDigitalPin (rpi, 19, 0)
toc;
vaxt = Vaxt + toc
kwh = toc * ampul
dollar = 0.101
dəyəri = kwh * dollar
sumcost = Xərc + xərc
X = linspace (Zaman, zaman, 10)
Y = linspace (Xərc, sumcost, 10)
Zaman = vaxt
Xərc = sumcost
disp (['İşıq yandı', num2str (toc), 'saat. Qiymət = $', num2str (xərc)])
süjet (X, Y, 'g')
başlıq ('Zamanla Maliyyə')
xlabel ('Saat (Saat)')
ylabel ('Qiymət ($ Dollar)')
gözlə
fasilə
bitmək
bitmək
fasilə (5)
bitmək
Addım 5: İşıqları Söndürmək üçün MATLAB Kodu
funksiya button_controlv1 ()
rpi = raspi ();
şərt = 1;
true % isə kodu işlək vəziyyətdə saxlamaq üçün sonsuz bir döngə yaradır
düymə = readDigitalPin (rpi, 6); Pin 6 düyməsini basma dəyərini oxuyur
əgər düymə == 0 olarsa
condi = condi + 1
bitmək
əgər mod (şərt, 2) == 0
writeDigitalPin (rpi, 17, 0)
h = msgbox ('İşığı söndürdünüz.:)') gözləyin (h);
fasilə
bitmək
əgər mod (şərt, 2) == 1
writeDigitalPin (rpi, 17, 1)
bitmək
bitmək
Addım 6: İşıqları Yandırmaq üçün MATLAB Kodu
funksiya button_controlv2 ()
rpi = raspi ();
şərt = 2;
true % isə kodu işlək vəziyyətdə saxlamaq üçün sonsuz bir döngə yaradır
düymə = readDigitalPin (rpi, 6); Pin 6 düyməsini basma dəyərini oxuyur
əgər düymə == 0 olarsa
condi = condi + 1
bitmək
əgər mod (şərt, 2) == 0
writeDigitalPin (rpi, 17, 0)
bitmək
əgər mod (şərt, 2) == 1
writeDigitalPin (rpi, 17, 1)
h = msgbox ('İşığı yandırdın.:(')
gözləyin (h);
fasilə (10)
fasilə
bitmək
bitmək
Addım 7: GUI üçün MATLAB Kodu
EnergySaver3000 funksiyası ()
imgurl = 'https://clipart-library.com/images/pc585dj9i.jpg';
imgfile = 'Lightbulb.jpg'; urlwrite (imgurl, imgfile);
imgdata = imread (imgfile);
h = msgbox ('Energy Saver 3000 -ə xoş gəldiniz!', ',' custom ', imgdata);
gözləyin (h);
aydın h;
doğru olarkən
iprogram = menyu ('Hansı Proqramı Çalışdırmaq İstəyirsiniz?', 'Bill Kalkulyatoru', 'İşıq İdarəçiliyi');
iprogram varsa == 1
control_light () h = msgbox ('Bitti !!!')
hamısını bağlayın
başqa
iprogram == 2
bitmək
aydın h;
ichoice = menyu ('İşığa Nəzarət', 'Aç', 'Söndür', 'Heç Fikir Etmə');
ifoice == 1
button_controlv2 ()
h = msgbox ('Bitti !!!')
elseif ichoice == 2
button_controlv1 ()
h = msgbox ('Bitti !!!')
elseif içoice == 3
h = msgbox ('Heç bir şey etmədiniz:(') gözləyin (h);
h = msgbox ('Bitti !!!')
bitmək
gözləyin (h);
bitmək
bitmək