Tartalomjegyzék:
Videó: Intelligens otthoni termosztát: 4 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
Intelligens otthoni termosztátunk egy olyan program, amely automatikusan megtakarítja a háztartások pénzét a közüzemi számlákon az adott személy preferenciái alapján.
1. lépés: Áttekintés
Az intelligens otthoni termosztát hőmérséklet -érzékelőt használ az otthon hőmérsékletének meghatározására. Ezt a hőmérsékleti értéket a programba helyezik, ahol a kívánt lakástulajdonos hőmérséklete alapján eldönti, hogy a légkondicionálónak fűteni vagy hűteni kell -e a házat.
A termosztátnak két módja van: manuális és automatikus. A manuális mód, amely a felhasználó által beállított kívánt hőmérsékletre állítja be az otthon hőmérsékletét. A termosztát automatikus üzemmódja pedig automatikusan megváltoztatja a lakás hőmérsékletét a felhasználó által előre beállított hőmérsékletre. Az automatikus üzemmódhoz két hőmérséklet -beállítás áll rendelkezésre: távoli hőmérséklet és jelenlegi hőmérséklet. A távoli hőmérséklet energiatakarékosságra szolgál, ha a termosztátot előre beállított energiatakarékos hőmérsékletre változtatja, amikor a felhasználó nincs otthon. A jelenlegi hőmérsékletet akkor kell használni, ha a felhasználó otthon van, és kényelmes hőmérsékletet szeretne. A termosztát automatikus üzemmódjában a mozgásérzékelők aktívan keresik a mozgást annak megállapítására, hogy valaki otthon van -e vagy sem. A leolvasott adatok alapján az otthoni hőmérséklet vagy az idegen, vagy a jelenlegi hőmérsékletre lesz beállítva.
2. lépés: Alkatrészek és anyagok
(15) Jumper vezetékek
(4) 220 ohmos ellenállások
(1) 10K ohmos ellenállás
(1) Hőmérséklet érzékelő
(1) Fényellenállás
(1) DAGU Mini DC sebességváltó
(1) Dióda
(1) Tranzisztor
(1) Fotorezisztor
(1) Kenyeretábla
(1) Arduino MKR
3. lépés: Áramkör
1. ábra = Nagy bal oldali kép
2. ábra = Jobb felső
3. ábra = Jobbközép
4. ábra = Jobb alsó
1.ábra
A fenti ábra segítségével bekötöttük mindhárom LED -edet. Minden LED -et elosztottunk egymástól, mivel egy nagy kenyértáblával dolgoztunk. Kisebb kenyértáblák esetén szükség lehet a LED -ek közelebb való elhelyezésére. Ezenkívül szükségtelen a kenyérsütő tápellátása, mivel a LED -ek olyan kevés energiát fogyasztanak. A LED -ekhez nem a kenyértáblán lévő 5V -os csatlakozót használtuk. A LED -ek és az Arduino -nk között minden kapcsolat úgy történt, mint a zöld vezeték fent. Piros, kék és zöld LED -jeink a 8 -as, 9 -es és 10 -es digitális tüskéhez vannak csatlakoztatva, képünkön piros, kék és zöld vezetékkel jelölve.
2. ábra
A fenti diagramot használtuk a fényellenállás vezetékezésére. Néhány saját korrekciót hajtottunk végre; azonban a fogalmak továbbra is ugyanazok. A fényellenállást az analóg tűhöz kell csatlakoztatni, amely az A1 -es tűben van. Ügyeljen arra, hogy 10K ohmos ellenállást használjon a fotorezisztorhoz legközelebb álló ellenálláshoz.
3. ábra
Ez az ábra a hőmérséklet -érzékelő vezetékezésére szolgál. Ügyeljen arra, hogy ne tévessze össze az itt használt tranzisztorokat a hőmérséklet -érzékelővel. Majdnem egyformának tűnnek. A hőmérséklet -érzékelő valószínűleg TMP -t vagy más szkriptet ír az érzékelő lapos oldalára. A kábelezés itt nagyon egyszerű, a hőmérséklet -érzékelőnk fehér vezetékkel van csatlakoztatva az A0 analóg érintkezőhöz.
4. ábra
A fenti képet a DAGU Mini DC sebességváltó huzalozására használtuk. A sebességváltóhoz rögzített zöld vezeték valójában a képen látható piros vezeték. A sebességváltó modellünkben narancssárga vezetékkel csatlakozik a 11. digitális csaphoz. Ügyeljen arra, hogy ne tévessze össze az itt használt tranzisztorokat a hőmérséklet -érzékelővel. Majdnem egyformának tűnnek. A hőmérséklet -érzékelő valószínűleg TMP -t vagy más szkriptet ír az érzékelő lapos oldalára. Itt a tranzisztort kell használni, és nem a hőmérséklet -érzékelőt.
4. lépés: Arduino kód
Itt ismertetjük a kód legfontosabb részeit. A kód nem csak az itt megadottal fog működni. A teljes működőkód megtekintéséhez az oldal alján található egy link.
A programozható termosztát kódjának létrehozásakor az egyik első dolog, amit meg kell tennie, az érzékelők beállítása, és egy for -hurok létrehozása, amely folyamatosan le fogja olvasni a hőmérséklet -érzékelőket.
A hőmérséklet -érzékelő és a LED beállítása:
tempPin = 'A0';%meghatározza a névtelen függvényt, amely a feszültséget hőmérsékletté alakítja tempCfromVolts = @(volt) (0,5 volt)*100; samplingDuration = 5; %másodperc. Meddig akarunk mintát venni a mintavételhezInterval = 1; %Hány másodperc a hőmérsékleti leolvasások között %beállította a mintavételi idők vektorát samplingTimes = 0: samplingInterval: samplingDuration; %kiszámítja a minták számát az időtartam és az intervallum alapján numSamples = length (samplingTimes); %előre kiosztott hőmérsékleti változók és változó az olvasások számához tárolja a tempC = nullákat (numSamples, 1); tempF = tempC; %Ezúttal egy for ciklusot használunk egy előre meghatározott számú %-os hőmérséklet leolvasásához
A for hurok:
index = 1 esetén: numSamples %leolvassa a feszültséget a tempPin -nél, és tárolja változó voltban, voltban = readVoltage (a, tempPin); tempC (index) = -1*tempCfromVolts (volt+0,3); tempF (index) = tempC (index)*(9/5) +32; %Megjeleníti a formázott kimenetet, amely kommunikálja az aktuális hőmérsékletet fprintf ('A hőmérséklet %d másodperc alatt %5,2f C vagy %5,2f F. / n',… samplingTimes (index), tempC (index), tempF (index)); %megjegyzés: ez a kijelző kimenet csak akkor lesz látható, ha a kód végrehajtása befejeződött, hacsak nem másolja/illessze be a kódot egy egyszerű script mfile -be. szünet (samplingInterval) %késés a minta következő végéig
Ezután létrehozzuk a felhasználói menüt, hogy a felhasználó eldönthesse, hogy a termosztátot kézi vagy automatikus üzemmódba állítja -e. Hibakódot is létrehozunk, ha a felhasználó nem választja ki a két lehetőség egyikét sem.
A Kézi üzemmód menüben a felhasználónak be kell állítania egy számot a termosztát hőmérsékletére, akkor az vagy a fűtést, a ház hűtését vagy a leolvasások alapján tétlen állapotot mutat. A kód ezen részének beállításához a hőmérséklet -érzékelő hőmérséklet -leolvasásait használta, és olyan kódot hozott létre, amely lehűti az otthont, ha a hőmérséklet -érték magasabb, mint a beállított hőmérséklet, és felmelegíti a lakást, ha a hőmérséklet -érték alacsonyabb, mint a beállított hőmérséklet.
Ha megvannak a hőmérsékleti értékek, létrehozhat egy kódot, amely jelzi a termosztátnak, hogy hűtse le az otthont, ha a hőmérséklet -érték magasabb, mint a beállított hőmérséklet, és felmelegíti az otthont, ha a hőmérséklet -érték alacsonyabb, mint a beállított hőmérséklet. A prototípus esetében a kék fény akkor gyullad ki, amikor a termosztátnak le kell hűlnie, a piros pedig akkor, amikor a termosztát felmelegszik.
Menü beállítás:
options = {'Automatic', 'Manual'}; imode = menu ('Mode', options) if imode> 0 h = msgbox (['Ön választotta a választásokat {imode}]); else h = warndlg ('Választás nélkül bezártad a menüt') end waitfor (h);
A kézi üzemmód megköveteli a felhasználótól, hogy adjon meg egy hőmérsékletet a termosztátnak, majd a hőmérséklet -érzékelő leolvasása alapján elkezdi a ház fűtését. Ha a hőmérséklet -érzékelő értéke magasabb, mint a beállított hőmérséklet, akkor megkezdi a ház hűtését. Ha a hőmérséklet -érzékelő értéke alacsonyabb, mint a beállított hőmérséklet, akkor felmelegíti a lakást.
A kézi üzemmód elindul:
if imode == 2 dlg_prompts = {'Milyen hőmérsékletet szeretne?'}; dlg_title = 'Hőmérséklet'; dlg_defaults = {'68'}; opts. Resize = 'be'; dlg_ans = inputdlg (dlg_prompts, dlg_title, 1, dlg_defaults, opts); if isempty (dlg_ans) h = warndlg ('Törölted az inputdlg parancsot'); else temp_manual = str2double (dlg_ans {1}) %[Hőmérséklet -szabályozó beállításának hozzáadása lentebb] vége
A kézi üzemmód if utasításában meg kell írni a menü felületet, hogy a felhasználó kiválaszthassa a kívánt otthoni hőmérsékletet, majd végre kell hajtania egy ideig tartó utasítást, amely szabályozza az otthoni hőmérsékletet.
Hőmérséklet -szabályozás beállítása:
míg temp_manual <tempF writeDigitalPin (a, 'D9', 1) writeDigitalPin (a, 'D11', 1); end while temp_manual> tempF writeDigitalPin (a, 'D8', 1) writeDigitalPin (a, 'D11', 1); vége
Az automatikus üzemmód több bemenetet igényel, mint a kézi üzemmód. Az automatikus üzemmódba való belépés után a felhasználó normál és távoli hőmérsékletet állít be termosztátjához. Ezek kiválasztása után, a termosztát melyik üzemmódja alapján visszatér a hőmérséklet -szabályozási módba
Az automatikus üzemmód beállítása:
elseif imode == 1 dlg_prompts = {'Normál', 'Távol'}; dlg_title = 'Hőmérséklet beállítások'; dlg_defaults = {'68', '64'}; opts. Resize = 'be'; dlg_ans = inputdlg (dlg_prompts, dlg_title, 1, dlg_defaults, opts); if isempty (dlg_ans) h = warndlg ('Törölted az inputdlg parancsot'); else temp_normal = str2double (dlg_ans {1}) temp_away = str2double (dlg_ans {2}) end waitfor (h); %[Mozgásérzékelő hozzáadása alább]
Be kell állítanunk a mozgásérzékelőt az automatikus üzemmód beállításaihoz. Amikor a mozgásérzékelő felveszi a mozgást, akkor a hőmérsékletet a jelenlegi hőmérsékleten tartja, ellenkező esetben a távoli hőmérsékletre áll.
Run_Motion_Detector (a, inf), míg lightStr == 0 temp = temp_away, míg temp tempF writeDigitalPin (a, 'D6', 1) bármilyen pin piros fény van a ventilátor írásának motorjában isDigitalPin (a, 'D9', 1); vége vége, míg fény motor ventilátor íráshoz DigitálisPin (a, 'D9', 1); vége vége
A teljes kód itt található.
Ajánlott:
Alexa intelligens otthoni rendszer a NodeMCU relé modul használatával: 10 lépés
Alexa intelligens otthoni rendszer a NodeMCU relé modul használatával: Ebben az IoT projektben elkészítettem az Alexa Smart Home Automation rendszert a NodeMCU ESP8266 & Relé modul. A hangvezérléssel könnyedén vezérelheti a világítást, a ventilátort és más háztartási készülékeket. Az Echo Dot intelligens hangszóró csatlakoztatásához a
Hogyan készítsünk intelligens otthont az Arduino vezérlőrelé modul használatával - Otthoni automatizálási ötletek: 15 lépés (képekkel)
Hogyan készítsünk intelligens otthont az Arduino vezérlőrelé modul használatával | Otthoni automatizálási ötletek: Ebben az otthonautomatizálási projektben egy intelligens otthoni relé modult tervezünk, amely 5 háztartási készüléket képes vezérelni. Ez a relé modul vezérelhető mobilról vagy okostelefonról, infravörös távirányítóról vagy TV távirányítóról, kézi kapcsolóval. Ez az intelligens relé érzékeli az
Intelligens ESP8266 termosztát: 6 lépés (képekkel)
Intelligens termosztát ESP8266: Bienvenue sur ce nouvel cikk. On se retrouve aujourd'hui pour un projet que j'ai réalisé durant tout ce temps libre que m'a offert le confinement. Ce projet m'a été proposé par mon père, en effet il vient de déménager dans une vieille maison et l
A teljes intelligens otthoni kiegészítő: 8 lépés
A teljes intelligens otthon kiegészítő: Az előző projektem " A teljes intelligens otthon " majdnem 5 éve sikeresen működik minden probléma nélkül. Most, hogy úgy döntöttem, hogy visszajelzést adok ehhez, anélkül, hogy módosítanám a jelenlegi áramkört és a vázlatot. Tehát ez a kiegészítés a profi
HestiaPi Touch - nyitott intelligens termosztát: 9 lépés (képekkel)
HestiaPi Touch - Nyitott intelligens termosztát: A HestiaPi Touch -ról A HestiaPi Touch egy teljesen nyílt forráskódú intelligens termosztát otthona számára. Minden digitális fájl és információ elérhető az alábbiakban és a fő weboldalunkon. Ezzel nyomon követheti otthonának hőmérsékletét, relatív páratartalmát és légkörét