Sisällysluettelo:
Video: Älykkään kodin termostaatti: 4 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Älykkään kodin termostaattimme on ohjelma, joka voi automaattisesti säästää kotitalouden rahaa sähkölaskuissa henkilön mieltymysten perusteella.
Vaihe 1: Yleiskatsaus
Smart Home -termostaatti käyttää lämpötila -anturia kodin lämpötilan mittaamiseen. Tämä lämpötilalukema lisätään ohjelmaan, jossa se päättää, tarvitseeko ilmastointijärjestelmän lämmittää tai jäähdyttää taloa halutun asunnon omistajan lämpötilan perusteella.
Termostaatille on kaksi tilaa: manuaalinen ja automaattinen. Manuaalinen tila, joka säätää kodin lämpötilan käyttäjän asettamaan haluttuun lämpötilaan. Ja termostaatin automaattinen tila muuttaa automaattisesti kodin lämpötilan käyttäjän asettamiin lämpötiloihin. Automaattisessa tilassa on kaksi lämpötila -asetusta: poissa lämpötila ja nykyinen lämpötila. Poislämpötilaa käytetään energian säästämiseen vaihtamalla termostaatti ennalta asetettuun energiansäästölämpötilaan aina, kun käyttäjä ei ole kotona. Nykyistä lämpötilaa käytetään, kun käyttäjä on kotona ja haluaa mukavan lämpötilan. Termostaatin automaattitilassa liiketunnistimet etsivät aktiivisesti liikettä määrittääkseen, onko joku kotona vai ei. Lukemien perusteella kodin lämpötila asetetaan joko poislämpötilaan tai nykyiseen lämpötilaan.
Vaihe 2: Osat ja materiaalit
(15) Jännitejohdot
(4) 220 ohmin vastukset
(1) 10 K ohmin vastus
(1) Lämpötila -anturi
(1) Valovastus
(1) DAGU Mini DC -vaihteisto
(1) Diodi
(1) Transistori
(1) Valovastus
(1) Leipälauta
(1) Arduino MKR
Vaihe 3: Piiri
Kuva 1 = suuri vasen kuva
Kuva 2 = Oikea ylhäältä
Kuva 3 = Keskellä oikeaa
Kuva 4 = Oikea alareuna
Kuvio 1
Yllä olevan kaavion avulla kytkeimme kaikki kolme LEDiämme. Erotimme jokaisen LED -valon, koska työskentelimme suuren leipälevyn kanssa. Pienemmille leipälaudoille voi olla tarpeen laittaa LEDit lähemmäs toisiaan. Lisäksi leipälevylle ei tarvitse syöttää virtaa, koska LEDit kuluttavat niin vähän virtaa. Emme käyttäneet leipälevyn 5V -liitäntää LED -valoja varten. Jokainen yhteys LED -valoista Arduinoon tehtiin kuten vihreä johto on yllä. Punaiset, siniset ja vihreät LED -valomme on kytketty digitaaliseen nastaan 8, 9 ja 10, jotka on merkitty kuvassa punaisella, sinisellä ja vihreällä johdolla.
Kuva 2
Yllä olevaa kaaviota käytettiin valoresistorin johdotukseen. Teimme muutamia omia korjauksiamme; käsitteet ovat kuitenkin edelleen samat. Valovastus on kytkettävä analogiseen nastaan, joka on tapissa A1. Varmista, että käytät 10K ohmin vastusta lähimmälle valovastukselle.
Kuva 3
Tätä kaaviota käytetään lämpötila -anturin johtamiseen. Älä sekoita tässä käytettyä transistoria lämpötila -anturin kanssa. Ne näyttävät lähes identtisiltä. Lämpötila -anturissa on todennäköisesti TMP tai jokin muu käsikirjoitus anturin tasaiselle puolelle. Johdotus on täällä hyvin yksinkertaista. Lämpötila -anturimme on kytketty analogiseen nastaan A0 valkoisella johdolla.
Kuva 4
Yllä olevaa kuvaa käytettiin DAGU Mini DC -vaihteiston johdotukseen. Vaihteistoon kiinnitetty vihreä johto on itse asiassa siihen liitetty punainen johto kuvassa. Vaihdelaatikko on kytketty digitaaliseen nastaan 11 oranssilla johdolla mallissamme. Älä sekoita tässä käytettyä transistoria lämpötila -anturin kanssa. Ne näyttävät lähes identtisiltä. Lämpötila -anturissa on todennäköisesti TMP tai jokin muu käsikirjoitus anturin tasaiselle puolelle. Tässä on käytettävä transistoria eikä lämpötila -anturia.
Vaihe 4: Arduino -koodi
Tässä selitetään koodin tärkeimmät osat. Koodi ei toimi vain tässä annetun kanssa. Koko työkoodin saat sivun alareunassa olevasta linkistä.
Kun luot ohjelmoitavaa termostaatin koodia, yksi ensimmäisistä asioista on antureiden asentaminen ja for -silmukan luominen, joka saa jatkuvasti lämpötila -anturit lämpötila -anturista.
Lämpötila -anturin ja LEDin asettaminen:
tempPin = 'A0';%määrittävät nimettömän funktion, joka muuntaa jännitteen lämpötilaksi tempCfromVolts = @(volttia) (volttia-0,5)*100; näytteenottoKesto = 5; %sekuntia. Kuinka kauan haluamme ottaa näytteitä näytteenottoa vartenInterval = 1; %Kuinka monta sekuntia lämpötilalukemien välillä %näytteenottoajan vektori samplingTimes = 0: samplingInterval: samplingDuration; %laskee näytteiden määrän keston ja aikavälin perusteella numSamples = pituus (näytteenottoajat); %ennalta kohdennettuja temp -muuttujia ja muuttuja lukemien lukumäärälle se tallentaa tempC = nollia (numSamples, 1); tempF = tempC; %Käytämme tällä kertaa for-silmukkaa ottaaksemme ennalta määrätyn määrän %lämpötilan lukemia
For silmukka:
indeksille = 1: numSamples %lukee jännitteen tempPinissä ja tallentaa vaihteleviin voltteihin voltteina = readVoltage (a, tempPin); tempC (indeksi) = -1*tempCfromVolts (volttia+0,3); tempF (indeksi) = tempC (indeksi)*(9/5) +32; %Näyttää muotoillun lähdön, joka välittää nykyisen lämpötilan lukeman fprintf ('Lämpötila %d sekunnissa on %5,2f C tai %5,2f F. / n',… samplingTimes (index), tempC (index), tempF (index)); %Huomaa, että tämä näyttölaite tulee näkyviin vasta kerralla, kun koodi on suoritettu %, ellet kopioi/liitä koodia tavalliseen komentosarjatiedostoon. tauko (samplingInterval) %viive seuraavan näytteen loppuun
Seuraavaksi luomme käyttäjävalikon, jossa käyttäjä voi päättää, laitetaanko termostaatti manuaaliseen vai automaattiseen tilaan. Luomme myös virhekoodin, jos käyttäjä ei valitse kumpaakaan kahdesta vaihtoehdosta.
Manuaalinen tila -valikko vaatii käyttäjän asettamaan termostaatin lämpötilan numeron, jolloin se joko lämmittää kotia, viilentää kotia tai on joutokäynnillä lukemien perusteella. Tämän koodin osan määrittämiseen käytit lämpötila -anturin lämpötilalukemia ja loit koodin, joka jäähdyttää asuntoa, kun lämpötila on korkeampi kuin asetettu lämpötila, ja lämmittää kotia, kun lämpötilalukema on alempi kuin asetettu lämpötila.
Kun olet lukenut lämpötilan, voit luoda koodin, joka kertoo termostaatin jäähdyttämään kodin, kun lämpötila on korkeampi kuin asetettu lämpötila, ja lämmittämään kotia, kun lämpötilalukema on alempi kuin asetettu lämpötila. Prototyypin kohdalla sininen valo syttyy, kun termostaatti jäähtyy, ja punainen valo syttyy, kun termostaatti lämpenee.
Valikon asetukset:
options = {'Automatic', 'Manual'}; imode = menu ('Mode', options) if imode> 0 h = msgbox (['Valitsit' vaihtoehdot {imode}]); else h = warndlg ('Suljit valikon tekemättä valintaa') end waitfor (h);
Manuaalinen tila vaatii käyttäjän syöttämään lämpötilan termostaatille, jonka jälkeen lämpötila -anturin lukemien perusteella se joko jäähdyttää talon lämmitystä. Jos lämpötila -anturin lukema on korkeampi kuin asetettu lämpötila, se alkaa jäähdyttää kotia. Jos lämpötila -anturin lukema on alle asetetun lämpötilan, se lämmittää kotia.
Manuaalinen tila käynnistyy:
if imode == 2 dlg_prompts = {'Minkä lämpötilan haluaisit?'}; dlg_title = 'Lämpötila'; dlg_defaults = {'68'}; opts. Resize = 'päällä'; dlg_ans = inputdlg (dlg_prompts, dlg_title, 1, dlg_defaults, opts); if isempty (dlg_ans) h = warndlg ('Peruutit inputdlg -komennon'); else temp_manual = str2double (dlg_ans {1}) %[Lisää lämpötilan säätöasetusten dia alla] loppu
Manuaalista tilaa koskevan if -lausekkeen sisälle sinun on kirjoitettava valikkokäyttöliittymä, jotta käyttäjä voi valita haluamansa kodin lämpötilan, ja otettava sitten käyttöön jonkin aikaa -lauseke, joka säätelee kodin lämpötilaa.
Lämpötilan säätöasetus:
kun taas temp_manual <tempF writeDigitalPin (a, 'D9', 1) writeDigitalPin (a, 'D11', 1); end kun temp_manual> tempF writeDigitalPin (a, 'D8', 1) writeDigitalPin (a, 'D11', 1); loppuun
Automaattinen tila vaatii enemmän tuloja kuin manuaalinen tila. Automaattitilaan siirtymisen jälkeen käyttäjä asettaa termostaatilleen normaalin ja poissa olevan lämpötilan. Kun olet valinnut nämä, sen mukaan, missä tilassa termostaatti on, se palaa lämpötilan säätötilaan
Aseta automaattinen tila:
elseif imode == 1 dlg_prompts = {'Normaali', 'Poissa'}; dlg_title = 'Lämpötila -asetukset'; dlg_defaults = {'68', '64'}; opts. Resize = 'päällä'; dlg_ans = inputdlg (dlg_prompts, dlg_title, 1, dlg_defaults, opts); if isempty (dlg_ans) h = warndlg ('Peruutit inputdlg -komennon'); muuten temp_normal = str2double (dlg_ans {1}) temp_away = str2double (dlg_ans {2}) end waitfor (h); %[Lisää liiketunnistimen vaihe alla]
Meidän on myös asetettava liikeanturi automaattitilan asetuksia varten. Kun liiketunnistin havaitsee liikettä, se pitää lämpötilan nykyisellä lämpötila -asetuksella, muuten se asettaa pois -lämpötila -asetuksen.
Run_Motion_Detector (a, inf) kun valoStr == 0 temp = temp_away kun temp tempF writeDigitalPin (a, 'D6', 1) mikä tahansa nastainen punainen valo on myös tuulettimen kirjoituksen moottorissaDigitalPin (a, 'D9', 1); loppu loppu kun valoStr == 1 temp = temp_normaali kirjoitus moottori tuulettimen kirjoittamiseen DigitalPin (a, 'D9', 1); loppu loppu
Koko koodi löytyy täältä.
Suositeltava:
Älykkään kodin tekeminen Arduino -ohjausrelemoduulin avulla - Koti -automaatioideoita: 15 vaihetta (kuvilla)
Kuinka tehdä älykäs koti Arduino -ohjausrelemoduulin avulla | Koti -automaatioideoita: Tässä kodin automaatioprojektissa suunnittelemme älykkään kodin relemoduulin, joka voi ohjata 5 kodinkonetta. Tätä relemoduulia voidaan ohjata matkapuhelimella tai älypuhelimella, infrapunakaukosäätimellä tai television kaukosäätimellä, manuaalisella kytkimellä. Tämä älykäs rele voi myös havaita
[HASS.IO] Aloita älykkään kodin rakentaminen ilman koodausta, alle 100 dollaria: 6 askelta
[HASS.IO] Aloita älykkään kodin rakentaminen ilman koodausta, alle 100 dollarilla: Olen viime aikoina sekaisin ja onnistunut tekemään talostani vähemmän "idioottimaisen". Joten aion jakaa kuinka tehdä älykkään kodin järjestelmä, jolla on alhainen hintalappu, korkea yhteensopivuus ja joka toimii saumattomasti ja vakaasti
Älykkään kodin aloittaminen - Projeto -finaali: 6 vaihetta
Älykkään kodin aloittaminen - Projeto Final: Projeto apresentado é Osallistu lopullisesti, kun haluat tehdä IoT -sovelluksen Smart Home -palveluun. Osallistu lopullisesti ja tarjoa viimeinen esitys ilman IoT -sovellusta Älykäs koti, que consiste de sensores e atuadores conec
Älykkään kodin valaistus: 6 vaihetta
Älykkään kodin valaistus: Hei kaverit, tänään aiomme luoda projektin, jossa ohjaamme lamppua ympäröivän valaistuksen perusteella. Käytämme PICO: ta ja valosta riippuvaa vastusta (LDR) valon havaitsemiseen ja sytytämme tai sammutamme hehkulampun sen mukaan, kuinka
Älykkään kodin valvonta Alexan ja Arduinon avulla: 9 vaihetta (kuvilla)
Älykkään kodin valvonta Alexan ja Arduinon avulla: Nykymaailmassa ihmiset viettävät enemmän aikaa työpaikalla kuin kotonaan. Siksi tarvitaan kodin seurantajärjestelmää, jossa ihmiset voivat tutustua talon olosuhteisiin työskennellessään. Olisi vielä parempi, jos yksi c