Kazalo:
Video: Termostat pametnega doma: 4 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
Naš termostat za pametni dom je program, ki lahko samodejno prihrani denar gospodinjstva na komunalnih računih glede na želje osebe.
1. korak: Pregled
Termostat pametnega doma uporablja temperaturni senzor za merjenje temperature doma. Ta odčitek temperature se vnese v program, kjer se bo odločil, ali mora klimatski sistem ogrevati ali hladiti hišo glede na želeno temperaturo lastnika stanovanja.
Za termostat obstajata dva načina: ročni in samodejni. Ročni način, ki bo prilagodil temperaturo doma na želeno temperaturo, ki jo nastavi uporabnik. Samodejni način termostata bo samodejno spremenil temperaturo doma na temperature, ki jih je nastavil uporabnik. Za samodejni način bosta na voljo dve nastavitvi temperature: oddaljena temperatura in trenutna temperatura. Odhodna temperatura se uporablja za varčevanje z energijo s spreminjanjem termostata na vnaprej nastavljeno temperaturo za varčevanje z energijo, kadar uporabnika ni doma. Sedanja temperatura se bo uporabljala, ko je uporabnik doma in želi udobno temperaturo. V samodejnem načinu termostata senzorji gibanja aktivno iščejo gibanje, da ugotovijo, ali je kdo doma ali ne. Na podlagi njihovega odčitavanja bo domača temperatura nastavljena na temperaturo v bližini ali na trenutno temperaturo.
2. korak: Deli in materiali
(15) Mostične žice
(4) 220 ohmski upori
(1) 10K ohmski upor
(1) Senzor temp
(1) Fotografski upor
(1) Mini DC menjalnik DAGU
(1) Dioda
(1) Tranzistor
(1) Fotografski upor
(1) Ogledna plošča
(1) Arduino MKR
3. korak: Vezje
Slika 1 = Velika leva slika
Slika 2 = Zgoraj desno
Slika 3 = Srednji desni
Slika 4 = Spodaj desno
Slika 1
Z zgornjim diagramom smo ožičili vsako od naših treh LED. Vsako LED smo razporedili, saj smo delali z veliko desko za kruh. Pri manjših ploščah za kruh bo morda potrebno LED -diode približati skupaj. Prav tako ni potrebno napajati plošče, ker LED porabi tako malo energije. Za svetleče diode nismo uporabili 5V povezave na plošči. Vsaka povezava LED z našim Arduinom je bila narejena tako, kot je zelena žica zgoraj. Naše rdeče, modre in zelene LED diode so priključene na digitalni pin 8, 9 in 10, označen z rdečo, modro in zeleno žico na naši sliki.
Slika 2
Zgornji diagram je bil uporabljen za ožičenje fotorezistorja. Naredili smo nekaj lastnih popravkov; vendar so koncepti še vedno isti. Fotografski upor mora biti priključen na analogni pin, ki ga imamo v zatiču A1. Za upor, ki je najbližji fotografskemu uporu, uporabite 10K ohmski upor.
Slika 3
To je diagram, ki se uporablja za priključitev temperaturnega senzorja. Pazite, da tranzistorja, ki ga uporabljate, ne zamenjate s temperaturnim senzorjem. Izgledajo skoraj identično. Temperaturni senzor bo verjetno imel na ravni strani senzorja napisan TMP ali kakšen drug skript. Tu je ožičenje zelo preprosto, naš temperaturni senzor je z belo žico priključen na analogni zatič A0.
Slika 4
Zgornja slika je bila uporabljena za ožičenje DAGU Mini DC menjalnika. Zelena žica, pritrjena na menjalnik, je pravzaprav rdeča žica, povezana z njo na naši sliki. Menjalnik je v našem modelu z oranžno žico povezan z digitalnim zatičem 11. Pazite, da tranzistorja, ki ga uporabljate, ne zamenjate s temperaturnim senzorjem. Izgledajo skoraj identično. Temperaturni senzor bo verjetno imel na ravni strani senzorja napisan TMP ali kakšen drug skript. Tukaj morate uporabiti tranzistor in ne temperaturnega senzorja.
4. korak: Arduino koda
Tu so razloženi najpomembnejši deli kode. Koda ne bo delovala samo s tem, kar je podano tukaj. Če želite dobiti celotno delovno kodo, je na dnu strani povezava.
Ko ustvarite kodo programabilnega termostata, eno od prvih stvari, ki jih naredite, je, da namestite senzorje in ustvarite zanko for, ki bo nenehno dobivala odčitke temperatur iz senzorja temperature.
Nastavitev temperaturnega senzorja in LED:
tempPin = 'A0';%definira anonimno funkcijo, ki pretvori napetost v temperaturo tempCfromVolts = @(volti) (volti-0,5)*100; samplingDuration = 5; %sekund. Kako dolgo želimo vzorčiti za samplingInterval = 1; %Koliko sekund med temperaturnimi odčitki %nastavljen vektor časov vzorčenja samplingTimes = 0: samplingInterval: samplingDuration; %izračunajte število vzorcev na podlagi trajanja in intervala numSamples = length (samplingTimes); %vnaprej dodelitev spremenljivk temp in spremenljivko za število odčitkov, ki jih bo shranila tempC = ničle (numSamples, 1); tempF = tempC; %Tokrat bomo uporabili zanko for, da vzamemo vnaprej določeno število %temperaturnih odčitkov
Zanka for:
za indeks = 1: numSamples %odčita napetost pri tempPin in shrani v spremenljive volte voltov = readVoltage (a, tempPin); tempC (indeks) = -1*tempCizVoltov (volti+0,3); tempF (indeks) = tempC (indeks)*(9/5) +32; %Prikaz oblikovanega izhoda, ki sporoča trenutni odčitek temperature fprintf ('Temperatura pri %d sekundah je %5,2f C ali %5,2f F. / n',… samplingTimes (indeks), tempC (indeks), tempF (indeks)); %opomba: ta izhodni prikaz bo viden šele po tem, ko je koda %izvedena, razen če kodo kopirate/prilepite v navadno datoteko m skripta. pause (samplingInterval) %zakasnitev do konca naslednjega vzorca
Nato ustvarimo uporabniški meni, kjer se lahko uporabnik odloči, ali bo termostat preklopil v ročni ali samodejni način. Kodo napake ustvarimo tudi, če uporabnik ne izbere nobene od obeh možnosti.
Meni Ročni način zahteva, da uporabnik nastavi številko za temperaturo termostata, nato pa bo ogreval dom, ohladil dom ali miroval glede na odčitke. Za nastavitev tega dela kode ste uporabili odčitke temperature iz temperaturnega senzorja in ustvarili kodo, ki bo ohladila dom, ko je odčitek temperature višji od nastavljene temperature, in ogrela dom, ko je odčitek temperature nižji od nastavljene temperature.
Ko izmerite temperaturo, lahko ustvarite kodo, ki bo termostatu povedala, naj ohladi dom, ko je temperatura višja od nastavljene temperature, in ogreje dom, ko je odčitek temperature nižji od nastavljene temperature. Za prototip modra lučka zasveti, ko se mora termostat ohladiti, rdeča pa, ko se mora termostat segreti.
Nastavitev menija:
choices = {'Samodejno', 'Ročno'}; imode = meni ('Način', izbire), če je imode> 0 h = msgbox (['Izbrali ste' izbire {imode}]); else h = warndlg ('Zaprli ste meni, ne da bi se odločili') end waitfor (h);
Ročni način zahteva, da uporabnik vnese temperaturo za termostat, nato pa bo na podlagi odčitkov temperaturnega senzorja začel bodisi hladiti hišo za ogrevanje hiše. Če je odčitek temperaturnega senzorja višji od nastavljene temperature, bo začel hladiti dom. Če je odčitek temperaturnega senzorja nižji od nastavljene temperature, bo ogreval dom.
Ročni način se bo zagnal:
if imode == 2 dlg_prompts = {'Kakšno temperaturo bi raje izbrali?'}; dlg_title = 'Temperatura'; dlg_defaults = {'68'}; opts. Resize = 'vklopljeno'; dlg_ans = inputdlg (dlg_prompts, dlg_title, 1, dlg_defaults, opts); if isempty (dlg_ans) h = warndlg ('Preklicali ste ukaz inputdlg'); else temp_manual = str2double (dlg_ans {1}) %[Dodaj spodnji drsnik za nastavitev regulacije temperature] konec
Znotraj stavka if za ročni način morate napisati vmesnik menija, da lahko uporabnik izbere želeno temperaturo doma, nato pa uvedete izjavo while, ki bo uravnavala temperaturo doma.
Nastavitev regulacije temperature:
medtem ko je temp_manual <tempF writeDigitalPin (a, 'D9', 1) writeDigitalPin (a, 'D11', 1); end while temp_manual> tempF writeDigitalPin (a, 'D8', 1) writeDigitalPin (a, 'D11', 1); konec
Samodejni način zahteva več vhodov kot ročni način. Po vstopu v samodejni način bo uporabnik nastavil normalno in izhodno temperaturo za svoj termostat.
Nastavite samodejni način:
elseif imode == 1 dlg_prompts = {'Normal', 'Away'}; dlg_title = 'Nastavitve temperature'; dlg_defaults = {'68', '64'}; opts. Resize = 'vklopljeno'; dlg_ans = inputdlg (dlg_prompts, dlg_title, 1, dlg_defaults, opts); if isempty (dlg_ans) h = warndlg ('Preklicali ste ukaz inputdlg'); else temp_normal = str2double (dlg_ans {1}) temp_away = str2double (dlg_ans {2}) end waitfor (h); %[Spodaj dodajte korak zaznavanja gibanja]
Za nastavitve samodejnega načina moramo nastaviti tudi senzor gibanja. Ko detektor gibanja zazna gibanje, bo ohranil temperaturo na trenutni nastavitvi temperature, sicer se bo nastavil na nastavitev temperature stran.
Run_Motion_Detector (a, inf) while lightStr == 0 temp = temp_away while temp tempF writeDigitalPin (a, 'D6', 1) ne glede na to, ali je rdeča lučka v motorju tudi za ventilator writeDigitalPin (a, 'D9', 1); end end while lightStr == 1 temp = temp_normal writeDigitalPin (a, 'D6', 1) %se spremeni v kateri koli pin, v katerem je normalna luč, medtem ko temp tempF writeDigitalPin (a, 'D6', 1) v kateri koli rdeči luči pin je tudi motor za ventilator writeDigitalPin (a, 'D9', 1); konec konec
Celotno kodo najdete tukaj.
Priporočena:
Naredite nadzorni sistem pametnega doma na disku STONE HMI: 23 korakov
Ustvarite sistem za nadzor pametnega doma na disku STONE HMI: Uvod v projekt Naslednja vadnica vam prikazuje, kako z uporabo modula na dotik STONE STVC050WT-01 narediti preprost sistem za upravljanje gospodinjskih aparatov
SmartBox - sistem pametnega doma za vašo sobo: 6 korakov
SmartBox - sistem pametnega doma za vašo sobo: Pozdravljeni! V tem navodilu vam bom razložil, kako narediti sistem pametne sobe. Ta sistem vsebuje dve napravi: splošno napravo s senzorjem vlažnosti in temperaturnim senzorjem, ki meri trenutno kakovost bivanja v vaši sobi. Ti boš
Avtomatizacija pametnega doma z vtičnicami Energenie - bližinske vtičnice: 4 koraki
Pametna avtomatizacija doma z vtičnicami Energenie - bližinske vtičnice: Uvod Obstaja veliko primerov avtomatizacije pametnih domov, vendar je ta preprost in je eno leto zelo učinkovito deloval v moji hiši, zato upam, da vam bo všeč. Ko končate, boste imeli napravo, ki lahko skenira omrežje
Arduino sistem pametnega doma: 7 korakov
Arduino Smart Home System: V tem navodilu vam bomo pokazali, kako z MATLAB -jevim oblikovalcem aplikacij z rdečo ploščo Sparkfun ustvarite lasten sistem pametnega doma. Ta Instructable lahko uporabite za lažje razumevanje oblikovalca aplikacij MATLAB, pa tudi z uporabo fotoreporterja
Sistem pametnega doma: 6 korakov
Sistem pametnega doma: Ta navodila vam bodo pomagala razložiti, kako nastaviti in uporabljati naš sistem pametnega doma z uporabo programske opreme Matlab in strojne opreme Raspberry Pi. Na koncu tega navodila bi morali z lahkoto v celoti uporabljati naš izdelek