Innehållsförteckning:
- Steg 1: Delar som används
- Steg 2: Problemmeddelande
- Steg 3: Konfiguration
- Steg 4: MATLAB -kod för styrning av fotocellen
- Steg 5: MATLAB -kod för att släcka lampor
- Steg 6: MATLAB -kod för att tända lampor
- Steg 7: MATLAB -kod för GUI
Video: Energy Saver 3000: 7 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
Adrien Green, Huy Tran, Jody Walker
Användningen av en Raspberry Pi -dator och Matlab är ett enkelt och effektivt sätt att hjälpa husägare att minska energiförbrukningen där. Det bästa med Energy Saver 3000 är att det är väldigt enkelt att installera och använda. Huvudsyftet med Energy Saver 3000 är att göra det möjligt för husägare att kunna spåra sina energiräkningar för att se hur mycket de spenderar, och att låta husägare släcka lamporna i husen på distans med ett tryck på en knapp.
Steg 1: Delar som används
1: Raspberry Pi -dator
2: Brödbräda
3: Bygeltrådar
4: Tryckknapp
5: Mini LED -lampor
6: 330 ohm, 10 Kohm och ett 300 ohm motstånd
7: Ethernet -kabel
8: Ljus fotocell
Steg 2: Problemmeddelande
Vårt projekt var att designa en energisparare för hemmet med en Raspberry Pi -dator och MATLAB. Vårt mål var att bygga ett system som gjorde det möjligt för användare att spåra sina energiräkningar för att se om de kan minska sin energiförbrukning. Vi ville också att användarna skulle kunna stänga av sina lampor medan de var borta med ett tryck på en knapp. För att göra detta kopplade vi upp en fotocell för att känna när lamporna är tända. Om lamporna lyser kommer MATLAB -programmet att beräkna hur länge de har varit på och hur mycket energi och pengar som har spenderats sedan de har varit på.
Steg 3: Konfiguration
Trä upp brödbrädan enligt bilden ovan.
Steg 4: MATLAB -kod för styrning av fotocellen
funktion control_light () rpi = raspi ();
writeDigitalPin (rpi, 12, 1)
tid = 0
summa = 0
Tid = 0
Kostnad = 0
glödlampa = 100/1000;% kilowatt
för i = 1: 2
tic
medan det är sant
x = readDigitalPin (rpi, 13)
om x == 1
writeDigitalPin (rpi, 19, 1)
annarsif x == 0
writeDigitalPin (rpi, 19, 0)
toc;
tid = tid + toc
kwh = toc * glödlampa
dollar = 0,101
kostnad = kwh * dollar
sumcost = sumcost + kostnad
X = linspace (tid, tid, 10)
Y = linspace (kostnad, sumcost, 10)
Tid = tid
Kostnad = summa
disp (['Light has been on for', num2str (toc), 'hours. Cost = $', num2str (cost)])
plot (X, Y, 'b') titel ('Cost Over Time')
xlabel ('Tid (timmar)')
ylabel ('Kostnad (dollar)')
vänta
ha sönder
slutet
slutet
paus (5)
tic
medan det är sant
x = readDigitalPin (rpi, 13)
om x == 1
writeDigitalPin (rpi, 19, 1)
annarsif x == 0
writeDigitalPin (rpi, 19, 0)
toc;
tid = Tid + toc
kwh = toc * glödlampa
dollar = 0,101
kostnad = kwh * dollar
sumcost = Kostnad + kostnad
X = linspace (tid, tid, 10)
Y = linspace (kostnad, sumcost, 10)
Tid = tid
Kostnad = summa
disp (['Light has been on for', num2str (toc), 'hours. Cost = $', num2str (cost)])
tomt (X, Y, 'g')
title ('Cost Over Time')
xlabel ('Tid (timmar)')
ylabel ('Kostnad (dollar)')
vänta
ha sönder
slutet
slutet
paus (5)
slutet
Steg 5: MATLAB -kod för att släcka lampor
function button_controlv1 ()
rpi = raspi ();
kondi = 1;
medan true % skapar en oändlig loop för att hålla koden igång
knapp = readDigitalPin (rpi, 6); % Läser knapptryckningsvärdet på stift 6
if -knappen == 0
condi = condi + 1
slutet
om mod (condi, 2) == 0
writeDigitalPin (rpi, 17, 0)
h = msgbox ('Du släckte lampan.:)') waitfor (h);
ha sönder
slutet
om mod (condi, 2) == 1
writeDigitalPin (rpi, 17, 1)
slutet
slutet
Steg 6: MATLAB -kod för att tända lampor
function button_controlv2 ()
rpi = raspi ();
kondi = 2;
medan true % skapar en oändlig loop för att hålla koden igång
knapp = readDigitalPin (rpi, 6); % Läser knapptryckningsvärdet på stift 6
if -knappen == 0
condi = condi + 1
slutet
om mod (condi, 2) == 0
writeDigitalPin (rpi, 17, 0)
slutet
om mod (condi, 2) == 1
writeDigitalPin (rpi, 17, 1)
h = msgbox ('Du har tänt lampan.:(')
vänta på (h);
paus (10)
ha sönder
slutet
slutet
Steg 7: MATLAB -kod för GUI
funktion EnergySaver3000 ()
imgurl = 'https://clipart-library.com/images/pc585dj9i.jpg';
imgfile = 'Lightbulb.jpg'; urlwrite (imgurl, imgfile);
imgdata = imread (imgfile);
h = msgbox ('Välkommen till Energy Saver 3000!', '', 'custom', imgdata);
vänta på (h);
klart h;
medan det är sant
iprogram = menu ('Vilket program vill du köra?', 'Bill Calculator', 'Light Control');
om iprogram == 1
control_light () h = msgbox ('Klart !!!')
Stäng alla
annat
iprogram == 2
slutet
klart h;
ichoice = menu ('Light Control', 'Turn On', 'Turn Off', 'Nevermind');
om ichoice == 1
button_controlv2 ()
h = msgbox ('Klart !!!')
elseif ichoice == 2
button_controlv1 ()
h = msgbox ('Klart !!!')
elseif ichoice == 3
h = msgbox ('Du gjorde ingenting:(') waitfor (h);
h = msgbox ('Klart !!!')
slutet
vänta på (h);
slutet
slutet
Rekommenderad:
Fairy Light Battery Saver: 8 steg (med bilder)
Fairy Light Battery Saver: CR2032 -batterier är bra, men de håller inte så länge som vi skulle vilja när vi kör LED " Fairy Light " Med semesterperioden här bestämde jag mig för att ändra några 20 ljussträngar för att sluta med en USB -powerbank. Jag sökte online och
Arduino Pump Saver: 3 steg
Arduino Pump Saver: En hård vinterdag satt min fru och jag i vardagsrummet och läste när hon tittade över och jag och frågade " Vad är det för ljud? &Quot; Något sprang stadigt i huset som vi tyckte inte låter bekant, så jag gick nerför trappan
Arduino Home Energy Saver: 5 steg
Arduino Home Energy Saver: Du bygger ett hemenergisystem som är avsett att övervaka ditt hem energi för att minska el- och andra elräkningar. I den här modellen kommer din enhet att kunna kontrollera temperaturen på ditt hus och justera det därefter
OK att få upp nattljus! (Parent Sleep Saver!): 5 steg
OK att få upp nattljus! (Parent Sleep Saver!): Föräldrar till små barn som inte kan säga tid: Vill du återkräva några timmars sömn varje helg? Tja, då har jag skapelsen åt dig! Med hjälp av en Sparkfun Redboard och Breadboard, några enkla komponenter och några enkla
Bright Saver With Arduino Mega: 7 steg
Bright Saver With Arduino Mega: Bright Saver visar korrekt och aktuell sparinformation och låter dig ställa in ett sparmål. Till exempel, när du har ställt in ditt mål med hjälp av de två knapparna som följer kan du observera utvecklingen och hur mycket mer som behövs för att nå ditt mål