Taula de continguts:
Vídeo: Termòstat Smart Home: 4 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
El nostre termòstat Smart Home és un programa que permet estalviar automàticament diners de la llar en factures de serveis públics en funció de les preferències d’una persona.
Pas 1: Visió general
El termòstat Smart Home utilitza un sensor de temperatura per obtenir la temperatura de la llar. Aquesta lectura de temperatura s’inclou al programa on decidirà si el sistema d’aire condicionat necessita escalfar o refredar la casa en funció de la temperatura del propietari desitjat.
Hi ha dos modes per al termòstat: manual i automàtic. El mode manual que ajustarà la temperatura de la llar a la temperatura desitjada que estableixi l’usuari. I el mode automàtic del termòstat canviarà automàticament la temperatura de la llar a les temperatures preestablertes per l'usuari. Hi haurà dos paràmetres de temperatura per al mode automàtic: temperatura fora i temperatura actual. La temperatura externa s’utilitza per estalviar energia canviant el termòstat a una temperatura d’estalvi d’energia predeterminada sempre que l’usuari no es troba a casa. La temperatura actual s’utilitzarà quan l’usuari sigui a casa i vulgui una temperatura confortable. Quan es troba en mode automàtic del termòstat, els sensors de moviment busquen activament el moviment per determinar si algú és o no a casa. Segons la seva lectura, la temperatura de casa es configurarà a la temperatura fora o a la temperatura actual.
Pas 2: peces i materials
(15) cables de pont
(4) Resistències de 220 ohms
(1) Resistència de 10 k ohmis
(1) Sensor de temperatura
(1) Resistència fotogràfica
(1) Caixa de canvis DAGU Mini DC
(1) Diodo
(1) Transistor
(1) Fotoresistència
(1) Taula de pa
(1) Arduino MKR
Pas 3: Circuit
Figura 1 = Imatge esquerra gran
Figura 2 = Part superior dreta
Figura 3 = Mig dret
Figura 4 = Part inferior dreta
figura 1
Mitjançant l’esquema anterior, hem connectat cadascun dels nostres tres LED. Vam separar cada LED perquè treballàvem amb una taula de pa gran. Per a taules de pa més petites, pot ser que sigui necessari acostar els LED. A més, no és necessari alimentar la placa de control, ja que els LED consumeixen tan poca energia. No hem utilitzat la connexió de 5V a la placa per als LEDs. Cada connexió dels LEDs al nostre Arduino es va fer com si hi hagués un cable verd. Els nostres LED vermells, blaus i verds estan connectats als pins digitals 8, 9 i 10 respectivament, designats amb un fil vermell, blau i verd a la nostra imatge.
Figura 2
El diagrama anterior es va utilitzar per connectar el fotoresistor. Vam fer algunes correccions pròpies; no obstant això, els conceptes segueixen sent els mateixos. El fotoresistor s’ha de connectar al pin analògic que tenim al pin A1. Assegureu-vos d’utilitzar una resistència de 10K ohmis per a la resistència més propera a la fotoresistència.
Figura 3
Aquest és el diagrama utilitzat per connectar el sensor de temperatura. Assegureu-vos de no confondre el transistor utilitzat aquí amb el sensor de temperatura. Tenen un aspecte gairebé idèntic. El sensor de temperatura probablement tindrà TMP o algun altre script escrit al costat pla del sensor. El cablejat aquí és molt senzill, el nostre sensor de temperatura està connectat al pin analògic A0 amb un cable blanc.
Figura 4
La imatge superior es va utilitzar per connectar la caixa de canvis DAGU Mini DC. El fil verd connectat a la caixa de canvis és en realitat el fil vermell que hi està connectat a la nostra imatge. El Gearbox està connectat al pin digital 11 amb un fil taronja al nostre model. Assegureu-vos de no confondre el transistor utilitzat aquí amb el sensor de temperatura. Tenen un aspecte gairebé idèntic. El sensor de temperatura probablement tindrà TMP o algun altre script escrit al costat pla del sensor. Heu d’utilitzar el transistor aquí i no el sensor de temperatura.
Pas 4: Codi Arduino
Aquí s’expliquen les parts més importants del codi. El codi no funcionarà només amb el que s'indica aquí. Per obtenir el codi de treball complet, hi ha un enllaç a la part inferior de la pàgina.
Quan creeu el codi del termòstat programable, una de les primeres coses que feu és configurar els sensors i crear un bucle for que obtindrà constantment lectures de temperatura del sensor de temperatura.
Configuració del sensor de temperatura i del LED:
tempPin = 'A0';% defineix una funció anònima que converteix el voltatge en temperatura tempCfromVolts = @ (volts) (volts-0,5) * 100; mostreigDuració = 5; % segons. Quant de temps volem mostrejar per a mostreigInterval = 1; % Quants segons entre les lectures de temperatura% configurat vector de temps de mostreig samplingTimes = 0: samplingInterval: samplingDuration; % calculeu el nombre de mostres en funció de la durada i l'interval numSamples = length (samplingTimes); % prealoca les variables temporals i la variable per al nombre de lectures que emmagatzemarà tempC = zeros (numSamples, 1); tempF = tempC; % Utilitzarem un bucle for aquesta vegada per fer un nombre predeterminat de% de lectures de temperatura
El bucle for:
per a índex = 1: numSamples% llegeix el voltatge a tempPin i emmagatzema en volts variables volts = readVoltage (a, tempPin); tempC (índex) = -1 * tempCfromVolts (volts + 0,3); tempF (índex) = tempC (índex) * (9/5) +32; % Visualització de la sortida formatada que comunica la lectura de temperatura actual fprintf ('La temperatura a% d segons és% 5.2f C o% 5.2f F. / n', … samplingTimes (índex), tempC (índex), tempF (índex)); % Tingueu en compte que aquesta sortida de visualització només es podrà visualitzar alhora alhora que s'hagi executat el codi, tret que copieu / enganxeu el codi en un fitxer de script simple. pausa (samplingInterval)% de retard fins al següent final de la mostra
A continuació, creem el nostre menú d'usuari perquè l'usuari pugui decidir si voleu posar el termòstat en mode manual o automàtic. També creem un codi d'error si l'usuari no selecciona cap de les dues opcions.
El menú del mode manual requereix que l’usuari estableixi un número per a la temperatura del termòstat; a continuació, escalfarà la casa, refredarà la casa o es quedarà inactiu segons les lectures. Per configurar aquesta part del codi, heu utilitzat lectures de temperatura del sensor de temperatura i creeu un codi que refredarà la casa quan la lectura de temperatura sigui superior a la temperatura establerta i escalfeu la casa quan la lectura de temperatura sigui inferior a la temperatura establerta.
Un cop tingueu les lectures de temperatura, podeu crear el codi que indicarà al termòstat que refredi la casa quan la lectura de temperatura sigui superior a la temperatura establerta i escalfeu la casa quan la lectura de temperatura sigui inferior a la temperatura establerta. Per al prototip, la llum blava s’encén quan el termòstat s’ha de refredar i la llum vermella quan el termòstat s’ha d’escalfar.
Configuració del menú:
decisions = {'Automàtic', 'Manual'}; imode = menú ('Mode', opcions) si imode> 0 h = msgbox (['Heu triat' eleccions {imode}]); else h = warndlg ('Heu tancat el menú sense fer una tria') finalitzar waitfor (h);
El mode manual requereix que l'usuari introdueixi una temperatura per al termòstat, i després, a partir de les lectures del sensor de temperatura, començarà a refredar la casa per escalfar la casa. Si la lectura del sensor de temperatura és superior a la temperatura establerta, començarà a refredar la casa. Si la lectura del sensor de temperatura és inferior a la temperatura establerta, escalfarà la llar.
El mode manual s'iniciarà:
if imode == 2 dlg_prompts = {'Quina temperatura preferiríeu?'}; dlg_title = 'Temperatura'; dlg_defaults = {'68'}; opts. Resize = 'activat'; dlg_ans = inputdlg (dlg_prompts, dlg_title, 1, dlg_defaults, opts); si isempty (dlg_ans) h = warndlg ('Heu cancel·lat l'ordre inputdlg'); else temp_manual = str2double (dlg_ans {1})% [Afegiu una diapositiva de configuració de la regulació de la temperatura a sota] final
Dins de la sentència if per al mode manual, heu d’escriure la interfície de menú perquè l’usuari pugui escollir la temperatura de casa desitjada i implementar una sentència while que regularà la temperatura de casa.
Configuració de la regulació de la temperatura:
mentre que temp_manual <tempF writeDigitalPin (a, 'D9', 1) writeDigitalPin (a, 'D11', 1); acabar mentre temp_manual> tempF writeDigitalPin (a, 'D8', 1) writeDigitalPin (a, 'D11', 1); final
El mode automàtic requereix més entrades que el mode manual. Després d’entrar al mode automàtic, l’usuari establirà una temperatura normal i una temperatura fora del termòstat. Després de seleccionar-los, en funció del mode en què estigui el termòstat, tornarà al mode de regulació de temperatura.
Configureu el mode automàtic:
elseif imode == 1 dlg_prompts = {'Normal', 'Fora'}; dlg_title = 'Configuració de la temperatura'; dlg_defaults = {'68', '64'}; opts. Resize = 'activat'; dlg_ans = inputdlg (dlg_prompts, dlg_title, 1, dlg_defaults, opts); si isempty (dlg_ans) h = warndlg ('Heu cancel·lat l'ordre inputdlg'); else temp_normal = str2double (dlg_ans {1}) temp_away = str2double (dlg_ans {2}) end waitforfor (h); % [Afegeix el pas del detector de moviment a continuació]
També hem de configurar el sensor de moviment per a la configuració del mode automàtic. Quan el detector de moviment capta el moviment, mantindrà la temperatura en la configuració actual de la temperatura, en cas contrari es configurarà a la temperatura de fora.
Run_Motion_Detector (a, inf) mentre lightStr == 0 temp = temp_away mentre temp tempF writeDigitalPin (a, 'D6', 1) qualsevol llum vermella del pin també estigui en motor per al ventilador writeDigitalPin (a, 'D9', 1); finalitzar mentre lightStr == 1 temp = temp_normal writeDigitalPin (a, 'D6', 1)% canvia al pin que hi hagi la llum normal mentre que temp tempF writeDigitalPin (a, 'D6', 1) qualsevol pin vermell que hi hagi també motor per a ventilador writeDigitalPin (a, 'D9', 1); fi final
El codi complet es pot trobar aquí.
Recomanat:
Termòstat Nest, seguiment d’ocupació: 12 passos
Termòstat Nest, seguiment d’ocupació: fins fa poc, IFTTT gestionava la meva automatització de refrigeració domèstica que feia servir el meu termòstat Nest mitjançant els “primers que arribava a casa” de Life360; i " últim a sortir de casa " desencadenants. Va ser fantàstic perquè podia afegir membres de la família al meu Li
Afegiu un monitor d'ús a un termòstat domèstic: 4 passos
Afegiu un monitor d'ús a un termòstat domèstic: fa molt, molt de temps, abans que hi hagués un "intel·ligent". termòstat, tenia un termòstat domèstic que proporcionava un total diari (crec, potser setmanal) de "puntual" per al meu sistema de calefacció i aire condicionat. Les coses han canviat
Feu el vostre propi termòstat de calefacció connectat i estalvieu amb la calefacció: 53 passos (amb imatges)
Feu el vostre propi termòstat de calefacció connectat i estalvieu amb la calefacció: Quin és el propòsit? Augmenteu la comoditat escalfant la vostra casa exactament com vulgueu. Estalvieu i reduïu les emissions de gasos d'efecte hivernacle escalfant la vostra casa només quan necessiteu. Mantingueu el control de la vostra calefacció allà on esteu. Estigueu orgullosos de fer-ho
Termòstat d'habitació - Arduino + Ethernet: 3 passos
Termòstat d'ambient: Arduino + Ethernet: pel que fa al maquinari, el projecte utilitza: Arduino Uno / Mega 2560 Ethernet shield Wiznet W5100 / Ethernet module Wiznet W5200-W5500 DS18B20 sensor de temperatura al relé bus OneWire SRD-5VDC-SL-C utilitzat per a la caldera commutació
Termòstat intel·ligent ESP8266: 6 passos (amb imatges)
Smart Thermostat ESP8266: Bienvenue sur ce nouvel article. On es retrouve avui per un projecte que he realitzat durant tot el temps lliure que m'ofereix el confinament. Aquest projecte m'ha estat proposat per mon père, en efecte el vient de déménager en una vieille maison et l