INHOUDSOPGAWE:
Video: Smart Home -termostaat: 4 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
Ons Smart Home Thermostat is 'n program wat 'n huishouding outomaties geld kan bespaar op rekeninge op grond van 'n persoon se voorkeure.
Stap 1: Oorsig
Die Smart Home -termostaat gebruik 'n temperatuursensor om die temperatuur van die huis te bepaal. Hierdie temperatuurmeting word in die program geplaas, waar dit sal besluit of die lugversorgingstelsel die huis moet verhit of afkoel op grond van die temperatuur van die gewenste huiseienaar.
Daar is twee modusse vir die termostaat: handmatig en outomaties. Die handmatige modus wat die temperatuur van die huis aanpas by die gewenste temperatuur, word deur die gebruiker bepaal. En die outomatiese modus van die termostaat verander die temperatuur van die huis outomaties na die temperatuur wat die gebruiker vooraf bepaal. Daar is twee temperatuurinstellings vir die outomatiese modus: wegtemperatuur en huidige temperatuur. Die wegtemperatuur word gebruik om energie te bespaar deur die termostaat na 'n vooraf ingestelde energiebesparende temperatuur te verander wanneer die gebruiker nie tuis is nie. Die huidige temperatuur word gebruik as die gebruiker tuis is en 'n gemaklike temperatuur wil hê. In die outomatiese modus van die termostaat, soek bewegingsensors aktief na beweging om te bepaal of iemand tuis is of nie. Op grond van hul lesing, sal die huistemperatuur óf op die wegtemperatuur óf op die huidige temperatuur ingestel word.
Stap 2: Onderdele en materiaal
(15) Jumper Wires
(4) 220 Ohm weerstande
(1) 10K Ohm Weerstand
(1) Temp sensor
(1) Fotoweerstand
(1) DAGU Mini DC -ratkas
(1) Diode
(1) Transistor
(1) Fotoresistor
(1) Broodbord
(1) Arduino MKR
Stap 3: Skakel
Figuur 1 = Groot linker prentjie
Figuur 2 = Regs bo
Figuur 3 = Middelregs
Figuur 4 = Regs onder
Figuur 1
Met behulp van die diagram hierbo, het ons elkeen van ons drie LED's bedraad. Ons het elke LED gespasieer aangesien ons met 'n groot broodbord gewerk het. Vir kleiner broodborde kan dit nodig wees om die LED's nader aan mekaar te plaas. Dit is ook onnodig om die broodbord aan te dryf, aangesien die LED's so min krag trek. Ons het nie die 5V -aansluiting op die broodbord vir die LED's gebruik nie. Elke verbinding van die LED's tot ons Arduino is gemaak asof die groen draad hierbo is. Ons rooi, blou en groen LED's is gekoppel aan die digitale pen 8, 9 en 10 onderskeidelik, aangedui met 'n rooi, blou en groen draad in ons prentjie.
Figuur 2
Die diagram hierbo is gebruik om die fotoresistor te bedraad. Ons het 'n paar regstellings gemaak; die konsepte is egter steeds dieselfde. Die fotoresistor moet gekoppel wees aan die analoog pen wat ons in pen A1 het. Maak seker dat u 'n weerstand van 10K ohm gebruik vir die weerstand wat die naaste aan die fotoresistor is.
Figuur 3
Dit is die diagram wat gebruik word om die temperatuursensor te bedraad. Moenie die transistor wat hier met die temperatuursensor gebruik word, misgis nie. Hulle lyk amper identies. Die temperatuursensor sal waarskynlik TMP of 'n ander skrif op die plat kant van die sensor hê. Die bedrading hier is baie eenvoudig; ons temperatuursensor is met 'n wit draad in 'n analoog pen A0 gekoppel.
Figuur 4
Die prent hierbo is gebruik om die DAGU Mini DC -ratkas aan te trek. Die groen draad wat aan die ratkas geheg is, is eintlik die rooi draad wat in ons prentjie daaraan gekoppel is. Die ratkas is gekoppel aan die digitale pen 11 met 'n oranje draad in ons model. Moenie die transistor wat hier met die temperatuursensor gebruik word, misgis nie. Hulle lyk amper identies. Die temperatuursensor sal waarskynlik TMP of 'n ander skrif op die plat kant van die sensor hê. U moet die transistor hier gebruik en nie die temperatuursensor nie.
Stap 4: Arduino -kode
Hier word die belangrikste dele van die kode verduidelik. Die kode werk nie net met dit wat hier gegee word nie. Om die volledige werkskode te kry, is daar 'n skakel onderaan die bladsy.
As u die kode van die programmeerbare termostaat skep, is die eerste ding wat u moet doen om die sensors op te stel en 'n for -lus te skep wat voortdurend temperatuurlesings van die temperatuursensor kry.
Die opstel van temperatuursensor en LED:
tempPin = 'A0';%definieer anonieme funksie wat die spanning omskakel na temperatuur tempCfromVolts = @(volt) (volt-0,5)*100; monsterneming = 5; %sekondes. Hoe lank wil ons monster vir samplingInterval = 1; %Hoeveel sekondes tussen temperatuurlesings %stel vektor op van monstertye samplingTimes = 0: samplingInterval: samplingDuration; %bereken die aantal monsters gebaseer op die duur en interval numSamples = lengte (samplingTimes); %plaas tydelike veranderlikes en veranderlike voor die aantal lesings wat dit sal stoor tempC = nulle (numSamples, 1); tempF = tempC; %Ons gebruik hierdie keer 'n for-lus om 'n voorafbepaalde aantal %temperatuurmetings te neem
Die vir lus:
vir indeks = 1: numSamples %lees die spanning by tempPin en stoor in veranderlike volt volt = readVoltage (a, tempPin); tempC (indeks) = -1*tempCfromVolts (volt+0,3); tempF (indeks) = tempC (indeks)*(9/5) +32; %Vertoon geformateerde uitset wat die huidige temperatuur lees fprintf ('Temperatuur by %d sekondes is %5.2f C of %5.2f F. / n', … samplingTimes (indeks), tempC (indeks), tempF (indeks)); %let op: hierdie vertoonuitset sal eers op een slag sigbaar word nadat die kode uitgevoer is, tensy u die kode na 'n gewone script mfile kopieer/plak. pouse (samplingInterval) %vertraging tot die einde van die monster
Vervolgens maak ons ons gebruikersmenu sodat die gebruiker kan besluit of die termostaat in die handmatige of outomatiese modus geplaas moet word. Ons skep ook 'n foutkode as die gebruiker nie een van die twee opsies kies nie.
Die spyskaart Handmatige modus vereis dat die gebruiker 'n nommer vir die temperatuur van die termostaat stel, en dan verhit dit die huis, laat die huis afkoel, of word dit ledig gebaseer op lesings. Om hierdie deel van die kode op te stel, het u temperatuurmetings van die temperatuursensor gebruik en kode gemaak wat die huis sal afkoel wanneer die temperatuurlesing hoër is as die ingestelde temperatuur, en die huis verhit wanneer die temperatuurlesing laer is as die ingestelde temperatuur.
Sodra u die temperatuurlesings gekry het, kan u die kode skep wat die termostaat sal vertel om die huis af te koel as die temperatuurwaarde hoër is as die ingestelde temperatuur, en die huis verhit as die temperatuurlesing laer is as die ingestelde temperatuur. Vir die prototipe brand die blou lig wanneer die termostaat moet afkoel en die rooi lig wanneer die termostaat moet verhit.
Kieslysopstelling:
keuses = {'Outomaties', 'Handmatig'}; imode = menu ('Modus', keuses) as imode> 0 h = msgbox (['U het gekies' keuses {imode}]); anders h = warndlg ('U het die spyskaart gesluit sonder om 'n keuse te maak') eindig wag vir (h);
Die handmatige modus vereis dat die gebruiker 'n temperatuur vir die termostaat invoer, en dan begin dit met die afkoeling van die huis om die huis te verhit, gebaseer op die metings van die temperatuursensor. As die temperatuur sensor se lesing hoër is as die ingestelde temperatuur, begin dit die huis afkoel. As die temperatuur sensor se lesing laer is as die ingestelde temperatuur, sal dit die huis verhit.
Die handmatige modus begin:
as imode == 2 dlg_prompts = {'Watter temperatuur sou u verkies?'}; dlg_title = 'Temperatuur'; dlg_defaults = {'68'}; opts. Resize = 'aan'; dlg_ans = inputdlg (dlg_prompts, dlg_title, 1, dlg_defaults, opts); as isempty (dlg_ans) h = warndlg ('U het die inputdlg -opdrag gekanselleer'); anders temp_manual = str2double (dlg_ans {1}) %[Voeg skyfie vir die opstel van temperatuurregulering hieronder by] einde
Binne die if -verklaring vir die handmatige modus, moet u die menu -koppelvlak skryf sodat die gebruiker die gewenste huistemperatuur kan kies, en dan 'n tydsverklaring implementeer wat die huistemperatuur sal reguleer.
Opstelling van temperatuurregulering:
terwyl temp_manueel <tempF writeDigitalPin (a, 'D9', 1) writeDigitalPin (a, 'D11', 1); eindig terwyl temp_manueel> tempF writeDigitalPin (a, 'D8', 1) writeDigitalPin (a, 'D11', 1); einde
Die outomatiese modus vereis meer insette as die handmatige modus. Nadat die outomatiese modus ingeskakel is, stel die gebruiker 'n normale en 'n weg temperatuur in vir sy termostaat.
Stel die outomatiese modus op:
elseif imode == 1 dlg_prompts = {'Normaal', 'Weg'}; dlg_title = 'Temperatuurinstellings'; dlg_defaults = {'68', '64'}; opts. Resize = 'aan'; dlg_ans = inputdlg (dlg_prompts, dlg_title, 1, dlg_defaults, opts); as isempty (dlg_ans) h = warndlg ('U het die inputdlg -opdrag gekanselleer'); anders temp_normaal = str2double (dlg_ans {1}) temp_away = str2double (dlg_ans {2}) eindig wag vir (h); %[Voeg bewegingsdetektor by Stap hieronder]
Ons moet ook die bewegingsensor instel vir die outomatiese modusinstellings. As die bewegingsdetektor beweging opneem, sal dit die temperatuur op die huidige temperatuurinstelling behou, anders sal dit na die wegtemperatuurinstelling wees.
Run_Motion_Detector (a, inf) terwyl lightStr == 0 temp = temp_away terwyl temp tempF writeDigitalPin (a, 'D6', 1) watter pin rooi lig ook in motor is vir fan writeDigitalPin (a, 'D9', 1); einde einde terwyl lightStr == 1 temp = temp_normale skryfDigitalPin (a, 'D6', 1) %verander na watter pen die normale lig is terwyl temp tempF skryfDigitalPin (a, 'D6', 1) in watter penrooi lig ook al is motor vir waaier writeDigitalPin (a, 'D9', 1); einde einde
Die volledige kode kan hier gevind word.
Aanbeveel:
Smart Home deur Raspberry Pi: 5 stappe (met foto's)
Smart Home deur Raspberry Pi: Daar is reeds verskeie produkte wat u woonstel slimmer maak, maar die meeste daarvan is eie oplossings. Maar waarom het u 'n internetverbinding nodig om 'n lig met u slimfoon te verander? Dit was een van die redes waarom ek my eie Smar moes bou
STONE LCD With Smart Home: 5 stappe
STONE LCD With Smart Home: Vandag het ek die STONE -seriële poortaandrywing, wat via die seriële poort van MCU kan kommunikeer, gekry, en die UI -logika -ontwerp van hierdie skerm kan direk ontwerp word met behulp van die VGUS -sagteware wat op STONE se amptelike webwerf verskaf word, wat baie gerief
DIY Smart Garage Door Opener + Home Assistant Integration: 5 Stappe
DIY Smart Garage Door Opener + Home Assistant Integration: Maak u normale motorhuisdeur slim met hierdie DIY -projek. Ek sal jou wys hoe om dit te bou en te beheer met behulp van Home Assistant (oor MQTT), en ek kan die motorhuisdeur op afstand oop- en toemaak. Ek gebruik 'n ESP8266 -bord genaamd Wemos
Alexa Smart Home -stelsel met behulp van NodeMCU -aflosmodule: 10 stappe
Alexa Smart Home System met behulp van NodeMCU Relay Module: In hierdie IoT -projek het ek die Alexa Smart Home Automation -stelsel gemaak met behulp van die NodeMCU ESP8266 & Relay Module. U kan lig, waaier en ander huishoudelike toestelle maklik beheer met die stemopdrag. Om die Echo Dot -slimluidspreker met die
Sonoff B1 Firmware Home Automation Openhab Google Home: 3 stappe
Sonoff B1 Firmware Home Automation Openhab Google Home: Ek hou baie van die Tasmota -firmware vir my Sonoff -skakelaars. Maar ek was nie regtig tevrede met die Tasmota-firmware op my Sonoff-B1 nie. Ek het nie daarin geslaag om dit in my Openhab te integreer en dit via Google Home te beheer nie. Daarom het ek my eie firma geskryf