Spisu treści:

System inteligentnego domu: 6 kroków
System inteligentnego domu: 6 kroków

Wideo: System inteligentnego domu: 6 kroków

Wideo: System inteligentnego domu: 6 kroków
Wideo: Czym jest inteligentny dom? Scena: pobudka w inteligentnym Domu Grenton 2024, Listopad
Anonim
System inteligentnego domu
System inteligentnego domu

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

Krok 1: Potrzebne części i materiały
Krok 1: Potrzebne części i materiały
Krok 1: Potrzebne części i materiały
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

Krok 3: Konfiguracja czujnika ruchu
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

Krok 4: Wyświetlacz modułu LCD
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

Krok 5: Moduł serwo silnika
Krok 5: Moduł serwo silnika

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

Krok 6: Kamera z czujnikiem ruchu
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ę

Zalecana: