Spisu treści:
Wideo: Termostat inteligentnego domu: 4 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
Nasz Smart Home Thermostat to program, który może automatycznie zaoszczędzić pieniądze gospodarstwa domowego na rachunkach za media w oparciu o preferencje danej osoby.
Krok 1: Przegląd
Termostat Smart Home wykorzystuje czujnik temperatury do pomiaru temperatury w domu. Ten odczyt temperatury jest wprowadzany do programu, w którym decyduje, czy system klimatyzacji musi ogrzać lub schłodzić dom w oparciu o żądaną temperaturę właściciela domu.
Termostat posiada dwa tryby: ręczny i automatyczny. Tryb ręczny, który dostosuje temperaturę w domu do dowolnej temperatury ustawionej przez użytkownika. A tryb automatyczny termostatu automatycznie zmieni temperaturę w domu na temperatury zadane przez użytkownika. W trybie automatycznym dostępne będą dwa ustawienia temperatury: temperatura wyjazdu i temperatura aktualna. Temperatura poza domem służy do oszczędzania energii poprzez zmianę termostatu na ustawioną temperaturę oszczędzania energii, gdy użytkownik nie jest w domu. Aktualna temperatura będzie używana, gdy użytkownik jest w domu i chce uzyskać komfortową temperaturę. W trybie automatycznym termostatu czujniki ruchu aktywnie szukają ruchu, aby określić, czy ktoś jest w domu, czy nie. Na podstawie ich odczytu temperatura w domu zostanie ustawiona na temperaturę na wyjeździe lub temperaturę obecną.
Krok 2: Części i materiały
(15) Przewody połączeniowe
(4) Rezystory 220 Ohm
(1) Rezystor 10K Ohm
(1) Czujnik temperatury
(1) Fotorezystor
(1) Przekładnia DAGU Mini DC
(1) Dioda
(1) Tranzystor
(1) Fotorezystor
(1) Deska do krojenia chleba
(1) Arduino MKR
Krok 3: Obwód
Rysunek 1 = Duże zdjęcie po lewej
Rysunek 2 = U góry po prawej
Rysunek 3 = Środkowy prawy
Rysunek 4 = Dolny prawy
Rysunek 1
Korzystając z powyższego schematu, podłączyliśmy każdą z naszych trzech diod LED. Rozstawiliśmy każdą diodę LED, ponieważ pracowaliśmy z dużą deską do krojenia chleba. W przypadku mniejszych płyt chlebowych może być konieczne umieszczenie diod LED bliżej siebie. Ponadto nie ma potrzeby zasilania płytki stykowej, ponieważ diody LED pobierają tak mało energii. Nie używaliśmy połączenia 5V na płytce stykowej dla diod LED. Każde połączenie z diod LED do naszego Arduino zostało wykonane tak, jak zielony przewód znajduje się powyżej. Nasze czerwone, niebieskie i zielone diody LED są podłączone odpowiednio do cyfrowych pinów 8, 9 i 10, oznaczonych na naszym zdjęciu czerwonym, niebieskim i zielonym przewodem.
Rysunek 2
Powyższy schemat posłużył do podłączenia fotorezystora. Wprowadziliśmy kilka własnych poprawek; jednak koncepcje są nadal takie same. Fotorezystor musi być podłączony do pinu analogowego, który mamy w pinie A1. Upewnij się, że używasz rezystora 10 kiloomów dla rezystora znajdującego się najbliżej fotorezystora.
Rysunek 3
To jest schemat używany do podłączenia czujnika temperatury. Pamiętaj, aby nie pomylić zastosowanego tutaj tranzystora z czujnikiem temperatury. Wyglądają prawie identycznie. Czujnik temperatury prawdopodobnie będzie miał TMP lub inny skrypt napisany na płaskiej stronie czujnika. Okablowanie tutaj jest bardzo proste, nasz czujnik temperatury jest podłączony do analogowego pinu A0 z białym przewodem.
Rysunek 4
Powyższe zdjęcie zostało użyte do okablowania skrzyni biegów DAGU Mini DC. Zielony przewód dołączony do Gearboxa to w rzeczywistości czerwony przewód podłączony do niego na naszym zdjęciu. Gearbox jest w naszym modelu połączony z cyfrowym pinem 11 pomarańczowym przewodem. Pamiętaj, aby nie pomylić zastosowanego tutaj tranzystora z czujnikiem temperatury. Wyglądają prawie identycznie. Czujnik temperatury prawdopodobnie będzie miał TMP lub inny skrypt napisany na płaskiej stronie czujnika. Musisz użyć tutaj tranzystora, a nie czujnika temperatury.
Krok 4: Kod Arduino
Tutaj wyjaśnione są najważniejsze części kodu. Kod nie będzie działał tylko z tym, co tutaj podano. Aby uzyskać pełny działający kod, na dole strony znajduje się link.
Podczas tworzenia kodu programowalnego termostatu, jedną z pierwszych rzeczy, które robisz, jest konfiguracja czujników i utworzenie pętli for, która będzie stale otrzymywać odczyty temperatury z czujnika temperatury.
Konfiguracja czujnika temperatury i diody LED:
tempPin = 'A0';%definiuj anonimową funkcję konwertującą napięcie na temperaturę tempCfromVolts = @(volts) (volts-0.5)*100; pobieranie próbekCzas trwania = 5; %sekundy. Jak długo chcemy próbkować dla samplingInterval = 1; %Ile sekund między odczytami temperatury %ustaw wektor czasów próbkowania samplingTimes = 0:samplingInterval:samplingDuration; % oblicz liczbę próbek na podstawie czasu trwania i interwału numSamples = length(samplingTimes); %prealokuj zmienne temp i zmienną dla liczby odczytów, które będą przechowywać tempC = zeros(numSamples, 1); tempF = tempC; % Tym razem użyjemy pętli for, aby wykonać określoną liczbę % odczytów temperatury
Pętla for:
dla indeksu = 1:numSamples %odczytaj napięcie w tempPin i zapisz w zmiennych woltach volts = readVoltage(a, tempPin); tempC(indeks) = -1*tempCfromVolts(wolty+0.3); tempF(indeks) = tempC(indeks)*(9/5)+32; %Wyświetlanie sformatowanego wyjścia przekazującego bieżący odczyt temperatury fprintf('Temperatura w %d sekundach wynosi %5.2f C lub %5.2f F.\n', … czasy próbkowania(indeks), tempC(indeks), tempF(indeks)); % zauważ, że ten wynik wyświetlania stanie się widoczny od razu po % zakończeniu wykonywania kodu, chyba że skopiujesz/wkleisz kod do zwykłego skryptu mplik. pause(samplingInterval) %opóźnienie do końca następnej próbki
Następnie tworzymy nasze menu użytkownika, aby użytkownik mógł zdecydować, czy ustawić termostat w trybie ręcznym, czy automatycznym. Tworzymy również kod błędu, jeśli użytkownik nie wybierze żadnej z dwóch opcji.
Menu trybu ręcznego wymaga od użytkownika ustawienia liczby dla temperatury termostatu, a następnie będzie on ogrzewał dom, chłodził dom lub był bezczynny na podstawie odczytów. Aby skonfigurować tę część kodu, użyłeś odczytów temperatury z czujnika temperatury i utworzyłeś kod, który będzie chłodził dom, gdy odczyt temperatury jest wyższy niż ustawiona temperatura, i ogrzewał dom, gdy odczyt temperatury jest niższy niż ustawiona temperatura.
Po odczytaniu temperatury możesz utworzyć kod, który powie termostatowi, aby schłodził dom, gdy odczyt temperatury jest wyższy niż ustawiona temperatura, i ogrzał dom, gdy odczyt temperatury jest niższy niż ustawiona temperatura. W przypadku prototypu niebieskie światło zapala się, gdy termostat powinien ostygnąć, a czerwone światło zapala się, gdy termostat powinien się nagrzać.
Konfiguracja menu:
choices = {'Automatyczny', 'Ręczny'};imode = menu('Tryb', wybory) if imode>0 h=msgbox(['Wybrałeś ' wybory{imode}]); else h=warndlg('Zamknąłeś menu bez dokonywania wyboru') end waitfor(h);
Tryb ręczny wymaga od użytkownika wprowadzenia temperatury dla termostatu, a następnie w oparciu o odczyty z czujnika temperatury, rozpocznie się chłodzenie domu lub ogrzewanie domu. Jeśli odczyt czujnika temperatury jest wyższy niż ustawiona temperatura, rozpocznie się chłodzenie domu. Jeśli odczyt czujnika temperatury jest niższy od ustawionej temperatury, ogrzeje on dom.
Rozpocznie się tryb ręczny:
if imode == 2 dlg_prompts = {'Jaką preferujesz temperaturę?'}; dlg_title = 'Temperatura'; dlg_defaults = {'68'}; opts. Resize = 'włączone'; dlg_ans = inputdlg(dlg_prompts, dlg_title, 1, dlg_defaults, opts); if isempty(dlg_ans) h=warndlg('Anulowałeś polecenie inputdlg'); else temp_manual = str2double(dlg_ans{1}) %[Dodaj slajd konfiguracji regulacji temperatury poniżej] end
Wewnątrz instrukcji if dla trybu ręcznego należy napisać interfejs menu, w którym użytkownik może wybrać żądaną temperaturę w domu, a następnie wprowadzić instrukcję while, która będzie regulować temperaturę w domu.
Konfiguracja regulacji temperatury:
while temp_manual < tempF writeDigitalPin(a, 'D9', 1) writeDigitalPin(a, 'D11', 1); end while temp_manual > tempF writeDigitalPin(a, 'D8', 1) writeDigitalPin(a, 'D11', 1); kończyć się
Tryb automatyczny wymaga większej liczby danych wejściowych niż tryb ręczny. Po przejściu w tryb automatyczny użytkownik ustawi dla termostatu temperaturę normalną i poza domem.
Ustaw tryb automatyczny:
elseif imode == 1 dlg_prompts = {'Normalnie', 'Poza domem'}; dlg_title = 'Ustawienia temperatury'; dlg_defaults = {'68', '64'}; opts. Resize = 'włączone'; dlg_ans = inputdlg(dlg_prompts, dlg_title, 1, dlg_defaults, opts); if isempty(dlg_ans) h=warndlg('Anulowałeś polecenie inputdlg'); else temp_normal = str2double(dlg_ans{1}) temp_away = str2double(dlg_ans{2}) end waitfor(h); %[Dodaj krok detektora ruchu poniżej]
Musimy również skonfigurować czujnik ruchu dla ustawień trybu automatycznego. Gdy czujnik ruchu wykryje ruch, utrzyma temperaturę na aktualnym ustawieniu temperatury, w przeciwnym razie ustawi się na temperaturę poza domem.
Run_Motion_Detector(a, inf) while lightStr == 0 temp = temp_away while temp tempF writeDigitalPin(a, 'D6', 1) dowolny pin czerwonego światła jest również w silniku dla wentylatora writeDigitalPin(a, 'D9', 1); end end while lightStr == 1 temp = temp_normal writeDigitalPin(a, 'D6', 1) %zmiana na dowolny pin, na którym znajduje się normalne światło podczas temp tempF writeDigitalPin(a, 'D6', 1) niezależnie od tego, na którym pin jest czerwone światło silnik do wentylatora writeDigitalPin(a, 'D9', 1); koniec koniec
Pełny kod można znaleźć tutaj.
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