Obsah:
- Krok 1: Začnite: Materiály
- Krok 2: Krok 2: Prístup k riešenému problému
- Krok 3: Krok 3: Konfigurácia toku GUI a základného kódu
- Krok 4: Krok 3: Nastavenie systému termostatu
- Krok 5: Krok 4: Nastavenie systému dverí
- Krok 6: Krok 6: Nastavenie systému Flood Light
- Krok 7: Záver
Video: Inteligentný domáci systém Arduino: 7 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
V tomto návode vám ukážeme, ako si vytvoriť vlastný inteligentný domáci systém pomocou aplikácie MATLAB App Designer s doskou Sparkfun Red. Tento návod je možné použiť na pomoc pri základnom porozumení programu MATLAB App Designer a pri použití fotorezistora, servomotora a snímača pohybu PIR.
Krok 1: Začnite: Materiály
Tento projekt vyžaduje nasledujúce materiály:
- Arduino Uno (Na tento projekt sme použili červenú dosku Sparkfun)
- Jeden fotoodpor
- Jeden mini-servomotor
- Jeden nepretržitý servomotor
- Jeden snímač pohybu PIR
- Jeden teplotný snímač
- 2 LED diódy
- Drôty a odpory podľa potreby
Krok 2: Krok 2: Prístup k riešenému problému
Hlavným cieľom tohto projektu bolo vytvoriť ľahko použiteľný inteligentný domáci systém kódovaním dosky Arduino Uno s MATLAB. Najprv sme premýšľali o práci so snímačom teploty a vlhkosti, keby sme však zostali pri týchto dvoch snímačoch, náš systém inteligentnej domácnosti by nebol ľahko obchodovateľný pre široké publikum. Rozhodli sme sa, že chceme vytvoriť celkový inteligentný energetický systém pre domácnosť, ktorý bude fungovať ako inteligentný termostat a bezpečnostný systém. Nakoniec sme chceli pracovať s AppDesignerom MATLABu, aby si užívateľ mohol inteligentnú domácnosť ľahko meniť, ako chce.
Krok 3: Krok 3: Konfigurácia toku GUI a základného kódu
Na začiatok budete musieť otvoriť MATLABs AppDesigner a umiestniť nasledovné:
Dve číselné pole na úpravu vstupu horúceho a studeného prahu
Tlačidlo na odomknutie dverí
A štyri kontrolky pre krb, dvierka, ventilátor a protipovodňové svetlo.
Dva štítky na komunikáciu s používateľom.
Pre tento projekt sme zistili, že je jednoduchšie pracovať s globálnymi premennými a funkciou spustenia v návrhárovi. Na spustenie funkcie budete potrebovať tieto premenné:
globálna a
a = arduino ('COM3', 'uno', 'knižnice', 'servo'); global s global p global hotUI global coldUI global unlock global temp global temp_temp global int_light
Teraz máme iba priradenie premennej, aby váš počítač dokázal čítať arduino. COM3 sa môže líšiť v závislosti od toho, aký port váš počítač môže používať.
Keď spustíte kód, spustí sa v rámci spúšťacej funkcie, vytvára globálne premenné a kalibruje systém. Na konci tejto funkcie bude funkcia časovača, ktorá volá vlastnosť, ktorú sme pomenovali Timer. Do tejto vlastnosti Časovač vložíme kód, ktorý spúšťa domáci systém, takže časovač znova nespustí kalibračný kód.
Poznámka: Nedali sme žiadne pokyny na zapojenie systému. Odkazovali sme na príručku, ktorá sa dodáva s doskou SparkFun Red.
Krok 4: Krok 3: Nastavenie systému termostatu
Funkcia termostatu funguje nasledovne:
Používateľ zadá, akú teplotu považuje za príliš horúcu alebo príliš studenú. Keď je teplomer odčítaný, ak je v dome príliš zima, zapne sa „krb“(červená dióda LED) a vykuruje dom. Ak je dom príliš horúci, potom "ventilátor" (nepretržitý servomotor) zapne chladenie domu.
Kódovanie systému termostatu:
Začneme v rámci funkcie spustenia, aby sme zobrazili aktuálnu teplotu a umožnili používateľovi zadať svoje prahové hodnoty za studena a za tepla.
p = 'A0' %Fotorezistorový kolík
volt = readVoltage (a, temp); celc = (volt-0,5).*100; current_temp = celc*9/5+32; app. Label_4. Text = num2str (proud_temp); %Počet štítkov môže zmeniť pauzu (10); %Možno sa chce zmeniť !!!!!
Potom dokončíme systém termostatu v rámci vlastnosti Timer.
globálna teplota_meny
global coldUI global a global hotUI if toku_temp hotUI app. FanStateLamp. Color = [0,47 0,67 0,19]; %Otočí zelenú lampu GUI writePWMDutyCycle (a, 'D11',.9) %Nasledujúce tri riadky kódu spustia pauzu ventilátora serva (10) writePWMDutyCycle (a, 'D11',.0) else app. FireplaceStateLamp. Color = [0,90 0,90 0,90]; %Toto vypne všetky GUI žiarovky a aplikáciu krbu. FanStateLamp. Color = [0,9 0,9 0,9]; writeDigitalPin (a, 'D13', 0); koniec
Krok 5: Krok 4: Nastavenie systému dverí
Funkcia pre dvere funguje nasledovne:
Pri prvom spustení kódu MATLAB vás aplikácia vyzve, aby ste otvorili dvere, aby fotorezistor mohol vykonať prvé čítanie svetla. Hneď ako je to dokončené, aktivuje sa časovač a fotorezistor odčíta sekundárne svetlo. Ak je sekundárne svetlo svetlejšie ako pôvodné, dvere zamkne servomotor. Ak chce používateľ odomknúť dvere, môže v aplikácii stlačiť tlačidlo, ktoré dvere odomkne.
Konfigurácia servomotora a fotorezistora:
Kódovanie systému dverí:
Začneme v rámci funkcie spustenia, aby sme vykonali počiatočné hodnoty svetla.
s = servo (a, 'D9') %Kolík sa môže meniť v závislosti od zapojenia
app. Label_4. Text = 'Prosím otvorte dvere na kalibráciu systému'; pauza (15); %To dáva užívateľovi čas na otvorenie dverí int_light = readVoltage (a, p); app. Label_4. Text = 'Môžete odstrániť svoj prst';
Ďalej dokončíme kód v rámci vlastnosti Časovač
globálne odomknutie
global int_light global s global a %Získajte aktuálnu svetelnú hodnotu na porovnanie prúd_light = readVoltage (a, p); % - Uzamykateľné dvere - ak je int_light <aktuálne_svetlo zápisuPozícia (s, 1) % Polohy serva sa môžu líšiť podľa prestávky motora (0,5); app. DoorStateLamp. Color = [0,47 0,67 0,19]; end % - Unlock Door - if unlock == 1234 pause (0,5); writePosition (s,, 52) app. DoorStateLamp. Color = [0,85 0,33 0,10]; koniec
Nakoniec vytvoríme spätné volanie pomocou tlačidla odomknutia. Hneď ako používateľ stlačí tlačidlo odomknutia, bude globálnemu odomknutiu premennej priradené číslo, ktoré môže dokončiť príkaz if v vlastnosti Timer.
globálne odomknutie
odomknúť = 1234;
Krok 6: Krok 6: Nastavenie systému Flood Light
Funkcia pre povodňové svetlo funguje nasledovne:
Keď spustíte kód MATLAB, snímač pohybu PIR začne detekovať pohyb. Akonáhle zaznamená nejaký druh pohybu, preruší napájací signál. Akonáhle je tento signál prerušený, mimo domu sa zapne povodňové svetlo.
Konfigurácia systému povodňových svetiel:
Kódovanie systému povodňových svetiel:
Tentoraz môžeme preskočiť na vlastnosť Časovač, pretože nepotrebujeme písať žiadne ďalšie premenné.
human_detected = readDigitalPin (a, 'D2'); %Pin sa môže meniť na základe konfigurácie, ak human_detected == 0 writeDigitalPin (a, 'D7', 1) %Pin môže zmeniť aplikáciu. FloodLightStateLamp. Color = [0,47 0,67 0,19]; elseif human_detected == 1 aplikácia. FloodLightStateLamp. Color = [0,9 0,9 0,9]; writeDigitalPin (a, 'D7', 0) koniec
Krok 7: Záver
Teraz, keď máte návrh GUI s App Designer a kódom pre Arduino, ste pripravení vykonávať vlastné úpravy alebo zapojiť Arduino a ísť!
Odporúča:
Vytvorte si inteligentný domáci riadiaci systém na STONE HMI Disp: 23 krokov
Vytvorte si inteligentný systém ovládania domácnosti na STONE HMI Disp: Úvod projektu Nasledujúci tutoriál vám ukáže, ako pomocou modulu dotykového displeja STONE STVC050WT-01 vytvoriť jednoduchý systém ovládania domácich spotrebičov
Inteligentný inteligentný monitor: 5 krokov
Inteligentný monitor s inteligentným monitorovaním: Väčšina projektov, ktoré obsahujú, sú vyvážené a inteligentné s mnohými inteligentnými monitormi, ktoré monitorujú všetky druhy zvierat a upozorňujú na ne. Vykonajte platný počet pesničiek, ktoré by ste mali vziať do úvahy, uskutočniť
SmartBox - inteligentný domáci systém pre vašu izbu: 6 krokov
SmartBox - Inteligentný domáci systém pre vašu izbu: Dobrý deň, všetci! V tomto návode vám vysvetlím, ako vytvoriť inteligentný izbový systém. Tento systém obsahuje dve zariadenia. Všeobecné zariadenie so snímačom vlhkosti a teploty, ktoré meria aktuálnu kvalitu života vo vašej miestnosti. Ty si
Inteligentný budík: inteligentný budík vyrobený z Raspberry Pi: 10 krokov (s obrázkami)
Inteligentný budík: Inteligentný budík vyrobený z Raspberry Pi: Už ste niekedy chceli inteligentné hodiny? Ak je to tak, toto je riešenie pre vás! Vyrobil som inteligentný budík, toto sú hodiny, v ktorých môžete zmeniť čas budíka podľa webových stránok. Keď sa spustí alarm, zaznie zvuk (bzučiak) a 2 svetlá
Inteligentný domáci systém IoT: 8 krokov
Inteligentný domáci systém IoT: Toto je inteligentný domáci systém Keefe a Jons na iot