Spisu treści:
- Krok 1: Na początek: materiały
- Krok 2: Krok 2: Podejście do problemu do rozwiązania
- Krok 3: Krok 3: Konfiguracja GUI i podstawowego przepływu kodu
- Krok 4: Krok 3: Konfiguracja systemu termostatu
- Krok 5: Krok 4: Konfiguracja systemu drzwi
- Krok 6: Krok 6: Konfiguracja systemu Flood Light
- Krok 7: Wniosek
Wideo: System inteligentnego domu Arduino: 7 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:30
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 korzystania z fotorezystora, serwomotoru i czujnika ruchu PIR.
Krok 1: Na początek: materiały
Ten projekt wymaga następujących materiałów:
- Arduino Uno (do tego projektu użyliśmy płytki Sparkfun Red)
- Jeden fotorezystor
- Jeden mini-serwomotor
-Jeden ciągły serwomotor
-Jeden czujnik ruchu PIR
-Jeden czujnik temperatury
- 2 diody LED
- Przewody i rezystory według potrzeb
Krok 2: Krok 2: Podejście do problemu do rozwiązania
Głównym celem tego projektu było stworzenie łatwego w obsłudze systemu inteligentnego domu poprzez zakodowanie płytki Arduino Uno za pomocą MATLAB. Najpierw myśleliśmy o pracy z czujnikiem temperatury i wilgotności, jednak gdybyśmy pozostali przy tych dwóch czujnikach, nasz system inteligentnego domu nie byłby łatwo dostępny na rynku. Zdecydowaliśmy, że chcemy stworzyć ogólny system energetyczny inteligentnego domu, który będzie działał jako inteligentny termostat i system bezpieczeństwa. Na koniec chcieliśmy pracować z AppDesignerem firmy MATLAB, aby użytkownik mógł łatwo zmieniać inteligentny dom według własnego uznania.
Krok 3: Krok 3: Konfiguracja GUI i podstawowego przepływu kodu
Aby rozpocząć, musisz otworzyć MATLABs AppDesigner i umieścić następujące elementy:
Dwa numeryczne pola edycyjne dla wejścia gorącego i zimnego progu
Przycisk do odblokowania drzwi
I cztery lampki sygnalizacyjne do kominka, drzwi, wentylatora i światła powodziowego.
Dwie etykiety do komunikacji z użytkownikiem.
W przypadku tego projektu łatwiej nam było pracować ze zmiennymi globalnymi i funkcją uruchamiania w obrębie projektanta. Będziesz potrzebować tych zmiennych w ramach funkcji startowej:
globalny a
a = arduino('COM3', 'uno', 'Biblioteki', 'Servo'); global s global p global hotUI global coldUI global unlock global temp global curr_temp global int_light
W tej chwili mamy tylko przypisanie do zmiennej, aby twój komputer mógł odczytać arduino. COM3 może się różnić w zależności od portu używanego przez komputer.
Po uruchomieniu kodu rozpocznie się on w ramach funkcji startowej, tworząc zmienne globalne i kalibrując system. Na końcu tej funkcji będzie funkcja timera, która wywołuje właściwość o nazwie Timer. W ramach tej właściwości Timer wstawiamy kod, który uruchamia system domowy, aby zegar nie uruchamiał ponownie kodu kalibracji.
Uwaga: Nie podaliśmy żadnych instrukcji okablowania systemu. Odnieśliśmy się do instrukcji dołączonej do płytki SparkFun Red.
Krok 4: Krok 3: Konfiguracja systemu termostatu
Funkcja termostatu działa w następujący sposób:
Użytkownik wprowadzi, jaką temperaturę uważa za zbyt wysoką lub zbyt niską. Gdy termometr odczyta, jeśli w domu jest zbyt zimno, „kominek” (czerwona dioda LED) włączy się i ogrzeje dom. Jeśli w domu jest za gorąco, wówczas „wentylator” (serwomotor ciągły) włączy chłodzenie domu.
Aby zakodować system termostatu:
Zaczniemy od funkcji uruchamiania, aby wyświetlić aktualną temperaturę i pozwolić użytkownikowi wprowadzić swoje progi zimnego i gorącego.
p = 'A0' %Pin fotorezystora
wolt = odczytaj napięcie(a, temp); celc = (wolt-0,5).*100; aktual_temp = celc*9/5+32; app. Label_4. Text = num2str(curr_temp); %Numer etykiety może zmienić pauzę(10); %Może chcieć zmienić!!!!!
Następnie uzupełnimy system termostatów we właściwości Timer.
globalna temperatura_aktualna
global coldUI global globalny hotUI if curr_temp hotUI app. FanStateLamp. Color = [0.47 0.67 0.19]; Włącza lampkę GUI na zielono writePWMDutyCycle(a, 'D11',.9) % Kolejne trzy linie kodu uruchamiają pauzę wentylatora serwomechanizmu (10) writePWMDutyCycle(a, 'D11',.0) else app. FireplaceStateLamp. Color = [0,90 0,90 0,90]; % Spowoduje to wyłączenie wszystkich lamp GUI i app kominka. FanStateLamp. Color = [0.9 0.9 0.9]; writeDigitalPin(a, 'D13', 0); kończyć się
Krok 5: Krok 4: Konfiguracja systemu drzwi
Funkcja drzwi działa w następujący sposób:
Po pierwszym uruchomieniu kodu MATLAB aplikacja poprosi o otwarcie drzwi, aby fotorezystor mógł wykonać wstępny odczyt światła. Po zakończeniu, timer zostanie aktywowany, a fotorezystor wykona odczyty światła wtórnego. Jeśli odczyt światła wtórnego jest lżejszy niż początkowy, serwomotor zablokuje drzwi. Jeśli użytkownik chce odblokować drzwi, może nacisnąć przycisk w aplikacji, który odblokuje drzwi.
Aby skonfigurować serwomotor i fotorezystor:
Aby zakodować system drzwi:
Zaczniemy od funkcji uruchamiania, aby wykonać wstępne odczyty światła.
s = serwo(a, 'D9') %Pin może się zmieniać w zależności od okablowania
app. Label_4. Text='Otwórz drzwi, aby skalibrować system'; pauza(15); % Daje to czas użytkownikowi na otwarcie drzwi int_light = readVoltage(a, p); app. Label_4. Text = 'Możesz zdjąć palec';
Następnie uzupełnimy kod we właściwości Timer
globalne odblokowanie
global int_light global s global a % Pobierz bieżący odczyt światła do porównania curr_light = readVoltage(a, p); % -- Zablokuj drzwi -- jeśli int_light<curr_light writePosition(s, 1) % Pozycje serwomechanizmów mogą się różnić w zależności od pauzy silnika (0.5); app. DoorStateLamp. Color = [0,47 0,67 0,19]; end % -- Unlock Door -- jeśli unlock == 1234 pauza (0.5); writePosition(s,.52) app. DoorStateLamp. Color = [0.85 0.33 0.10]; kończyć się
Na koniec utworzymy wywołanie zwrotne przycisku odblokowania. Gdy użytkownik naciśnie przycisk unlock, zmienna globalna unlock otrzyma numer, który może uzupełnić ostateczną instrukcję if we właściwości Timer.
globalne odblokowanie
odblokować = 1234;
Krok 6: Krok 6: Konfiguracja systemu Flood Light
Funkcja światła powodziowego działa w następujący sposób:
Po uruchomieniu kodu MATLAB czujnik ruchu PIR zacznie wykrywać ruch. Gdy wykryje jakiś rodzaj ruchu, odetnie sygnał zasilania. Po odcięciu tego sygnału przed domem włączy się światło powodziowe.
Aby skonfigurować system oświetlenia powodziowego:
Aby zakodować system oświetlenia powodziowego:
Tym razem możemy przejść do właściwości Timer, ponieważ nie musimy pisać żadnych dodatkowych zmiennych.
wykryto_człowieka = odczytajPinCyfrowy(a, 'D2'); %Pin może się zmienić w zależności od konfiguracji, jeśli wykryto człowieka == 0 writeDigitalPin(a, 'D7', 1) %Pin może zmienić app. FloodLightStateLamp. Color = [0.47 0.67 0.19]; elseif human_detected == 1 app. FloodLightStateLamp. Color = [0.9 0.9 0.9]; writeDigitalPin(a, 'D7', 0) koniec
Krok 7: Wniosek
Teraz, gdy masz już szkic swojego GUI z App Designerem i kodem dla Arduino, możesz wykonać własne edycje lub podłączyć Arduino i gotowe!
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
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
System inteligentnego domu IoT: 8 kroków
System inteligentnego domu IoT: To jest system inteligentnego domu Keefe i Jons na iot
Monitorowanie inteligentnego domu za pomocą Alexa i Arduino: 9 kroków (ze zdjęciami)
Monitorowanie inteligentnego domu za pomocą Alexa i Arduino: W dzisiejszym świecie ludzie spędzają więcej czasu w miejscu pracy niż w domu. Stąd istnieje potrzeba systemu monitoringu domu, w którym ludzie mogą zapoznać się z warunkami w domu podczas pracy. Byłoby jeszcze lepiej, gdyby jeden c