Përmbajtje:
Video: Termostati Smart Home: 4 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:20
Termostati ynë Smart Home është një program që mund të kursejë automatikisht një para shtëpie në faturat e shërbimeve bazuar në preferencat e një personi.
Hapi 1: Vështrim i përgjithshëm
Termostati Smart Home përdor një sensor të temperaturës për të marrë temperaturën e shtëpisë. Ky lexim i temperaturës futet në program ku do të vendosë nëse sistemi i kondicionimit duhet të ngrohë ose ftojë shtëpinë bazuar në temperaturën e dëshiruar të pronarit të shtëpisë.
Ekzistojnë dy mënyra për termostatin: manual dhe automatik. Modaliteti manual që do të rregullojë temperaturën e shtëpisë në cilindo temperaturë të dëshiruar të vendosur nga përdoruesi. Dhe mënyra automatike e termostatit do të ndryshojë automatikisht temperaturën e shtëpisë në temperaturat e paracaktuara nga përdoruesi. Do të ketë dy cilësime të temperaturës për modalitetin automatik: temperatura larg dhe temperatura aktuale. Temperatura e largët përdoret për të kursyer energji duke ndryshuar termostatin në një temperaturë të paracaktuar të kursimit të energjisë sa herë që përdoruesi nuk është në shtëpi. Temperatura aktuale do të përdoret kur përdoruesi është në shtëpi dhe dëshiron një temperaturë të rehatshme. Kur jeni në modalitetin automatik të termostatit, sensorët e lëvizjes kërkojnë në mënyrë aktive lëvizjen për të përcaktuar nëse dikush është në shtëpi apo jo. Bazuar në leximin e tyre, temperatura e shtëpisë ose do të vendoset në temperaturën e largët ose temperaturën aktuale.
Hapi 2: Pjesët dhe materialet
(15) Telat Jumper
(4) Rezistenca 220 Ohm
(1) Rezistencë 10K Ohm
(1) Sensori i Temp
(1) Rezistenca e fotove
(1) Kuti ingranazhi DAGU Mini DC
(1) Diodë
(1) Transistor
(1) Fotorezistor
(1) Breadboard
(1) Arduino MKR
Hapi 3: Qarku
Figura 1 = Fotografi e madhe majtas
Figura 2 = Sipër djathtas
Figura 3 = E Djathta e Mesme
Figura 4 = Djathtas poshtë
Figura 1
Duke përdorur diagramin e mësipërm, ne lidhëm secilën prej tre LED -ve tanë. Ne e ndamë secilën LED që kur po punonim me një dërrasë të madhe bukë. Për dërrasat më të vogla të bukës, mund të jetë e nevojshme të vendosni LED -të më afër njëri -tjetrit. Gjithashtu, është e panevojshme të fuqizoni bordin e bukës pasi LED -të tërheqin kaq pak energji. Ne nuk përdorëm lidhjen 5V në panelin e bukës për LED. Çdo lidhje nga LED -të me Arduino -n tonë është bërë sikur tela jeshile të jetë sipër. LED -et tona të kuqe, blu dhe jeshile janë të lidhura me Pin Pin 8, 9 dhe 10 respektivisht, të përcaktuar me një tel të kuq, blu dhe jeshil në figurën tonë.
Figura 2
Diagrami i mësipërm është përdorur për lidhjen e fotorezistencës. Ne bëmë disa korrigjime tona; megjithatë konceptet janë ende të njëjta. Fotorezistori duhet të lidhet me një kunj analog të cilin e kemi në kunjin A1. Sigurohuni që të përdorni një rezistencë 10K Ohm për rezistencën më të afërt me fotorezistuesin.
Figura 3
Ky është diagrami i përdorur për të lidhur sensorin e temperaturës. Sigurohuni që të mos gaboni transistorin e përdorur këtu me sensorin e temperaturës. Ata duken pothuajse identikë. Sensori i temperaturës ka të ngjarë të ketë TMP ose ndonjë skenar tjetër të shkruar në anën e sheshtë të sensorit. Instalimet elektrike këtu janë shumë të thjeshta sensori ynë i temperaturës është i kyçur në kunjin analog A0 me një tel të bardhë.
Figura 4
Fotografia e mësipërme është përdorur për të lidhur DAGU Mini DC Gearbox. Teli jeshil i bashkangjitur në kutinë e ingranazheve është në të vërtetë tela e kuqe e lidhur me të në foton tonë. Kutia e shpejtësisë është e lidhur me pinin dixhital 11 me një tel portokalli në modelin tonë. Sigurohuni që të mos gaboni transistorin e përdorur këtu me sensorin e temperaturës. Ata duken pothuajse identikë. Sensori i temperaturës ka të ngjarë të ketë TMP ose ndonjë skenar tjetër të shkruar në anën e sheshtë të sensorit. Këtu duhet të përdorni transistorin dhe jo sensorin e temperaturës.
Hapi 4: Kodi Arduino
Këtu, pjesët më të rëndësishme të kodit shpjegohen. Kodi nuk do të funksionojë vetëm me atë që është dhënë këtu. Për të marrë kodin e plotë të punës, ekziston një lidhje në fund të faqes.
Kur krijoni kodin e programueshëm të termostatit, një nga gjërat e para që bëni është të vendosni sensorët dhe të krijoni një lak për që do të marrë vazhdimisht lexime të temperaturave nga sensori i temperaturës.
Vendosja e sensorit të temperaturës dhe LED:
tempPin = 'A0';%përcaktojnë funksionin anonim që konverton tensionin në temperaturë tempCfromVolts = @(volt) (volt-0.5)*100; samplingDuration = 5; %sekonda. Sa kohë duam të marrim mostër për marrjen e mostrësInterval = 1; %Sa sekonda midis leximeve të temperaturës %krijoi vektorin e kohës së marrjes së kampionit samplingTimes = 0: samplingInterval: samplingDuration; %llogarit numrin e mostrave bazuar në kohëzgjatjen dhe intervalin Numrat e mostrave = gjatësia (koha e marrjes së mostrave); %paraalokoni variablat temp dhe ndryshoren për numrin e leximeve që do të ruajë tempC = zero (numSample, 1); tempF = tempC; %Ne do të përdorim një lak for këtë herë për të marrë një numër të paracaktuar të %leximeve të temperaturës
Lak për for:
për indeksin = 1: numS shembujt %lexojnë tensionin në tempPin dhe ruajnë në volt të ndryshueshëm volt = lexoTension (a, tempPin); tempC (indeksi) = -1*tempCfromVolts (volt+0.3); tempF (indeksi) = tempC (indeksi)*(9/5) +32; %Shfaq daljen e formatuar që komunikon leximin e temperaturës aktuale fprintf ('Temperatura në %d sekonda është %5.2f C ose %5.2f F. / n',… samplingTimes (indeksi), tempC (indeksi), tempF (indeksi)); %vini re se kjo dalje e ekranit do të bëhet e dukshme vetëm njëherësh pasi kodi të ketë mbaruar %nëse nuk e kopjoni/ngjisni kodin në një skedar të thjeshtë skripti. pauzë (samplingInterval) %vonesë deri në përfundimin e mostrës tjetër
Tjetra, ne krijojmë menunë tonë të përdoruesit që përdoruesi të vendosë nëse do ta vendosë Termostatin në modalitetin manual ose automatik. Ne gjithashtu krijojmë një kod gabimi nëse përdoruesi nuk zgjedh asnjë nga dy opsionet.
Menyja e modalitetit manual kërkon nga përdoruesi të caktojë një numër për temperaturën e termostatit, atëherë ai ose do të ngrohë shtëpinë, do të ftojë shtëpinë ose do të jetë i papunë bazuar në leximet. Për të konfiguruar këtë pjesë të kodit, keni përdorur leximet e temperaturës nga sensori i temperaturës dhe keni krijuar kod që do ta ftohë shtëpinë kur leximi i temperaturës është më i lartë se temperatura e caktuar dhe do ta ngroh shtëpinë kur leximi i temperaturës është më i ulët se temperatura e caktuar.
Pasi të keni leximet e temperaturës, mund të krijoni kodin që do t'i tregojë termostatit të ftojë shtëpinë kur leximi i temperaturës është më i lartë se temperatura e caktuar dhe ngrohni shtëpinë kur leximi i temperaturës është më i ulët se temperatura e caktuar. Për prototipin, drita blu ndizet kur termostati duhet të ftohet dhe drita e kuqe ndizet kur termostati duhet të nxehet.
Konfigurimi i menysë:
zgjedhje = {'Automatike', 'Manual'}; imode = menu ('Modaliteti', zgjedhje) nëse imode> 0 h = msgbox (['Ti zgjodhe' zgjedhjet {imode}]); else h = warndlg ("Mbyllët menunë pa bërë zgjedhje") përfundoni pritjen (h);
Modaliteti manual kërkon që përdoruesi të vendosë një temperaturë për termostatin, pastaj bazuar në leximet nga sensori i temperaturës, ai do të fillojë ose të ftohë shtëpinë e ngrohjes së shtëpisë. Nëse leximi i sensorit të temperaturës është më i lartë se temperatura e caktuar, do të fillojë ftohjen e shtëpisë. Nëse leximi i sensorit të temperaturës është më i ulët se temperatura e caktuar, ai do të ngrohë shtëpinë.
Modaliteti manual do të fillojë:
nëse imode == 2 dlg_prompts = {'Çfarë temperature do të preferonit?'}; dlg_title = 'Temperatura'; dlg_defaults = {'68'}; opts. Resize = 'aktiv'; dlg_ans = inputdlg (dlg_prompts, dlg_title, 1, dlg_defaults, opt); nëse është i zbrazët (dlg_ans) h = warndlg ('Ke anuluar komandën inputdlg'); tjetër temp_manual = str2double (dlg_ans {1}) %[Shto rrëshqitjen e Konfigurimit të Rregullimit të Temperaturës më poshtë] fund
Brenda deklaratës if për modalitetin manual, duhet të shkruani ndërfaqen e menysë që përdoruesi të zgjedhë temperaturën e dëshiruar të shtëpisë, dhe më pas të zbatojë një deklaratë ndërkohë që do të rregullojë temperaturën e shtëpisë.
Konfigurimi i rregullimit të temperaturës:
ndërsa temp_manual <tempF writeDigitalPin (a, 'D9', 1) writeDigitalPin (a, 'D11', 1); përfundoj ndërsa temp_manual> tempF writeDigitalPin (a, 'D8', 1) writeDigitalPin (a, 'D11', 1); fund
Modaliteti automatik kërkon më shumë hyrje sesa mënyra manuale. Pas hyrjes në modalitetin automatik, përdoruesi do të vendosë një temperaturë Normale dhe një Larg për termostatin e tyre. Pas zgjedhjes së këtyre, në bazë të cilës gjendje është termostati, ai do të kthehet përsëri në modalitetin e rregullimit të temperaturës
Vendosni modalitetin automatik:
elseif imode == 1 dlg_prompts = {'Normal', 'Larg'}; dlg_title = 'Cilësimet e temperaturës'; dlg_defaults = {'68', '64'}; opts. Resize = 'aktiv'; dlg_ans = inputdlg (dlg_prompts, dlg_title, 1, dlg_defaults, opt); nëse është i zbrazët (dlg_ans) h = warndlg ('Ke anuluar komandën inputdlg'); përndryshe temp_normal = str2double (dlg_ans {1}) temp_away = str2double (dlg_ans {2}) fund pritjeje (h); %[Shto hapin e detektorit të lëvizjes më poshtë]
Ne gjithashtu duhet të konfigurojmë sensorin e lëvizjes për cilësimet e modalitetit automatik. Kur detektori i lëvizjes merr lëvizje, ai do të mbajë temperaturën në cilësimin e temperaturës aktuale, përndryshe do të vendoset në cilësimin e temperaturës larg.
Run_Motion_Detector (a, inf) ndërsa lightStr == 0 temp = temp_away ndërsa temp tempF writeDigitalPin (a, 'D6', 1) çfarëdo drite e kuqe pin është gjithashtu në motorin për shkrimin e ventilatorit DigitalPin (a, 'D9', 1); mbaron ndërsa dritaStr == 1 temp = temp_ormal shkrimDigitalPin (a, 'D6', 1) %ndryshim në cilindo kunj në të cilën ndodhet drita normale, ndërsa temp tempF shkruajDigitalPin (a, 'D6', 1) në çfarëdo dritë të kuqe pin është gjithashtu motor për shkrimin e ventilatoritDigitalPin (a, 'D9', 1); fund fund
Kodin e plotë mund ta gjeni këtu.
Recommended:
Termostati Nest, Ndjekja e Kapjes: 12 Hapa
Termostati Nest, Ndjekja e Zënies: Automatizimi i ftohjes së shtëpisë sime duke përdorur Nest Thermostat tim, deri vonë ishte drejtuar nga IFTTT duke përdorur Life360's " së pari për të arritur në shtëpi " dhe " e fundit për të lënë shtëpinë " shkakton. Kjo ishte e mrekullueshme sepse mund të shtoja anëtarët e familjes në Li -in tim
Termostati i dhomës - Arduino + Ethernet: 3 hapa
Termostati i dhomës-Arduino + Ethernet: Për sa i përket harduerit, projekti përdor: Arduino Uno / Mega 2560 mburoja e Ethernet Wiznet W5100 / moduli Ethernet Wiznet W5200-W5500 DS18B20 sensori i temperaturës në stafetën e autobusit OneWire SRD-5VDC-SL-C të përdorur për bojler kalimi
Termostati Smart HestiaPi FR4 Rasti: 3 hapa
HestiaPi Smart Thermostat FR4 Rasti: HestiaPi është një Termostat Smart i hapur për shtëpinë tuaj. Ai funksionon openHAB në një Raspberry Pi Zero W dhe përfshin një ekran me prekje, sensor të temperaturës/lagështisë dhe stafetë që furnizohen direkt nga instalimet elektrike ekzistuese të shtëpisë tuaj. Projekti ynë është drejtuar
LapStat - Termostati i laptopit: 6 hapa
LapStat - Termostati i laptopit: LapStat është termostati për laptopin tuaj! Ai përdor dy sensorë të temperaturës për secilën anë të laptopit tuaj për të matur temperaturën e laptopit tuaj. Pastaj, kontrollon shpejtësinë e dy tifozëve për të ftohur kompjuterin tuaj. Tifozët janë më të fuqishëm se
Termostati i lidhur: 6 hapa (me fotografi)
Termostati i lidhur: Monitorimi i saktë i temperaturës në shtëpinë tuaj është padyshim një nga mënyrat më të mira për të kursyer në faturën tuaj të energjisë. Në të njëjtën kohë ju dëshironi të ndiheni mirë në një shtëpi të ngrohtë gjatë dimrit. Termostati im aktual lejon vetëm një programim statik: Unë