Obsah:
- Krok 1: Začněte: Materiály
- Krok 2: Krok 2: Přistoupení k řešení problému
- Krok 3: Krok 3: Konfigurace GUI a základního toku kódu
- Krok 4: Krok 3: Nastavení systému termostatu
- Krok 5: Krok 4: Nastavení systému dveří
- Krok 6: Krok 6: Nastavení systému Flood Light
- Krok 7: Závěr
Video: Inteligentní domácí systém Arduino: 7 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
V tomto Instructable vám ukážeme, jak vytvořit svůj vlastní inteligentní domácí systém pomocí MATLAB's App Designer s tabulí Sparkfun Red. Tento Instructable lze použít k získání základního porozumění programu MATLAB App Designer a také pomocí fotorezistoru, servomotoru a pohybového senzoru PIR.
Krok 1: Začněte: Materiály
Tento projekt vyžaduje následující materiály:
- Arduino Uno (Pro tento projekt jsme použili Sparkfun Red board)
- Jeden fotorezistor
- Jeden mini-servomotor
- Jeden nepřetržitý servomotor
- Jeden snímač pohybu PIR
- Jedno teplotní čidlo
- 2 LED diody
- Dráty a odpory podle potřeby
Krok 2: Krok 2: Přistoupení k řešení problému
Hlavním cílem tohoto projektu bylo vytvořit snadno použitelný inteligentní domácí systém kódováním desky Arduino Uno s MATLAB. Nejprve jsme přemýšleli o práci se snímačem teploty a vlhkosti, ale pokud bychom zůstali u těchto dvou senzorů, náš systém inteligentní domácnosti by nebyl snadno prodejný pro široké publikum. Rozhodli jsme se, že chceme vytvořit celkový inteligentní domácí energetický systém, který bude fungovat jako inteligentní termostat a zabezpečovací systém. Nakonec jsme chtěli pracovat s aplikací MATLAB AppDesigner, aby si uživatel mohl inteligentní dům snadno libovolně upravovat.
Krok 3: Krok 3: Konfigurace GUI a základního toku kódu
Chcete -li začít, musíte otevřít MATLABs AppDesigner a umístit následující:
Dvě numerická pole pro zadání horkého a studeného prahu
Tlačítko pro odemčení dveří
A čtyři kontrolky pro krb, dvířka, ventilátor a záplavové světlo.
Dva štítky pro komunikaci s uživatelem.
Pro tento projekt jsme zjistili, že je jednodušší pracovat s globálními proměnnými a spouštěcí funkcí v rámci návrháře. V rámci spouštěcí funkce budete potřebovat tyto proměnné:
globální a
a = arduino ('COM3', 'uno', 'knihovny', 'servo'); global s global p global hotUI global coldUI global unlock global temp global temp_temp global int_light
Právě teď máme přiřazení pouze pro proměnnou, takže váš počítač může číst arduino. COM3 se může lišit v závislosti na tom, jaký port váš počítač používá.
Když spustíte kód, spustí se v rámci spouštěcí funkce, která vytvoří globální proměnné a zkalibruje systém. Na konci této funkce bude funkce časovače, která volá vlastnost, kterou jsme pojmenovali Timer. Do této vlastnosti Timer vložíme kód, který spouští domácí systém, takže časovač znovu nespustí kalibrační kód.
Poznámka: Nedali jsme žádné pokyny k zapojení systému. Odkazovali jsme na manuál, který je součástí desky SparkFun Red.
Krok 4: Krok 3: Nastavení systému termostatu
Funkce termostatu funguje následovně:
Uživatel zadá, jakou teplotu považuje za příliš horkou nebo příliš nízkou. Jakmile je teploměr naměřený, pokud je v domě příliš zima, zapne se „krb“(červená LED) a vytopí dům. Pokud je dům příliš horký, pak „ventilátor“(nepřetržitý servomotor) zapne chlazení domu.
Kódování systému termostatu:
Začneme v rámci funkce spouštění, abychom zobrazili aktuální teplotu a nechali uživatele zadat své prahové hodnoty za studena a za tepla.
p = 'A0' %Pin fotorezistoru
volt = readVoltage (a, temp); celc = (volt-0,5).*100; proud_temp = celc*9/5+32; app. Label_4. Text = num2str (proud_temp); %Číslo štítku může změnit pauzu (10); %Může chtít změnit !!!!!
Poté dokončíme systém termostatu v rámci vlastnosti Timer.
globální proud_temp
global coldUI global a global hotUI if toku_temp hotUI app. FanStateLamp. Color = [0,47 0,67 0,19]; %Otočí zelenou lampu GUI writePWMDutyCycle (a, 'D11',.9) %Následující tři řádky kódu spustí pauzu ventilátoru serva (10) writePWMDutyCycle (a, 'D11',.0) else app. FireplaceStateLamp. Color = [0,90 0,90 0,90]; %Tím se vypnou všechny GUI lampy a krbová aplikace. FanStateLamp. Color = [0,9 0,9 0,9]; writeDigitalPin (a, 'D13', 0); konec
Krok 5: Krok 4: Nastavení systému dveří
Funkce pro dveře funguje následovně:
Když poprvé spustíte kód MATLAB, aplikace vás vyzve k otevření dveří, aby fotorezistor mohl provést počáteční čtení světla. Jakmile je to dokončeno, časovač se aktivuje a fotorezistor provede odečty sekundárního světla. Pokud je hodnota sekundárního světla lehčí než původní, dveře zamkne servomotor. Pokud chce uživatel odemknout dveře, může v aplikaci stisknout tlačítko, které dveře odemkne.
Konfigurace servomotoru a fotorezistoru:
Kódování systému dveří:
Začneme v rámci spouštěcí funkce, abychom provedli počáteční měření světla.
s = servo (a, 'D9') %Pin se může měnit na základě zapojení
app. Label_4. Text = 'Otevřete dveře a zkalibrujte systém'; pauza (15); %To dává uživateli čas na otevření dveří int_light = readVoltage (a, p); app. Label_4. Text = 'Můžete odebrat prst';
Dále dokončíme kód ve vlastnosti Timer
globální odemknutí
global int_light global s global a %Získejte aktuální světelnou hodnotu pro porovnání proud_light = readVoltage (a, p); % - Dveře zámku - pokud int_light < app. DoorStateLamp. Color = [0,47 0,67 0,19]; end % - Unlock Door - if unlock == 1234 pause (0,5); writePosition (s, 0,52) app. DoorStateLamp. Color = [0,85 0,33 0,10]; konec
Nakonec vytvoříme zpětné volání tlačítka odemčení. Jakmile uživatel stiskne tlačítko pro odemknutí, bude globálnímu odemčení proměnné přiřazeno číslo, které může dokončit příkaz final if ve vlastnosti Timer.
globální odemčení
odemknout = 1234;
Krok 6: Krok 6: Nastavení systému Flood Light
Funkce pro povodňové světlo funguje následovně:
Když spustíte kód MATLAB, pohybový senzor PIR začne detekovat pohyb. Jakmile detekuje nějaký druh pohybu, přeruší napájecí signál. Jakmile je tento signál přerušen, mimo domov se rozsvítí povodňové světlo.
Konfigurace systému světlometů:
Kódování systému světlometů:
Tentokrát můžeme přeskočit na vlastnost Timer, protože nepotřebujeme psát žádné další proměnné.
human_detected = readDigitalPin (a, 'D2'); %Pin se může měnit na základě konfigurace, pokud human_detected == 0 writeDigitalPin (a, 'D7', 1) %Pin může změnit app. FloodLightStateLamp. Color = [0,47 0,67 0,19]; elseif human_detected == 1 aplikace. FloodLightStateLamp. Color = [0,9 0,9 0,9]; writeDigitalPin (a, 'D7', 0) konec
Krok 7: Závěr
Nyní, když máte návrh grafického uživatelského rozhraní s aplikací App Designer a kódem pro Arduino, jste připraveni provádět vlastní úpravy nebo zapojit Arduino a jít!
Doporučuje:
Vytvořte si inteligentní domácí řídicí systém na STONE HMI Disp: 23 kroků
Vytvořte inteligentní systém ovládání domácnosti na STONE HMI Disp: Úvod projektu Následující tutoriál vám ukáže, jak pomocí modulu dotykového displeje STONE STVC050WT-01 vytvořit jednoduchý řídicí systém domácích spotřebičů
SmartBox - inteligentní domácí systém pro váš pokoj: 6 kroků
SmartBox - inteligentní domácí systém pro váš pokoj: Ahoj všichni! V tomto návodu vám vysvětlím, jak vytvořit inteligentní pokojový systém. Tento systém obsahuje dvě zařízení. Obecné zařízení se snímačem vlhkosti a snímačem teploty, které měří aktuální kvalitu života ve vaší místnosti. Ty jsi
Inteligentní budík: inteligentní budík vyrobený z Raspberry Pi: 10 kroků (s obrázky)
Chytrý budík: Chytrý budík vyrobený z Raspberry Pi: Chtěli jste někdy chytré hodiny? Pokud ano, toto je řešení pro vás! Vytvořil jsem inteligentní budík, toto jsou hodiny, u kterých můžete podle času na webu změnit čas budíku. Když se spustí alarm, ozve se zvuk (bzučák) a 2 kontrolky
Levný a snadný inteligentní domácí systém: 7 kroků
Levný a snadný inteligentní domácí systém: Dobrý den! Jsem Ed. Je mi 15 let a mám vášeň pro výpočetní techniku, programování a elektrotechniku. Vzhledem k tomu, že jsem docela mladý, bydlím ve svém rodičovském domě. Tento projekt začal, když jsem se rozhodl přestěhovat do podkroví/ podkroví, v rámci projektu desig
Inteligentní domácí systém IoT: 8 kroků
Inteligentní domácí systém IoT: Toto je inteligentní domácí systém Keefe a Jons na iot