Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Ta instrukcja pomoże wyjaśnić, jak skonfigurować i korzystać z naszego systemu inteligentnego domu za pomocą oprogramowania Matlab i sprzętu Raspberry Pi. Pod koniec tej instrukcji powinieneś być w stanie z łatwością w pełni korzystać z naszego produktu!
Krok 1: Krok 1: Potrzebne części i materiały
- Malina Pi
- Deska do krojenia chleba (x2)
- Czujnik ruchu PIR
- Moduł LCD
- Lampka ledowa
- Kondensator
- Kamera Raspberry Pi
- Mikrosilnik serwo
- Przewody dwustronne (20)
Krok 2: Krok 2: Stwierdzenie problemu
Problemy, które próbuje rozwiązać nasz produkt, to ręczne sterowanie oświetleniem, kontrola temperatury w pomieszczeniach i efektywność energetyczna. Skupiliśmy się na ilości energii zużywanej przez przeciętny dom i chcieliśmy znaleźć sposoby na zmniejszenie zużycia energii. Pozostawianie włączonych świateł i niepotrzebne temperatury termostatu powodują bardzo wysokie niepotrzebne zużycie energii. Światło zostanie aktywowane ruchem do miejsca, w którym wyłączy się, gdy pomieszczenie jest wolne, a termostat dostosuje się do przyjaznej dla środowiska temperatury na podstawie odczytu temperatury zewnętrznej.
Krok 3: Krok 3: Konfiguracja czujnika ruchu
Czujnik ruchu jest podłączony do pinu zasilania 3,3 V, pinu uziemienia i wybranego pinu cyfrowego. Są one podłączone odpowiednio do portów VCC, GND i OUT na czujniku ruchu. Czujnik ruchu wykryje, kiedy ktoś jest w pobliżu i aktywuje diodę LED, aby wskazać, że światła są włączone. Gdy ruch nie jest już wykrywany, dioda LED wyłączy się. Kod wygląda następująco:
podczas gdy prawda
motionDetected = readDigitalPin(rpi, 3);
jeśli wykryto ruch == 1
writeDigitalPin(rpi, 16, 1)
w przeciwnym razie
writeDigitalPin(rpi, 16, 0)
kończyć się
kończyć się
Krok 4: Krok 4: Wyświetlacz modułu LCD
Wyświetlacz LCD pobiera dane o temperaturze z informacji o pogodzie na żywo dostarczanych z Internetu. Następnie moduł LCD wyświetla aktualny odczyt temperatury. W Matlabie temperatura jest odczytywana, a następnie przechodzi przez pętlę if, aby określić, jak bardzo należy dostosować ustawienie temperatury w domu. Kod wygląda następująco:
url='https://forecast.weather.gov/MapClick.php?lat=35.9606&lon=-83.9207&FcstType=json';
dane = webread(url);
a = dane.bieżącaobserwacja. Temp;
fprintf('Temperatura zewnętrzna wynosi %s\n', a)
x = str2liczba(a);
jeśli x > 80
fprintf('Obróć termostat o 15 stopni')
writeDigitalPin(rpi, 26, 1) %włącza światła
elseif x > 75 && x < 80
fprintf('Wyłącz termostat \n')
writeDigitalPin(rpi, 26, 1) %włącza światła
elseif x 55
fprintf('Podkręć termostat o 10 stopni \n')
writeDigitalPin(rpi, 26, 0) %wyłącza światła
elseif x 45
fprintf('Podkręć termostat o 20 stopni \n')
writeDigitalPin(rpi, 26, 0) %wyłącza światła
elseif x 40
fprintf('Podkręć termostat o 25 stopni \n')
writeDigitalPin(rpi, 26, 0) %wyłącza światła
elseif x 30
fprintf('Podkręć termostat o 35 stopni \n')
w przeciwnym razie
fprintf('Obróć termostat do 65 stopni \n')
kończyć się
Krok 5: Krok 5: Moduł silnika serwo
Moduł Motor Servo ma reprezentować możliwość otwierania i zamykania żaluzji. Kiedy dom wymaga schłodzenia, żaluzje się zamkną, aby wpuścić mniej ciepła. Gdy dom wymaga ogrzania, żaluzje otworzą się, aby szybciej go nagrzać. Serwo decyduje, co zrobić, otrzymując dane wejściowe od użytkownika wchodząc w interakcję z menu opcji. Kod silnika jest następujący:
s = serwo(rpi, 3)
writeDigitalPin(rpi, 4, 1)
stanowisko(a) zapisu, 45
temp_sys = menu('Jak się czujesz?') %temp regulator
if temp_sys == 1 %hot
writeDigitalPin(rpi, 26, 1) %włącza światła
writePosition(s, 0) % obrotów silnika w prawo/w lewo
zamknij rolety, wyłącz światła
elseif temp_sys == 2% zimno
writeDigitalPin(rpi, 26, 0) %wyłącza światła
writePosition(s, 180) % obrotów silnika w lewo/w prawo
otwórz rolety, włącz światła
elseif temp_sys == 3 % w sam raz
fprintf('Utrzymywanie stanu temperatury.\n')
kończyć się
Krok 6: Krok 6: Kamera z czujnikiem ruchu
Kamera z czujnikiem ruchu robi zdjęcie osobom wchodzącym lub wychodzącym z pokoju. Wybraliśmy to jako dodatkową funkcję bezpieczeństwa dla tych, którzy są ciekawi, kto był w ich domu. Gdy czujnik ruchu wykryje ruch, kod Matlaba nakazuje kamerze wykonanie zdjęcia i wyświetlenie go. Kod wygląda następująco:
i=0
przezroczysta kamera
kamera = kamera(rpi);
podczas gdy i==0
migawka(kamera); %wyczyść bufor obrazu
img = migawka(kamera);
obrazyc(obraz);
kończyć się