Satura rādītājs:
Video: Viedās mājas termostats: 4 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Mūsu viedās mājas termostats ir programma, kas var automātiski ietaupīt mājsaimniecības naudu par komunālajiem maksājumiem, pamatojoties uz personas vēlmēm.
1. darbība. Pārskats
Viedās mājas termostats izmanto temperatūras sensoru, lai iegūtu mājokļa temperatūru. Šis temperatūras rādījums tiek ievietots programmā, kur, pamatojoties uz vēlamo mājas īpašnieka temperatūru, tā izlems, vai gaisa kondicionēšanas sistēmai ir jāsilda vai jāatdzesē māja.
Termostatam ir divi režīmi: manuāls un automātisks. Manuālais režīms, kas pielāgos mājas temperatūru jebkurai vēlamajai lietotāja iestatītajai temperatūrai. Un termostata automātiskais režīms automātiski mainīs mājas temperatūru uz lietotāja iepriekš iestatītu temperatūru. Automātiskajam režīmam būs divi temperatūras iestatījumi: temperatūra prom un pašreizējā temperatūra. Izbraukšanas temperatūra tiek izmantota, lai taupītu enerģiju, nomainot termostatu uz iepriekš iestatītu enerģijas taupīšanas temperatūru, kad lietotājs nav mājās. Pašreizējā temperatūra tiks izmantota, kad lietotājs ir mājās un vēlas ērtu temperatūru. Atrodoties termostata automātiskajā režīmā, kustības sensori aktīvi meklē kustību, lai noteiktu, vai kāds ir mājās vai nav. Pamatojoties uz viņu rādījumiem, mājas temperatūra tiks iestatīta vai nu prom, vai pašreizējā.
2. solis: detaļas un materiāli
(15) Džemperu vadi
(4) 220 omu rezistori
(1) 10K omu rezistors
(1) Temperatūras sensors
(1) Foto rezistors
(1) DAGU Mini DC pārnesumkārba
(1) Diode
(1) Tranzistors
(1) Fotorezistors
(1) Maizes dēlis
(1) Arduino MKR
3. solis: ķēde
1. attēls = liels kreisais attēls
2. attēls = augšējā labajā stūrī
3. attēls = labajā pusē
4. attēls = apakšā pa labi
1. attēls
Izmantojot iepriekš redzamo diagrammu, mēs savienojām katru no mūsu trim gaismas diodēm. Mēs izdalījām katru gaismas diodi, jo strādājām ar lielu maizes dēli. Mazākiem maizes dēļiem var būt nepieciešams tuvināt gaismas diodes. Turklāt nav nepieciešams barot maizes dēli, jo gaismas diodes patērē tik maz enerģijas. Mēs neizmantojām 5V savienojumu uz maizes dēļa gaismas diodēm. Katrs savienojums no gaismas diodēm ar mūsu Arduino tika veikts tā, kā zaļais vads ir virs. Mūsu sarkanās, zilās un zaļās gaismas diodes ir savienotas ar ciparu tapu 8, 9 un 10, kuras attēlā ir apzīmētas ar sarkanu, zilu un zaļu vadu.
2. attēls
Iepriekš redzamā diagramma tika izmantota, lai savienotu fotorezistoru. Mēs veicām dažus labojumus paši; tomēr jēdzieni joprojām ir vienādi. Fotorezistors ir jāpievieno analogajai tapai, kas mums ir tapā A1. Noteikti izmantojiet 10K omu rezistoru pretestībai, kas ir vistuvāk fotorezistoram.
3. attēls
Šī ir diagramma, ko izmanto temperatūras sensora vadīšanai. Noteikti nekļūdieties šeit izmantotajā tranzistorā ar temperatūras sensoru. Viņi izskatās gandrīz identiski. Temperatūras sensora sensora plakanajā pusē, iespējams, būs TMP vai kāds cits skripts. Elektroinstalācija šeit ir ļoti vienkārša, mūsu temperatūras sensors ir pievienots analogā tapā A0 ar baltu vadu.
4. attēls
Iepriekš redzamais attēls tika izmantots, lai savienotu DAGU Mini DC pārnesumkārbu. Pārnesumkārbai pievienotais zaļais vads patiesībā ir sarkanais vads, kas tam pievienots mūsu attēlā. Pārnesumkārba ir pievienota digitālajai tapai 11 ar oranžu vadu mūsu modelī. Noteikti nemaldiniet šeit izmantoto tranzistoru ar temperatūras sensoru. Viņi izskatās gandrīz identiski. Temperatūras sensora sensora plakanajā pusē, iespējams, būs TMP vai kāds cits skripts. Šeit jums jāizmanto tranzistors, nevis temperatūras sensors.
4. solis: Arduino kods
Šeit ir izskaidrotas vissvarīgākās koda daļas. Kods nedarbosies tikai ar šeit norādīto. Lai iegūtu pilnu darba kodu, lapas apakšā ir saite.
Veidojot programmējamo termostata kodu, viena no pirmajām lietām, ko jūs darāt, ir sensoru iestatīšana un cilpas izveidošana, kas pastāvīgi saņems temperatūras rādījumus no temperatūras sensora.
Temperatūras sensora un LED uzstādīšana:
tempPin = 'A0';%definē anonīmu funkciju, kas pārveido spriegumu par temperatūru tempCfromVolts = @(volti) (volti-0,5)*100; paraugu ņemšanas ilgums = 5; %sekundes. Cik ilgi mēs vēlamies izlasi paraugu ņemšanaiInterval = 1; %Cik sekundes starp temperatūras rādījumiem %izveidots paraugu ņemšanas laiku vektors samplingTimes = 0: samplingInterval: samplingDuration; %aprēķina paraugu skaitu, pamatojoties uz ilgumu un intervālu numSamples = garums (samplingTimes); %iepriekš sadalīt temp mainīgos lielumus un rādījumu skaita mainīgo, tajā tiks saglabāti tempC = nulles (numSamples, 1); tempF = tempC; %Šoreiz mēs izmantosim cilpu for, lai veiktu iepriekš noteiktu %temperatūras rādījumu skaitu
Cilpai:
indeksam = 1: numSamples %nolasa spriegumu pie tempPin un uzglabā mainīgajos voltos voltos = readVoltage (a, tempPin); tempC (indekss) = -1*tempCfromVolts (volti+0,3); tempF (indekss) = tempC (indekss)*(9/5) +32; %Parādīt formatētu izvadi, kas paziņo pašreizējo temperatūras rādījumu fprintf ('Temperatūra %d sekundēs ir %5,2f C vai %5,2f F. / n',… samplingTimes (indekss), tempC (indekss), tempF (indekss)); %piezīme šī displeja izvade kļūs redzama tikai uzreiz pēc tam, kad kods būs izpildīts, ja vien jūs nekopēsit/neielīmēsit kodu vienkāršā skripta failā. pauze (samplingInterval) %aizkave līdz nākamajam parauga beigām
Pēc tam mēs izveidojam savu lietotāja izvēlni, lai lietotājs varētu izlemt, vai termostatu iestatīt manuālā vai automātiskajā režīmā. Mēs arī izveidojam kļūdas kodu, ja lietotājs neizvēlas nevienu no divām iespējām.
Manuālā režīma izvēlnē lietotājam ir jāiestata termostata temperatūras skaitlis, tad, pamatojoties uz rādījumiem, tā vai nu sildīs māju, atdzesēs māju, vai arī dīkstāvē. Lai iestatītu šo koda daļu, jūs izmantojāt temperatūras rādījumus no temperatūras sensora un izveidojāt kodu, kas atdzesēs māju, kad temperatūras rādījums ir augstāks par iestatīto temperatūru, un sildīs māju, kad temperatūras rādījums ir zemāks par iestatīto temperatūru.
Kad esat nolasījis temperatūru, varat izveidot kodu, kas liks termostatam atdzist māju, kad temperatūras rādījums ir augstāks par iestatīto temperatūru, un sildīt māju, kad temperatūras rādījums ir zemāks par iestatīto temperatūru. Prototipam zilā gaisma iedegas, kad termostatam vajadzētu atdzist, un sarkanā gaisma iedegas, kad termostats sakarst.
Izvēlnes iestatīšana:
options = {'Automatic', 'Manual'}; imode = menu ('Mode', options), ja imode> 0 h = msgbox (['Tu izvēlējies' izvēles {imode}]); else h = warndlg ('Jūs aizvērāt izvēlni, neizvēloties') beigas gaidīt (h);
Manuālajā režīmā lietotājam ir jāievada temperatūra termostatam, un, pamatojoties uz temperatūras sensora rādījumiem, tas sāks vai nu sildīt māju. Ja temperatūras sensora rādījums ir augstāks par iestatīto temperatūru, tas sāks dzesēt māju. Ja temperatūras sensora rādījums ir zemāks par iestatīto temperatūru, tas sildīs māju.
Sāksies manuālais režīms:
ja imode == 2 dlg_prompts = {'Kādai temperatūrai jūs dotu priekšroku?'}; dlg_title = 'Temperatūra'; dlg_defaults = {'68'}; opts. Resize = 'ieslēgts'; dlg_ans = inputdlg (dlg_prompts, dlg_title, 1, dlg_defaults, opts); if isempty (dlg_ans) h = warndlg ('Jūs atcēlāt komandu inputdlg'); else temp_manual = str2double (dlg_ans {1}) %[Zemāk pievienot temperatūras regulēšanas iestatījumu slaidu] beigas
Manuālā režīma paziņojuma if iekšpusē jums ir jāraksta izvēlnes saskarne, lai lietotājs varētu izvēlēties vēlamo mājas temperatūru, un pēc tam jāievieš brīdinājums, kas regulēs mājas temperatūru.
Temperatūras regulēšanas iestatīšana:
kamēr temp_manual <tempF writeDigitalPin (a, 'D9', 1) writeDigitalPin (a, 'D11', 1); end, kamēr temp_manual> tempF writeDigitalPin (a, 'D8', 1) writeDigitalPin (a, 'D11', 1); beigas
Automātiskais režīms prasa vairāk ievades datu nekā manuālais režīms. Pēc automātiskā režīma ievadīšanas lietotājs savam termostatam iestatīs normālu un prombūtnes temperatūru. Pēc to izvēles, pamatojoties uz to, kādā režīmā termostats ir, tas atgriezīsies temperatūras regulēšanas režīmā
Iestatiet automātisko režīmu:
elseif imode == 1 dlg_prompts = {'Normāls', 'Prom' '; dlg_title = 'Temperatūras iestatījumi'; dlg_defaults = {'68', '64'}; opts. Resize = 'ieslēgts'; dlg_ans = inputdlg (dlg_prompts, dlg_title, 1, dlg_defaults, opts); if isempty (dlg_ans) h = warndlg ('Jūs atcēlāt komandu inputdlg'); cits temp_normal = str2double (dlg_ans {1}) temp_away = str2double (dlg_ans {2}) beigu gaidīšana (h); %[Pievienot kustību detektoru tālāk]
Mums ir arī jāiestata kustības sensors automātiskā režīma iestatījumiem. Kad kustības detektors uztver kustību, tas saglabās pašreizējā temperatūras iestatījumu, pretējā gadījumā tas tiks iestatīts uz attāluma temperatūras iestatījumu.
Run_Motion_Detector (a, inf), kamēr lightStr == 0 temp = temp_away, kamēr temp tempF writeDigitalPin (a, 'D6', 1) neatkarīgi no sarkanās gaismas ir arī ventilatora rakstīšanas motorāDigitalPin (a, 'D9', 1); beigu beigas, kamēr gaismaStr == 1 temp = temp_normal writeDigitalPin (a, 'D6', 1) %mainās uz jebkuru tapu, kurā ir normālā gaisma, kamēr temp tempF writeDigitalPin (a, 'D6', 1) neatkarīgi no sarkanās gaismas motors ventilatora rakstīšanaiDigitalPin (a, 'D9', 1); beigas beigas
Pilnu kodu var atrast šeit.
Ieteicams:
Izveidojiet viedās mājas vadības sistēmu STONE HMI displejā: 23 soļi
Izveidojiet viedās mājas vadības sistēmu STONE HMI displejā: Projekta ievads Šajā apmācībā ir parādīts, kā izmantot skārienekrāna moduli STONE STVC050WT-01, lai izveidotu vienkāršu sadzīves tehnikas vadības sistēmu
Alexa viedās mājas sistēma, izmantojot NodeMCU releja moduli: 10 soļi
Alexa viedās mājas sistēma, izmantojot NodeMCU releja moduli: Šajā IoT projektā esmu izveidojis Alexa viedās mājas automatizācijas sistēmu, izmantojot NodeMCU ESP8266 & Releju modulis. Jūs varat viegli kontrolēt gaismu, ventilatoru un citu sadzīves tehniku, izmantojot balss komandu. Lai savienotu viedo skaļruni Echo Dot ar
ForgetMeNot - viedās mājas paziņojumu platforma: 14 soļi (ar attēliem)
ForgetMeNot - viedās mājas paziņojumu platforma: būdami aizņemti koledžas studenti, skrienot starp nodarbībām, darbiem un ģimenes pienākumiem, mēs mēdzam aizmirst sīkumus. Dzimšanas diena nāk un aiziet nemanot, svarīgs termiņš tiek nokavēts aizmirstības dēļ un dažreiz vienkārši
Pilnīgs viedās mājas papildinājums: 8 soļi
Pilnīgs viedās mājas papildinājums: mans iepriekšējais projekts " Pilnīgā viedā māja " veiksmīgi darbojas gandrīz 5 gadus bez problēmām. Tagad, kad es nolēmu pievienot atgriezenisko saiti, nemainot pašreizējo shēmu un shēmu. Tātad šis papildinājums pro
ESP32 viedās mājas centrmezgls: 11 soļi
ESP32 Smart Home Hub: Sistēmas izveide, kas var apstrādāt lielu daudzumu sensoru datu, tai ir vairākas izejas un savienojums ar internetu vai vietējo tīklu, prasa ilgu laiku un daudz pūļu. Pārāk bieži cilvēki vēlas izveidot savu viedo māju tīklu