Spisu treści:
- Krok 1: Używane części
- Krok 2: Stwierdzenie problemu
- Krok 3: Konfiguracja
- Krok 4: Kod MATLAB do sterowania fotokomórką
- Krok 5: Kod MATLAB do wyłączania świateł
- Krok 6: Kod MATLAB do włączania świateł
- Krok 7: Kod MATLAB dla GUI
Wideo: Energy Saver 3000: 7 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
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
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
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:
Jak uzyskać dostęp do dysku twardego Dell Inspiron 15 z serii 3000: 10 kroków
Jak uzyskać dostęp do dysku twardego Dell Inspiron 15 z serii 3000: Witajcie czytelnicy Instructables, dzisiaj pokażę wam, jak uzyskać dostęp do dysku twardego w laptopie Dell Inspiron 15 z serii 3000. Najprawdopodobniej, jeśli to czytasz, masz problem z rozwiązywaniem problemów z komputerem i chcesz ponownie zainstalować dysk twardy lub
Smash Dash 3000: 7 kroków
Smash Dash 3000: To jest kopia wklej z dnia 4/13/2019 z GitHub, w celu wzięcia udziału w konkursie Instructables LED! Jeśli ktoś ma problemy, nie wahaj się zrzucić go na GitHub! Pełne pliki projektu na https://github.com/naclyellipsis/Smash-Dash-30
WeatherBot 3000: 6 kroków (ze zdjęciami)
WeatherBot 3000: PrzeglądTen projekt wykorzystuje Arduino MKR1000 do łączenia się z Internetem i uzyskiwania informacji o czasie i pogodzie. Będziesz potrzebował WiFi. Wyświetla czas i pogodę na wyświetlaczu LED 8x8. Używamy ikon do wyświetlania ogólnej pogody, takiej jak słonecznie, pochmurno, deszczowo, noc
OK, aby wstać Nightlight! (Rodzic Sleep Saver!): 5 kroków
OK, aby wstać Nightlight! (Rodzic Sleep Saver!): Rodzice małych dzieci, które nie są w stanie określić czasu: Czy chciałbyś odzyskać kilka godzin snu w każdy weekend? Cóż, w takim razie mam dla ciebie dzieło! Korzystanie z Redboard i Breadboard Sparkfun, kilku prostych komponentów i kilku prostych ko
Bright Saver z Arduino Mega: 7 kroków
Bright Saver z Arduino Mega: Bright Saver wyświetla dokładne, aktualne informacje o oszczędnościach i pozwala ustawić cel oszczędności. Na przykład, gdy ustawisz cel za pomocą dwóch dostarczonych przycisków, możesz obserwować postęp i ile więcej potrzeba, aby osiągnąć swój cel