Spisu treści:
- Krok 1: światłoczuła dioda LED
- Krok 2: Mini wyłącznik zasilania
- Krok 3: Druga fotokomórka
- Krok 4: Dioda LED RGB
- Krok 5: Czujnik temperatury
- Krok 6: Motoreduktor DAGU
- Krok 7: Kod
Wideo: Projekt inteligentnego domu EF230: 7 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:30
Potrzebne części i materiały:
- 1 Arduino MKR 1000
- 3 deski do krojenia chleba
- 2 mini fotokomórki
- 1 tranzystory NPN
- 1 mini wyłącznik zasilania
- 1 LED – RGB (4 bolce)
- 1 dioda LED (kolor do wyboru)
- 1 dioda 1N4148
- 1 rezystory 10K Ohm
- Rezystor 5 100 Ohm
- 1 czujnik temperatury TMP36
- 1 motoreduktor DAGU o przełożeniu 48:1
- 25 przewodów połączeniowych
- Przewód USB
- Program MATLAB
-
Przewodnik po eksperymentach SIK dla płytki Arduino 101/Genuino 101 - Przewodnik po eksperymentach SIK
Ten projekt szczegółowo przedstawia projekt koncepcyjny systemu inteligentnego domu, który wykorzystuje dane, aby pomóc właścicielom domów zoptymalizować zużycie energii i bezpieczeństwo. Zawiera czujnik światła do włączania oświetlenia zewnętrznego w nocy, czujnik światła dla bezpieczeństwa oraz czujnik temperatury i wentylator do kontroli temperatury w pomieszczeniu.
Krok 1: światłoczuła dioda LED
- Konfiguracja LED czuła na światło ma reprezentować światła zewnętrzne w domu, które pojawiają się w nocy.
- Gdy mini fotokomórka wykryje zmniejszoną ilość światła, zapali się dioda LED.
- W przypadku inteligentnego domu ma to wpływ na energię i bezpieczeństwo. Oszczędzi energię, wyłączając światła w ciągu dnia i zapewni większe bezpieczeństwo w nocy.
- Dokładne okablowanie i konfigurację dla tej części projektu można znaleźć w eksperymencie 7 w SIK Experiment Guide.
Krok 2: Mini wyłącznik zasilania
- Przełącznik to pierwszy krok w procesie bezpieczeństwa inteligentnego domu.
- Po włączeniu przełącznik zainicjuje odpowiedź, pytając użytkownika, czy chce przejść do trybu „Dom” czy „Away”.
- W przypadku wybrania trybu „Dom” ochrona jest uważana za rozbrojoną, ale wybranie trybu „Poza domem” spowoduje uzbrojenie systemu bezpieczeństwa.
- Okablowanie dla tej części projektu można znaleźć w eksperymencie 6 w Przewodniku po eksperymencie. Na potrzeby inteligentnego domu diody LED i ich przewody połączeniowe znalezione w eksperymencie 6 nie muszą być uwzględniane.
Krok 3: Druga fotokomórka
- Druga fotokomórka służy jako czujnik ruchu do systemu bezpieczeństwa inteligentnego domu.
- Czujnik jest używany tylko wtedy, gdy system znajduje się w trybie „Poza domem”, jak opisano w poprzednim kroku.
- Jeśli fotokomórka odczuwa spadek ilości otrzymywanego światła, rozpoznaje to jako ruch wewnątrz domu.
- Konfigurację dla tej części projektu można znaleźć w eksperymencie 7 w SIK Experiment Guide. Jednak w okablowaniu musi znajdować się tylko fotokomórka i jej przewody łączące.
Krok 4: Dioda LED RGB
- Dioda LED RGB jest używana w połączeniu z mini wyłącznikiem zasilania i drugą fotokomórką w systemie bezpieczeństwa inteligentnego domu.
- Trzy różne kolory są używane jako wskaźniki dla mieszkańca inteligentnego domu.
- Gdy system znajduje się w trybie „Dom”, dioda LED zmienia kolor na niebieski. Gdy system znajduje się w trybie „Poza domem”, dioda LED zmienia kolor na zielony. Gdy fotokomórka używana jako czujnik ruchu zostanie wyzwolona, światło miga na czerwono.
- Okablowanie diody LED RGB można znaleźć w eksperymencie 3 przewodnika eksperymentów SIK.
Krok 5: Czujnik temperatury
- Czujnik temperatury jest głównym elementem oszczędzania energii w inteligentnym domu.
- Mieszkaniec może wprowadzić żądaną temperaturę dla swojego domu, gdy inteligentny dom jest w użyciu.
- Dzięki czujnikowi temperatury system wie, jak daleko rzeczywista temperatura różni się od temperatury pożądanej.
- Konfigurację czujnika temperatury można znaleźć w eksperymencie 9 instrukcji SIK Experiment Guide.
Krok 6: Motoreduktor DAGU
- Silnik pozwala inteligentnemu domowi regulować temperaturę w domu w oparciu o żądaną temperaturę i odczyty czujnika temperatury.
- Działając jako jednostka klimatyzacyjna w domu, silnik będzie się obracał z różnymi prędkościami w zależności od tego, o ile wyższa jest rzeczywista temperatura niż temperatura pożądana. Im większa różnica, tym szybciej silnik się kręci.
- Okablowanie silnika można znaleźć w Podręczniku eksperymentów w eksperymencie 11.
Krok 7: Kod
- Kod inteligentnego domu zawiera wiele interfejsów użytkownika, które pozwalają mieszkańcom łatwo zrozumieć, jak to działa i łatwo zmienić ustawienia.
- Dzięki systemowi inteligentnego domu mieszkaniec otrzyma powiadomienie e-mailem, jeśli czujnik ruchu zostanie uruchomiony podczas jego nieobecności.
- Jedyną zmianą, którą należy wprowadzić, jest wstawienie informacji dotyczących adresu e-mail nadawcy i adresu e-mail odbiorcy.
jasne; jasne s; jasne m; kl; zamknij wszystko; % Wyczyść zmienne arduino i servo, aby można je było ponownie zdefiniować za każdym razem, aby kod działał efektywnie ("clear m" jest konieczne, aby jedna z pętli while działała poprawnie)a = arduino(); % Ustaw zmienną arduino
s = serwo(a, 'D6'); % Ustaw zmienną serwo
% Zainicjuj zmienne e-mail dla e-maila ostrzegawczego systemu bezpieczeństwa
emails = {'wstaw adres odbiorcy'}; % Tablica wiadomości e-mail, na które ma zostać wysłany e-mail bezpieczeństwa
% Ustawienia preferencji poczty e-mail niezbędne do korzystania z Gmaila do wysyłania poczty z
setpref('Internet', 'E_mail', 'Adres e-mail nadawcy');
setpref('Internet', 'SMTP_Nazwa użytkownika', 'Nazwa użytkownika nadawcy');
setpref('Internet', 'SMTP_Password', 'Hasło nadawcy');
rekwizyty = java.lang. System.getProperties;
props.setProperty('mail.smtp.auth', 'prawda');
props.setProperty('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory'); props.setProperty('mail.smtp.socketFactory.port', '465');
% Zmienne tematu i tekstu wiadomości e-mail
subj = 'Powiadomienie o intruzach w Twoim domu';
text = 'Witam, to system bezpieczeństwa Smart Home, który informuje o wykryciu ruchu poza domem. Podjęliśmy dla Ciebie niezbędne środki i skontaktowaliśmy się z władzami. Bądź bezpieczny.';
podczas gdy prawda
monit = {'Wprowadź żądaną temperaturę w domu (między 65F a 85F):'}; % Pytaj o menu wprowadzania danych przez użytkownika
dlgtitle = 'Wybór temperatury'; % Tytuł menu wprowadzania danych przez użytkownika
wymiary = [1 30]; % Wymiary dla menu wprowadzania danych przez użytkownika
definicja = {'72'}; % Domyślne wejście, które pojawia się po pierwszym otwarciu menu
tablica_tempsel = inputdlg(monit, dlgtitle, dims, definput); % Wyskakujące menu wprowadzania użytkownika, które zapisze wprowadzoną liczbę w tablicy
if ~isempty(tempsel_array) % Jeśli tablica NIE jest pusta
tempsel_char = cell2mat(tablica_tempsel); % Konwertuj tablicę na ciąg znaków
tempsel = str2double(tempsel_char); % Zamień ciąg znaków na liczby
thingSpeakWrite(chID, tempsel, 'WriteKey', writeKey, 'Fields', 1); % Zapisz wybraną temperaturę do swojego kanału ThingSpeak
break % Przerwa od pętli while, aby menu nie pojawiało się wiele razy
else % Jeśli użytkownik kliknie anuluj zamiast wpisywać temperaturę
msg1 = msgbox('Nie wybrano temperatury, domyślnie 85F', 'Ostrzeżenie!'); % Wiadomość wyświetlana użytkownikowi po kliknięciu anuluj
czekaj na(msg1); % Przed kontynuowaniem poczekaj na zamknięcie okna wiadomości
tempsel = 85; % Ustaw temperaturę na taką, jaka została podana w oknie komunikatu
thingSpeakWrite(chID, tempsel, 'WriteKey', writeKey, 'Fields', 1); % Zapisz wybraną temperaturę do swojego kanału ThingSpeak
break % Przerwa od pętli while, aby menu nie pojawiało się wiele razy
kończyć się
kończyć się
podczas gdy prawda
chID = 745517; % Identyfikator kanału ThingSpeak
writeKey = 'G9XOQTP8KOVSCT0N'; % Klucz dostępu do kanału ThingSpeak
% Inicjalizuj czujniki w celu pobrania danych
tempread = odczytaj napięcie(a, 'A3'); % Odczytaj napięcie czujnika temperatury
lightl1 = odczytaj napięcie(a, 'A2'); % Poziom światła dla fotorezystora przechodzący na czerwoną diodę LED
lightl2 = odczytaj napięcie(a, 'A5'); % Poziom światła dla fotorezystora przechodzącego do systemu bezpieczeństwa
switchv = odczytaj napięcie(a, 'A0'); % Wartość przełącznika
% Przekształć dane temperatury z napięcia na stopnie Fahrenheita
tempC = (tempread - 0.5) * 100; % Konwersja napięcia na temperaturę w stopniach Celsjusza
tempF = (tempC * 9/5) + 32; % Przelicz temperaturę w stopniach Celsjusza na temperaturę w stopniach Fahrenheita
% Zainicjuj numery pinów dla wielokolorowej diody LED
redp = 'D9'; % Pin dla czerwonego światła z LED
zielonyp = 'D10'; % Pin dla zielonego światła z diody LED
bluep = „D11”; % Pin dla niebieskiego światła z diody LED
if tempsel < tempF % Jeśli wybrana temperatura jest wyższa niż temperatura w pomieszczeniu
pozycja(s, 1); % Servo zacznie się poruszać
pauza(10) % Serwo będzie się kręcić przez 10 sekund, aby wskazać, że AC wyłączy się po określonym czasie
pozycja(y, 0); % Wyłącz wentylator w celu kontynuowania kodu bez włączonego wentylatora
tempsel = 150; % Zmień wartość temperatury, aby wyjść z pętli po wyłączeniu wentylatora, ponownie tylko w celu kontynuowania kodu
kończyć się
if lightl1 <= 3 % Jeśli pierwszy fotorezystor wykryje niski poziom światła
writeDigitalPin(a, 'A1', 1); % Włącz czerwoną diodę LED, która reprezentuje oświetlenie zewnętrzne
else % Jeśli poziom światła jest znowu wysoki
writeDigitalPin(a, 'A1', 0); % Wyłącz czerwoną diodę LED, gdy poziom światła będzie ponownie wystarczająco wysoki
kończyć się
jeśli przełącznikv > 3 % Jeśli przełącznik jest włączony
A = istnieje('m', 'zmienna'); % Sprawdź, czy istnieje zmienna 'm', zainicjuje to pętlę while i pozwoli na jej przerwanie po wybraniu elementu menu (dlatego należy wyczyścić m na początku kodu)
podczas gdy A==0 % Pętla będzie wykonywana, dopóki nie będzie zmiennej 'm'
menutext = 'W który tryb bezpieczeństwa chcesz wejść?'; % Tekst dla wyskakującego menu bezpieczeństwa
wybory = {'Dom', 'Poza domem'}; % wyborów dla wyskakującego menu bezpieczeństwa
m = menu(tekst menu, wybory); % Menu podręczne dla trybów systemu bezpieczeństwa
break % Zapewnia, że pętla while jest przerwana, więc menu nie będzie się pojawiać wielokrotnie
kończyć się
if m == 1 % Jeśli wybrano tryb „Dom”
writeDigitalPin(a, bluep, 1); % Włącz tylko niebieskie światło w zmieniającej kolor diody LED
writeDigitalPin(a, redp, 0);
writeDigitalPin(a, greenp, 0);
elseif m == 2 % Jeśli wybrano tryb „Poza domem”
writeDigitalPin(a, bluep, 0);
writeDigitalPin(a, redp, 0);
writeDigitalPin(a, greenp, 1); % Włącz tylko zielone światło w zmieniającej kolor diody LED
if lightl2 <= 3 % Jeśli poziom światła w drugim fotorezystorze jest niski, reprezentujący ruch wykryty przez system bezpieczeństwa
sendmail(e-maile, temat, tekst); % Wyślij e-mail z wcześniej zdefiniowanymi właściwościami e-mail writeDigitalPin(a, greenp, 0); % Migający czerwony kolor wł. i wył. 2 razy
writeDigitalPin(a, redp, 1);
pauza(0.3)
writeDigitalPin(a, redp, 0);
pauza(0.3)
writeDigitalPin(a, redp, 1);
pauza(0.3)
writeDigitalPin(a, redp, 0);
pauza(0.3)
writeDigitalPin(a, redp, 1); % Zakończ z ciągłym czerwonym po miganiu, aby pokazać ruch, aż poziom światła powróci do góry
msg2 = msgbox('Intruz wykryty przez system bezpieczeństwa, e-mail został wysłany do właścicieli domów, aby ich poinformować.', 'OSTRZEŻENIE!'); % Okno wiadomości informujące użytkownika o ruchu i wysłaniu wiadomości e-mail waitfor(msg2) % Poczekaj na zamknięcie okna wiadomości przed kontynuowaniem
w przeciwnym razie
writeDigitalPin(a, greenp, 1); % Gdy poziom światła ponownie wzrośnie, zmieni kolor z powrotem na zielony
kończyć się
kończyć się
elseif switchv < 3,3 % Jeśli przełącznik jest wyłączony
writeDigitalPin(a, bluep, 0); % Całkowicie wyłącz diodę LED, aby pokazać, że system bezpieczeństwa jest wyłączony
writeDigitalPin(a, redp, 0);
writeDigitalPin(a, greenp, 0);
kończyć się
kończyć się
Zalecana:
SmartBox - system inteligentnego domu do Twojego pokoju: 6 kroków
SmartBox - Smart Home System do Twojego pokoju: Witam wszystkich! W tej instrukcji wyjaśnię, jak zrobić inteligentny system pokojowy. Ten system zawiera dwa urządzenia. Urządzenie ogólne z czujnikiem wilgotności i czujnikiem temperatury, które mierzy bieżącą jakość życia w Twoim pokoju. Ty w
Kompletny dodatek do inteligentnego domu: 8 kroków
Kompletny dodatek do inteligentnego domu: Mój poprzedni projekt „Kompletny inteligentny dom” z powodzeniem działa od prawie 5 lat bez żadnych problemów. Teraz zdecydowałem się dodać sprzężenie zwrotne do tego samego bez żadnych modyfikacji obecnego obwodu i schematu. Więc ten dodatek na pro
System inteligentnego domu Arduino: 7 kroków
Arduino Smart Home System: W tej instrukcji pokażemy, jak stworzyć własny system inteligentnego domu za pomocą aplikacji MATLAB App Designer z tablicą Sparkfun Red. Ta instrukcja może być wykorzystana do uzyskania podstawowej wiedzy na temat projektanta aplikacji MATLAB, a także do korzystania z fotore
System inteligentnego domu: 6 kroków
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
Tani i łatwy system inteligentnego domu: 7 kroków
Tani i łatwy system inteligentnego domu: Cześć! Jestem Ed Mam 15 lat z pasją do informatyki, programowania i elektrotechniki. Odkąd jestem dość młody mieszkam w domu moich rodziców, Projekt ten zaczął się, gdy zdecydowałem się przenieść do pokoju na poddaszu/poddaszu, w trakcie projektowania