Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
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