Spisu treści:

Energy Saver 3000: 7 kroków
Energy Saver 3000: 7 kroków

Wideo: Energy Saver 3000: 7 kroków

Wideo: Energy Saver 3000: 7 kroków
Wideo: A Wy na jakim etapie związku jesteście? 😂 #shorts 2024, Listopad
Anonim
Oszczędzanie energii 3000
Oszczędzanie energii 3000

Adrien Green, Huy Tran, Jody Walker

Korzystanie z komputera Raspberry Pi i Matlaba to prosty i skuteczny sposób na pomoc właścicielom domów w zmniejszeniu zużycia energii. Najlepszą częścią Energy Saver 3000 jest to, że jest bardzo prosty w konfiguracji i obsłudze. Głównym celem Energy Saver 3000 jest umożliwienie właścicielom domów śledzenie ich rachunków za energię, aby zobaczyć, ile wydają, oraz umożliwienie właścicielom domów zdalne wyłączanie światła w tych domach za naciśnięciem przycisku.

Krok 1: Używane części

Używane części
Używane części
Używane części
Używane części
Używane części
Używane części

1: komputer Raspberry Pi

2: Deska do krojenia chleba

3: przewody połączeniowe

4: przycisk

5: Mini światła LED

6: 330 omów, 10 Kohm i rezystor 300 omów

7: kabel Ethernet

8: fotokomórka świetlna

Krok 2: Stwierdzenie problemu

Nasz projekt polegał na zaprojektowaniu domowego oszczędzacza energii z wykorzystaniem komputera Raspberry Pi i MATLAB. Naszym celem było zbudowanie systemu, który umożliwi użytkownikom śledzenie rachunków za energię, aby sprawdzić, czy mogą zmniejszyć zużycie energii. Chcieliśmy również, aby użytkownicy mogli wyłączać światła, gdy ich nie ma, za naciśnięciem jednego przycisku. Aby to zrobić, podłączyliśmy fotokomórkę do wykrywania, kiedy światła są włączone. Jeśli światła są włączone, program MATLAB obliczy, jak długo są włączone i ile energii i pieniędzy wydano od czasu ich włączenia.

Krok 3: Konfiguracja

Ustawiać
Ustawiać

Podłącz płytkę stykową, jak pokazano na powyższym obrazku.

Krok 4: Kod MATLAB do sterowania fotokomórką

funkcja control_light()rpi = raspi();

writeDigitalPin(rpi, 12, 1)

czas = 0

koszt sumaryczny = 0

Czas = 0

Koszt = 0

żarówka = 100/1000;% kilowatów

dla i = 1:2

tik

podczas gdy prawda

x = odczytajPinCyfrowy(rpi, 13)

jeśli x == 1

writeDigitalPin(rpi, 19, 1)

elseif x == 0

writeDigitalPin(rpi, 19, 0)

toc;

czas = czas + toc

kwh = toc * żarówka

dolarów = 0,101

koszt = kwh * dolary

koszt sumy = koszt sumy + koszt

X = linspace (czas, czas, 10)

Y = linspace(Koszt, koszt sumy, 10)

Czas = czas

Koszt = koszt sumy

disp(['Światło było włączone przez ', num2str(toc), ' godzin. Koszt = $', num2str(koszt)])

plot(X, Y, 'b') title('Koszt w czasie')

xlabel('Czas (godziny)')

ylabel('Koszt ($Dolary)')

trzymać się

przerwa

kończyć się

kończyć się

pauza(5)

tik

podczas gdy prawda

x = odczytajPinCyfrowy(rpi, 13)

jeśli x == 1

writeDigitalPin(rpi, 19, 1)

elseif x == 0

writeDigitalPin(rpi, 19, 0)

toc;

czas = czas + toc

kwh = toc * żarówka

dolarów = 0,101

koszt = kwh * dolary

sumcost = Koszt + koszt

X = linspace (czas, czas, 10)

Y = linspace(Koszt, koszt sumy, 10)

Czas = czas

Koszt = koszt sumy

disp(['Światło było włączone przez ', num2str(toc), ' godzin. Koszt = $', num2str(koszt)])

działka(X, Y, 'g')

title('Koszt w czasie')

xlabel('Czas (godziny)')

ylabel('Koszt ($Dolary)')

trzymać się

przerwa

kończyć się

kończyć się

pauza(5)

kończyć się

Krok 5: Kod MATLAB do wyłączania świateł

funkcja button_controlv1()

rpi = raspi();

warunek = 1;

podczas gdy true % tworzy nieskończoną pętlę, aby utrzymać działanie kodu

przycisk = odczytajPinCyfrowy(rpi, 6); % Odczytuje wartość naciśnięcia przycisku na pinie 6

jeśli przycisk == 0

warunek = warunek + 1

kończyć się

jeśli mod(warunki, 2) == 0

writeDigitalPin(rpi, 17, 0)

h = msgbox('Wyłączyłeś światło.:)') waitfor(h);

przerwa

kończyć się

jeśli mod(warunek, 2) == 1

writeDigitalPin(rpi, 17, 1)

kończyć się

kończyć się

Krok 6: Kod MATLAB do włączania świateł

funkcja button_controlv2()

rpi = raspi();

warunki = 2;

podczas gdy true % tworzy nieskończoną pętlę, aby utrzymać działanie kodu

przycisk = przeczytajPinCyfrowy(rpi, 6); % Odczytuje wartość naciśnięcia przycisku na pinie 6

jeśli przycisk == 0

warunek = warunek + 1

kończyć się

jeśli mod(warunki, 2) == 0

writeDigitalPin(rpi, 17, 0)

kończyć się

jeśli mod(warunki, 2) == 1

writeDigitalPin(rpi, 17, 1)

h = msgbox('Włączyłeś światło.:(')

czekaj na(h);

pauza(10)

przerwa

kończyć się

kończyć się

Krok 7: Kod MATLAB dla GUI

funkcja EnergySaver3000()

imgurl='https://clipart-library.com/images/pc585dj9i.jpg';

imgfile='Żarówka.jpg'; urlwrite(imgurl, plik img);

imgdata= odczyt(plik img);

h=msgbox('Witamy w Energy Saver 3000!', '', 'custom', imgdata);

czekaj na(h);

jasne godz.;

podczas gdy prawda

iprogram=menu('Który program chcesz uruchomić?', 'Kalkulator rachunków', 'Sterowanie oświetleniem');

jeśli iprogram==1

control_light() h=msgbox('Gotowe!!!')

zamknij wszystko

elseif

iprogram==2

kończyć się

jasne godz.;

ichoice=menu('Sterowanie światłem', 'Włącz', 'Wyłącz', 'Nieważne');

jeśli ichoice == 1

button_controlv2()

h=msgbox('Gotowe!!!')

elseif ichoice ==2

button_controlv1()

h=msgbox('Gotowe!!!')

elseif ichoice==3

h=msgbox('Nic nie zrobiłeś:(') waitfor(h);

h=msgbox('Gotowe!!!')

kończyć się

czekaj na(h);

kończyć się

kończyć się

Zalecana: