Obsah:
- Krok 1: Použité diely
- Krok 2: Vyhlásenie o probléme
- Krok 3: Nastavenie
- Krok 4: Kód MATLAB na ovládanie fotobunky
- Krok 5: Kód MATLAB na vypnutie svetiel
- Krok 6: Kód MATLAB na zapnutie svetiel
- Krok 7: Kód MATLAB pre GUI
Video: Šetrič energie 3000: 7 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Adrien Green, Huy Tran, Jody Walker
Použitie počítača Raspberry Pi a Matlab je jednoduchý a efektívny spôsob, ako pomôcť majiteľom domov znížiť spotrebu energie. Najlepšie na Energy Saver 3000 je, že je veľmi jednoduché nastaviť a používať. Hlavným účelom programu Energy Saver 3000 je umožniť majiteľom domov sledovať svoje účty za energie a zistiť, koľko míňajú, a umožniť majiteľom domov na diaľku vypnúť osvetlenie v týchto domoch stlačením tlačidla.
Krok 1: Použité diely
1: Počítač Raspberry Pi
2: Breadboard
3: prepojovacie vodiče
4: Tlačidlo
5: Mini LED svetlá
6: 330 ohmov, 10 kohmov a odpor 300 ohmov
7: Ethernetový kábel
8: Svetelná fotobunka
Krok 2: Vyhlásenie o probléme
Našim projektom bolo navrhnúť domácu úsporu energie pomocou počítača Raspberry Pi a MATLAB. Našim cieľom bolo vybudovať systém, ktorý používateľom umožní sledovať svoje účty za energie a zistiť, či môžu znížiť svoju spotrebu energie. Tiež sme chceli, aby používatelia mohli vypnúť svetlá, keď boli preč, stlačením tlačidla. Aby sme to urobili, zapojili sme fotobunku, aby vnímala, kedy svietia svetlá. Ak sú svetlá zapnuté, program MATLAB vypočíta, ako dlho boli zapnuté a koľko energie a peňazí bolo vynaložených od ich rozsvietenia.
Krok 3: Nastavenie
Drôtovú dosku zapojte tak, ako je to znázornené na obrázku vyššie.
Krok 4: Kód MATLAB na ovládanie fotobunky
funkcia control_light () rpi = raspi ();
writeDigitalPin (rpi, 12, 1)
čas = 0
súčet = 0
Čas = 0
Cena = 0
žiarovka = 100/1000;% kilowattov
pre i = 1: 2
tic
kým je to pravda
x = readDigitalPin (rpi, 13)
ak x == 1
writeDigitalPin (rpi, 19, 1)
elseif x == 0
writeDigitalPin (rpi, 19, 0)
toc;
čas = čas + toc
kwh = toc * žiarovka
dolárov = 0,111
cena = kwh * dolárov
sumcost = sumcost + náklady
X = linspace (čas, čas, 10)
Y = linspace (cena, sumcost, 10)
Čas = čas
Cena = sumcost
disp (['Svetlo bolo zapnuté', num2str (toc), 'hodiny. Cena = $', num2str (cena)])
názov grafu (X, Y, 'b') ('Náklady v priebehu času')
xlabel ('Čas (hodiny)')
ylabel („Cena (doláre)“)
Počkaj
prestávka
koniec
koniec
pauza (5)
tic
kým je to pravda
x = readDigitalPin (rpi, 13)
ak x == 1
writeDigitalPin (rpi, 19, 1)
elseif x == 0
writeDigitalPin (rpi, 19, 0)
toc;
čas = čas + toc
kwh = toc * žiarovka
dolárov = 0,111
cena = kwh * dolárov
sumcost = náklady + náklady
X = linspace (čas, čas, 10)
Y = linspace (cena, sumcost, 10)
Čas = čas
Cena = sumcost
disp (['Svetlo bolo zapnuté', num2str (toc), 'hodiny. Cena = $', num2str (cena)])
sprisahanie (X, Y, 'g')
názov („Náklady v priebehu času“)
xlabel ('Čas (hodiny)')
ylabel („Cena (doláre)“)
Počkaj
prestávka
koniec
koniec
pauza (5)
koniec
Krok 5: Kód MATLAB na vypnutie svetiel
funkcia button_controlv1 ()
rpi = raspi ();
condi = 1;
zatiaľ čo true % vytvára nekonečnú slučku, aby bol kód spustený
tlačidlo = readDigitalPin (rpi, 6); % Načíta hodnotu stlačenia tlačidla na pine 6
ak tlačidlo == 0
condi = condi + 1
koniec
ak mod (condi, 2) == 0
writeDigitalPin (rpi, 17, 0)
h = msgbox ('Zhasli ste svetlo.:)') waitfor (h);
prestávka
koniec
ak mod (condi, 2) == 1
writeDigitalPin (rpi, 17, 1)
koniec
koniec
Krok 6: Kód MATLAB na zapnutie svetiel
funkcia button_controlv2 ()
rpi = raspi ();
condi = 2;
zatiaľ čo true % vytvára nekonečnú slučku, aby bol kód spustený
tlačidlo = readDigitalPin (rpi, 6); % Načíta hodnotu stlačenia tlačidla na pine 6
ak tlačidlo == 0
condi = condi + 1
koniec
ak mod (condi, 2) == 0
writeDigitalPin (rpi, 17, 0)
koniec
ak mod (condi, 2) == 1
writeDigitalPin (rpi, 17, 1)
h = msgbox ('Zapli ste svetlo.:(')
čakať na (h);
pauza (10)
prestávka
koniec
koniec
Krok 7: Kód MATLAB pre GUI
funkcia EnergySaver3000 ()
imgurl = 'https://clipart-library.com/images/pc585dj9i.jpg';
imgfile = 'Lightbulb.jpg'; urlwrite (imgurl, imgfile);
imgdata = imread (imgfile);
h = msgbox ('Vitajte v programe Energy Saver 3000!', '', 'custom', imgdata);
čakať na (h);
jasné h;
kým je to pravda
iprogram = ponuka ('Aký program chcete spustiť?', 'Účtovná kalkulačka', 'Ovládanie svetla');
ak iprogram == 1
control_light () h = msgbox ('Hotovo !!!')
zavrieť všetky
ináč Ak
iprogram == 2
koniec
jasné h;
ichoice = ponuka ('Ovládanie svetla', 'Zapnúť', 'Vypnúť', 'Nevermind');
ak ichoice == 1
button_controlv2 ()
h = msgbox („Hotovo !!!“)
elseif ichoice == 2
button_controlv1 ()
h = msgbox („Hotovo !!!“)
elseif ichoice == 3
h = msgbox ('Nič ste neurobili:(') waitfor (h);
h = msgbox („Hotovo !!!“)
koniec
čakať na (h);
koniec
koniec
Odporúča:
Šetrič batérie Fairy Light: 8 krokov (s obrázkami)
Šetrič batérie Fairy Light: Batérie CR2032 sú skvelé, ale nevydržia tak dlho, ako by sme chceli pri jazde s LED " Fairy Light " struny. Počas prázdninového obdobia som sa rozhodol upraviť niekoľko 20 svetelných reťazcov, aby vybehli z powerbanky USB. Hľadal som online a
Šetrič batérie, vypínač s ochranou proti vybitiu s ATtiny85 pre olovené alebo automobilové batérie: 6 krokov
Šetrič batérie, vypínač ochrany proti vybitiu s ATtiny85 pre olovené autá alebo batérie Lipo: Keďže potrebujem niekoľko chráničov batérie pre svoje autá a solárne systémy, zistil som, že tie komerčné sú za 49 dolárov príliš drahé. Tiež používajú príliš veľa energie so 6 mA. Nenašiel som žiadne pokyny na túto tému. Vytvoril som teda svoj vlastný, ktorý čerpá 2mA. Ako
Šetrič pumpy Arduino: 3 kroky
Arduino Pump Saver: V drsný zimný deň sme s manželkou sedeli v obývačke a čítali si, keď sa pozrela na mňa a spýtala sa: „Čo je to za zvuk?“V dome niečo bežalo, čo sme si mysleli, že sa nám nezdá známe, a tak som išiel dole
Dobre vstaň, nočné svetlo! (Šetrič rodičovského spánku!): 5 krokov
Dobre vstaň, nočné svetlo! (Rodič, ktorý šetrí spánok!): Rodičia malých detí, ktoré nevedia určiť čas: Chcete si každý víkend dopriať niekoľko hodín spánku? Tak potom mám pre vás stvorenie! Použitie Redboardu a Breadboardu Sparkfun, niekoľkých jednoduchých komponentov a niekoľkých jednoduchých
Jasný šetrič s Arduino Mega: 7 krokov
Bright Saver With Arduino Mega: Bright Saver zobrazuje presné, aktuálne informácie o úsporách a umožňuje vám nastaviť cieľ úspor. Keď napríklad nastavíte svoj cieľ pomocou dvoch dodaných tlačidiel, môžete sledovať priebeh a koľko toho ešte potrebujete na dosiahnutie cieľa