Sadržaj:
Video: Termostat pametne kuće: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:35
Naš termostat za pametnu kuću program je koji može automatski uštedjeti novac kućanstva na računima za komunalne usluge na temelju preferencija osobe.
Korak 1: Pregled
Termostat pametne kuće koristi temperaturni senzor za mjerenje temperature doma. Ovo očitanje temperature stavlja se u program gdje će odlučiti treba li sustav klimatizacije grijati ili hladiti kuću na temelju željene temperature vlasnika kuće.
Postoje dva načina rada termostata: ručni i automatski. Ručni način rada koji će prilagoditi temperaturu doma na željenu temperaturu koju je postavio korisnik. Automatski način rada termostata automatski će promijeniti temperaturu doma na temperature koje je korisnik unaprijed postavio. Za automatski način rada bit će dvije postavke temperature: udaljena temperatura i trenutna temperatura. Temperatura u odlasku koristi se za uštedu energije promjenom termostata na unaprijed postavljenu temperaturu za uštedu energije kad god korisnik nije kod kuće. Trenutna temperatura koristit će se kada je korisnik kod kuće i želi ugodnu temperaturu. U automatskom načinu rada termostata senzori pokreta aktivno traže kretanje kako bi utvrdili je li netko kod kuće ili nije. Na temelju njihovih očitanja, kućna će se temperatura postaviti na temperaturu u odlasku ili na trenutnu temperaturu.
Korak 2: Dijelovi i materijali
(15) Žice kratkospojnika
(4) Otpornici od 220 ohma
(1) 10K ohmski otpornik
(1) Senzor temperature
(1) Fotootpornik
(1) DAGU Mini DC mjenjač
(1) Dioda
(1) Tranzistor
(1) Fotootpornik
(1) Oglasna ploča
(1) Arduino MKR
Korak 3: Krug
Slika 1 = Velika lijeva slika
Slika 2 = Gore desno
Slika 3 = Srednje desno
Slika 4 = Dolje desno
Slika 1
Koristeći gornji dijagram, ožičili smo svaku od naše tri LED diode. Rasporedili smo svaku LED lampicu budući da smo radili s velikom pločom za kruh. Za manje ploče za kruh, možda će biti potrebno LED diode približiti jedna drugoj. Također, nije potrebno napajati matičnu ploču jer LED diode troše tako malo energije. Nismo koristili 5V vezu na ploči za LED diode. Svako povezivanje LED dioda s našim Arduinom bilo je izvedeno kao zelena žica iznad. Naše crvene, plave i zelene LED diode spojene su na digitalni pin 8, 9 i 10, označene crvenom, plavom i zelenom žicom na našoj slici.
Slika 2
Gornji dijagram je korišten za ožičenje fotootpornika. Napravili smo nekoliko vlastitih ispravki; međutim koncepti su i dalje isti. Fotootpornik mora biti spojen na analogni pin koji imamo u pinu A1. Za otpornik najbliži fotootporniku upotrijebite 10K ohmski otpornik.
Slika 3
Ovo je dijagram koji se koristi za povezivanje osjetnika temperature. Pazite da tranzistor koji se ovdje koristi ne zamijenite s osjetnikom temperature. Izgledaju gotovo identično. Senzor temperature vjerojatno će imati TMP ili neku drugu skriptu napisanu na ravnoj strani senzora. Ovdje je ožičenje vrlo jednostavno, naš senzor temperature je priključen na analogni pin A0 s bijelom žicom.
Slika 4
Gornja slika je korištena za ožičenje DAGU Mini DC mjenjača. Zelena žica pričvršćena na mjenjač zapravo je crvena žica spojena na nju na našoj slici. Mjenjač je u našem modelu spojen na digitalni pin 11 narančastom žicom. Pazite da tranzistor koji se ovdje koristi ne zamijenite s osjetnikom temperature. Izgledaju gotovo identično. Senzor temperature vjerojatno će imati TMP ili neku drugu skriptu napisanu na ravnoj strani senzora. Ovdje morate koristiti tranzistor, a ne osjetnik temperature.
Korak 4: Arduino kod
Ovdje su objašnjeni najvažniji dijelovi koda. Kôd neće raditi samo s onim što je ovdje navedeno. Da biste dobili potpuni radni kôd, na dnu stranice nalazi se veza.
Prilikom izrade programabilnog koda termostata, jedna od prvih stvari koju napravite je postavljanje senzora i stvaranje for petlje koja će stalno dobivati očitanja temperature s osjetnika temperature.
Postavljanje temperaturnog senzora i LED diode:
tempPin = 'A0';%definira anonimnu funkciju koja pretvara napon u temperaturu tempCfromVolts = @(volti) (volti-0,5)*100; samplingDuration = 5; %sekundi. Koliko dugo želimo uzorkovati za samplingInterval = 1; %Koliko sekundi između očitanja temperature %postaviti vektor vremena uzorkovanja samplingTimes = 0: samplingInterval: samplingDuration; %izračunati broj uzoraka na temelju trajanja i intervala numSamples = length (samplingTimes); %predallokacije temp varijabli i varijable za broj očitanja koje će pohraniti tempC = nule (numSamples, 1); tempF = tempC; %Ovaj put ćemo koristiti for petlju za uzimanje unaprijed određenog broja očitanja %temperature
For petlja:
za indeks = 1: numSamples %očitava napon pri tempPin i sprema u promjenjivim voltima volti = readVoltage (a, tempPin); tempC (indeks) = -1*tempCodVolti (volti+0,3); tempF (indeks) = tempC (indeks)*(9/5) +32; %Prikaz izlaznog formata koji prikazuje trenutno očitanje temperature fprintf ('Temperatura u %d sekundama je %5,2f C ili %5,2f F. / n',… vrijeme uzorkovanja (indeks), tempC (indeks), tempF (indeks)); %napomena: ovaj prikaz na zaslonu postat će vidljiv odjednom nakon što se kôd %izvrši, osim ako ne kopirate/zalijepite kôd u običnu datoteku skripte mfile. pauza (samplingInterval) %kašnjenja do kraja sljedećeg uzorka
Zatim kreiramo korisnički izbornik za korisnika da odluči hoće li termostat staviti u ručni ili automatski način rada. Također stvaramo kôd pogreške ako korisnik ne odabere nijednu od dvije opcije.
Izbornik Ručni način rada zahtijeva da korisnik postavi broj za temperaturu termostata, a zatim će zagrijati dom, rashladiti dom ili raditi u praznom hodu na temelju očitanja. Za postavljanje ovog dijela koda upotrijebili ste očitanja temperature s osjetnika temperature i stvorili kôd koji će rashladiti dom kad je očitanje temperature veće od zadane temperature, a zagrijati dom kad je očitanje temperature niže od zadane temperature.
Nakon što očitate temperaturu, možete stvoriti kôd koji će termostatu reći da hladi dom kad je očitanje temperature veće od zadane temperature, a zagrijava dom kad je očitanje temperature niže od zadane temperature. Za prototip, plavo svjetlo svijetli kada se termostat treba ohladiti, a crveno svijetli kada se termostat treba zagrijati.
Postavljanje izbornika:
choices = {'Automatic', 'Manual'}; imode = menu ('Mode', choices) if imode> 0 h = msgbox (['You selected' choices {imode}]); else h = warndlg ('Zatvorili ste izbornik bez izbora') end waitfor (h);
Ručni način rada zahtijeva od korisnika da unese temperaturu za termostat, a zatim će na temelju očitanja senzora temperature početi hladiti kuću ili grijati kuću. Ako je očitanje osjetnika temperature veće od zadane temperature, počet će hlađenje doma. Ako je očitanje osjetnika temperature niže od zadane temperature, zagrijat će dom.
Ručni način rada pokrenut će se:
if imode == 2 dlg_prompts = {'Koju biste temperaturu preferirali?'}; dlg_title = 'Temperatura'; dlg_defaults = {'68'}; opts. Resize = 'uključeno'; dlg_ans = inputdlg (dlg_prompts, dlg_title, 1, dlg_defaults, opts); if isempty (dlg_ans) h = warndlg ('Otkazali ste naredbu inputdlg'); else temp_manual = str2double (dlg_ans {1}) %[Dodaj slajd za podešavanje regulacije temperature ispod] kraj
Unutar if naredbe za ručni način rada, morate napisati sučelje izbornika kako bi korisnik odabrao željenu kućnu temperaturu, a zatim implementirao statement koji će regulirati kućnu temperaturu.
Postavljanje regulacije temperature:
while temp_manual <tempF writeDigitalPin (a, 'D9', 1) writeDigitalPin (a, 'D11', 1); end while temp_manual> tempF writeDigitalPin (a, 'D8', 1) writeDigitalPin (a, 'D11', 1); kraj
Automatski način rada zahtijeva više unosa od ručnog. Nakon ulaska u automatski način rada, korisnik će postaviti normalnu i izlaznu temperaturu za svoj termostat. Nakon što ih odabere, ovisno o načinu rada termostata, vratit će se u način regulacije temperature
Postavljanje automatskog načina rada:
elseif imode == 1 dlg_prompts = {'Normalno', 'Odsutan'}; dlg_title = 'Postavke temperature'; dlg_defaults = {'68', '64'}; opts. Resize = 'uključeno'; dlg_ans = inputdlg (dlg_prompts, dlg_title, 1, dlg_defaults, opts); if isempty (dlg_ans) h = warndlg ('Otkazali ste naredbu inputdlg'); else temp_normal = str2double (dlg_ans {1}) temp_away = str2double (dlg_ans {2}) end waitfor (h); %[Dodaj korak otkrivanja pokreta u nastavku]
Također moramo postaviti senzor pokreta za postavke automatskog načina rada. Kad detektor pokreta uhvati gibanje, zadržat će temperaturu na trenutnoj postavci temperature, inače će se postaviti na udaljenu temperaturu.
Run_Motion_Detector (a, inf) while lightStr == 0 temp = temp_away while temp tempF writeDigitalPin (a, 'D6', 1) sve što je crveno svjetlo pina u motoru za ventilator writeDigitalPin (a, 'D9', 1); end end while lightStr == 1 temp = temp_normalno writeDigitalPin (a, 'D6', 1) %se promijeni u bilo koju iglu na kojoj se nalazi normalno svjetlo dok temp tempF writeDigitalPin (a, 'D6', 1) u bilo kojem crvenom svjetlu pina motor za ventilator writeDigitalPin (a, 'D9', 1); kraj kraj
Cijeli kod možete pronaći ovdje.
Preporučeni:
SmartBox - sustav pametne kuće za vašu sobu: 6 koraka
SmartBox - sustav pametne kuće za vašu sobu: Pozdrav svima! U ovom uputstvu objasnit ću vam kako napraviti sustav pametne sobe. Ovaj sustav sadrži dva uređaja. Opći uređaj sa senzorom vlažnosti i senzorom temperature koji mjeri trenutnu kvalitetu života u vašoj sobi. Ti ćeš
ForgetMeNot - Platforma za obavijesti pametne kuće: 14 koraka (sa slikama)
ForgetMeNot - Platforma za obavijesti o pametnoj kući: Kao zaposleni studenti, trčeći između razreda, poslova i obiteljskih obaveza, skloni smo zaboraviti male stvari. Rođendan dolazi i odlazi a da mi to ne primijetimo, važan rok se propušta zbog čistog zaborava, a ponekad, samo
Automatizacija pametne kuće s utičnicama Energenie - utičnice u blizini: 4 koraka
Pametna kućna automatizacija s utičnicama Energenie - blizinske utičnice: Uvod Postoji puno primjera pametne kućne automatizacije, ali ovaj je jednostavan i vrlo je učinkovito funkcionirao godinu dana u mojoj kući pa se nadam da vam se sviđa. Kad završite, imat ćete uređaj koji može skenirati mrežu
Arduino sustav pametne kuće: 7 koraka
Arduino sustav pametne kuće: U ovom uputstvu pokazat ćemo vam kako stvoriti vlastiti sustav pametne kuće s MATLAB -ovim dizajnerom aplikacija sa Sparkfun crvenom pločom. Ovaj Instructable može se koristiti za lakše razumijevanje MATLAB -ovog dizajnera aplikacija, kao i za korištenje fotoreportera
Sustav pametne kuće: 6 koraka
Sustav pametne kuće: Ova instrukcija pomoći će vam objasniti kako postaviti i koristiti naš sustav pametne kuće pomoću softvera Matlab i hardvera Raspberry Pi. Na kraju ovog uputstva trebali biste moći potpuno koristiti naš proizvod s lakoćom