Obsah:
Video: Inteligentní domácí termostat: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
Náš inteligentní domácí termostat je program, který dokáže automaticky ušetřit peníze domácnosti na účtech za energie na základě preferencí osoby.
Krok 1: Přehled
Inteligentní domácí termostat používá teplotní čidlo k měření teploty v domácnosti. Tato hodnota teploty je vložena do programu, kde rozhodne, zda klimatizační systém potřebuje vytápět nebo chladit dům na základě požadované teploty majitele domu.
Termostat má dva režimy: manuální a automatický. Manuální režim, který nastaví teplotu domu na jakoukoli požadovanou teplotu, nastavenou uživatelem. A automatický režim termostatu automaticky změní teplotu domova na teploty přednastavené uživatelem. V automatickém režimu budou dvě nastavení teploty: venkovní teplota a aktuální teplota. Vzdálená teplota se používá k úspoře energie změnou termostatu na přednastavenou úspornou teplotu, kdykoli uživatel není doma. Aktuální teplota bude použita, když je uživatel doma a chce příjemnou teplotu. V automatickém režimu termostatu pohybové senzory aktivně vyhledávají pohyb a zjišťují, zda je někdo doma nebo ne. Na základě jejich odečtu bude domácí teplota nastavena na venkovní teplotu nebo aktuální teplotu.
Krok 2: Díly a materiály
(15) Propojovací vodiče
(4) 220 ohmové odpory
(1) 10K ohmový odpor
(1) Čidlo teploty
(1) Fotografický odpor
(1) Mini DC převodovka DAGU
(1) Dioda
(1) Tranzistor
(1) Fotorezistor
(1) Breadboard
(1) Arduino MKR
Krok 3: Okruh
Obrázek 1 = Velký levý obrázek
Obrázek 2 = Vpravo nahoře
Obrázek 3 = Střední vpravo
Obrázek 4 = Vpravo dole
Obrázek 1
Pomocí výše uvedeného schématu jsme zapojili všechny naše tři LED diody. Rozdělili jsme každou LED, protože jsme pracovali s velkým chlebovým prkénkem. U menších chlebových desek může být nutné umístit diody blíže k sobě. Rovněž není nutné napájet prkénko, protože diody LED odebírají tak málo energie. Pro LED diody jsme nepoužili 5V připojení na desce. Každé připojení LED diod k našemu Arduinu bylo provedeno tak, jak je nahoře zelený vodič. Naše červené, modré a zelené LED diody jsou připojeny k digitálnímu pinu 8, 9 a 10, v daném obrázku jsou označeny červeným, modrým a zeleným vodičem.
Obrázek 2
Výše uvedený diagram byl použit k zapojení fotorezistoru. Provedli jsme několik vlastních oprav; koncepty jsou však stále stejné. Fotorezistor musí být připojen k analogovému pinu, který máme v pinu A1. Pro odpor nejblíže fotorezistoru použijte 10k ohmový odpor.
Obrázek 3
Toto je schéma použité k připojení teplotního senzoru. Použitý tranzistor si určitě nezaměňte s teplotním čidlem. Vypadají téměř identicky. Teplotní senzor bude pravděpodobně mít na ploché straně senzoru napsaný TMP nebo jiný skript. Zapojení je zde velmi jednoduché, náš teplotní senzor je zapojen do analogového pinu A0 bílým vodičem.
Obrázek 4
Výše uvedený obrázek byl použit k zapojení převodovky DAGU Mini DC Gearbox. Zelený vodič připojený k převodovce je ve skutečnosti červený vodič, který je k němu připojen na našem obrázku. Převodovka je v našem modelu připojena k digitálnímu kolíku 11 oranžovým vodičem. Použitý tranzistor si určitě nezaměňte s teplotním čidlem. Vypadají téměř identicky. Teplotní senzor bude pravděpodobně mít na ploché straně senzoru napsaný TMP nebo jiný skript. Zde musíte použít tranzistor a ne teplotní čidlo.
Krok 4: Arduino kód
Zde jsou vysvětleny nejdůležitější části kódu. Kód nebude fungovat pouze s tím, co je zde uvedeno. Chcete -li získat úplný pracovní kód, je v dolní části stránky odkaz.
Při vytváření kódu programovatelného termostatu je jednou z prvních věcí, které provedete, nastavení senzorů a vytvoření smyčky for, která bude neustále získávat hodnoty teploty z teplotního senzoru.
Nastavení teplotního senzoru a LED:
tempPin = 'A0';%definuje anonymní funkci, která převádí napětí na teplotu tempCfromVolts = @(volty) (volty-0,5)*100; samplingDuration = 5; %sekundy. Jak dlouho chceme vzorkovat pro samplingInterval = 1; %Kolik sekund mezi odečty teploty %nastavit vektor vzorkovací doby vzorkování Časy = 0: vzorkování Interval: vzorkováníDoba trvání; %vypočítat počet vzorků na základě doby trvání a intervalu numSamples = délka (samplingTimes); %preallocate temp variables and variable for the number of read it will store tempC = zeros (numSamples, 1); tempF = tempC; %Tentokrát použijeme smyčku for, abychom provedli předem určený počet %teplotních odečtů
Smyčka pro:
pro index = 1: numSamples %přečtěte napětí na tempPin a uložte do proměnných voltů volts = readVoltage (a, tempPin); tempC (index) = -1*tempCfromVolts (volty+0,3); tempF (index) = tempC (index)*(9/5) +32; %Formátovaný výstup displeje sdělující aktuální čtení teploty fprintf ('Teplota v %d sekundách je %5,2f C nebo %5,2f F. / n', … vzorkovací časy (index), tempC (index), tempF (index)); %Všimněte si, že tento výstup zobrazení bude viditelný pouze najednou po % %spuštění kódu, pokud nezkopírujete/vložíte kód do souboru mfile prostého skriptu. pauza (samplingInterval) %zpoždění do konce dalšího vzorku
Dále vytvoříme uživatelské menu, aby se uživatel rozhodl, zda přepne termostat do manuálního nebo automatického režimu. Pokud uživatel nevybere ani jednu z těchto dvou možností, vytvoříme také chybový kód.
Nabídka Manuální režim vyžaduje, aby uživatel nastavil číslo pro teplotu termostatu, poté buď vytápí dům, ochlazuje dům nebo je nečinný na základě naměřených hodnot. K nastavení této části kódu jste použili odečty teploty z teplotního čidla a vytvořili kód, který ochlazuje dům, když je teplota vyšší než nastavená teplota, a vytápí dům, když je teplota nižší než nastavená teplota.
Jakmile máte naměřené hodnoty teploty, můžete vytvořit kód, který řekne termostatu, aby ochladil dům, když je teplota vyšší než nastavená teplota, a vytápěl dům, když je teplota nižší než nastavená teplota. U prototypu se modré světlo rozsvítí, když by měl termostat vychladnout, a červené světlo, když se termostat zahřívá.
Nastavení nabídky:
options = {'Automatic', 'Manual'}; imode = menu ('Mode', options) if imode> 0 h = msgbox (['You asked' options {imode}]); else h = warndlg ('Zavřeli jste nabídku, aniž byste si vybrali') end waitfor (h);
Manuální režim vyžaduje, aby uživatel zadal teplotu pro termostat, poté na základě odečtů z teplotního čidla začne buď ochlazovat dům vytápění domu. Pokud je hodnota teplotního čidla vyšší než nastavená teplota, začne dům ochlazovat. Pokud je hodnota teplotního čidla nižší než nastavená teplota, vytápí dům.
Spustí se manuální režim:
if imode == 2 dlg_prompts = {'Jakou teplotu byste upřednostnili?'}; dlg_title = 'Teplota'; dlg_defaults = {'68'}; opts. Resize = 'on'; dlg_ans = inputdlg (dlg_prompts, dlg_title, 1, dlg_defaults, opts); if isempty (dlg_ans) h = warndlg ('Zrušili jste příkaz inputdlg'); else temp_manual = str2double (dlg_ans {1}) %[Přidat snímek nastavení regulace teploty níže] konec
Uvnitř příkazu if pro manuální režim musíte napsat rozhraní nabídky, aby si uživatel vybral požadovanou domácí teplotu, a poté implementovat příkaz while, který bude regulovat domácí teplotu.
Nastavení regulace teploty:
zatímco temp_manual <tempF writeDigitalPin (a, 'D9', 1) writeDigitalPin (a, 'D11', 1); konec, zatímco temp_manual> tempF writeDigitalPin (a, 'D8', 1) writeDigitalPin (a, 'D11', 1); konec
Automatický režim vyžaduje více vstupů než manuální režim. Po vstupu do automatického režimu uživatel nastaví pro svůj termostat normální a nepřítomnou teplotu. Po jejich výběru se podle toho, v jakém režimu se termostat nachází, vrátí zpět do režimu regulace teploty
Nastavte automatický režim:
elseif imode == 1 dlg_prompts = {'Normální', 'Pryč'}; dlg_title = 'Nastavení teploty'; dlg_defaults = {'68', '64'}; opts. Resize = 'zapnuto'; dlg_ans = inputdlg (dlg_prompts, dlg_title, 1, dlg_defaults, opts); if isempty (dlg_ans) h = warndlg ('Zrušili jste příkaz inputdlg'); else temp_normal = str2double (dlg_ans {1}) temp_away = str2double (dlg_ans {2}) konec čekání (h); %[Přidat krok detektoru pohybu níže]
Musíme také nastavit pohybový senzor pro nastavení automatického režimu. Když detektor pohybu zachytí pohyb, udrží teplotu na aktuálním nastavení teploty, v opačném případě se nastaví na teplotu venkovní teploty.
Run_Motion_Detector (a, inf) while lightStr == 0 temp = temp_away while temp tempF writeDigitalPin (a, 'D6', 1) whatever pin red light is in also motor for fan writeDigitalPin (a, 'D9', 1); end end while lightStr == 1 temp = temp_normal writeDigitalPin (a, 'D6', 1) %change to whatever pin the normal light is in while temp tempF writeDigitalPin (a, 'D6', 1) whatever pin red light is in also motor pro zápis ventilátoruDigitalPin (a, 'D9', 1); konec konec
Celý kód najdete zde.
Doporučuje:
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
Inteligentní zahradničení založené na IoT a inteligentní zemědělství pomocí ESP32: 7 kroků
Inteligentní zahradničení založené na IoT a inteligentní zemědělství pomocí ESP32: Svět se mění v čase a také v zemědělství. V dnešní době lidé integrují elektroniku do všech oblastí a zemědělství pro to není výjimkou. Toto sloučení elektroniky v zemědělství pomáhá zemědělcům a lidem, kteří spravují zahrady
Inteligentní zvonek pro domácí asistent: 4 kroky
Smart Doorbell for HomeAssistant: Chtěl jsem tedy zvonek s následujícími funkcemi: Video ze dveří Obousměrný zvuk Dvě tlačítka Integrace s tabletem připevněným na stěně zobrazujícím HomeAssistant UIS Některé možnosti přišly jako Doorbird (drahé a nemají obousměrný zvukový signál
Inteligentní domácí automatizace se zásuvkami Energenie - bezdotykové zásuvky: 4 kroky
Inteligentní domácí automatizace se zásuvkami Energenie - Bezdotykové zásuvky: Úvod Existuje spousta příkladů inteligentní domácí automatizace, ale tato je jednoduchá a velmi efektivně funguje rok v mém domě, takže doufám, že se vám bude líbit. Až budete hotovi, budete mít zařízení, které dokáže skenovat síť
HestiaPi Touch - otevřený inteligentní termostat: 9 kroků (s obrázky)
HestiaPi Touch - otevřený inteligentní termostat: O HestiaPi Touch HestiaPi Touch je zcela otevřený inteligentní termostat pro váš domov. Všechny digitální soubory a informace jsou k dispozici níže a na našich hlavních webových stránkách. S nimi můžete sledovat teplotu, relativní vlhkost a atmo