Mündəricat:
Video: Ağıllı Ev Termostatı: 4 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
Ağıllı Ev Termostatımız, bir şəxsin seçimlərinə əsaslanaraq kommunal xərclər üçün bir ev pulunu avtomatik olaraq saxlaya biləcək bir proqramdır.
Addım 1: Baxış
Ağıllı Ev Termostatı evin istiliyini əldə etmək üçün bir temperatur sensoru istifadə edir. Bu temperatur oxunması, kondisioner sisteminin istədiyi ev sahibinin istiliyinə əsasən evi istiləşdirməsi və ya soyutması lazım olduğuna qərar verəcəyi proqrama daxil edilir.
Termostatın iki rejimi var: mexaniki və avtomatik. Evin istiliyini istifadəçi tərəfindən istənilən istiliyə uyğunlaşdıran əl rejimi. Termostatın avtomatik rejimi evin istiliyini istifadəçi tərəfindən əvvəlcədən təyin edilmiş temperatura dəyişəcək. Avtomatik rejim üçün iki temperatur ayarı olacaq: uzaqlıq temperaturu və indiki temperatur. İstifadəçi evdə olmadığı zaman termostatı əvvəlcədən təyin edilmiş enerji qənaət edən bir temperatura dəyişdirərək enerjiyə qənaət etmək üçün uzaqdakı temperatur istifadə olunur. İstifadəçi evdə olduğu və rahat bir temperatur istədiyi zaman mövcud temperatur istifadə ediləcək. Termostatın avtomatik rejimində olduqda, hərəkət sensorları kiminsə evdə olub olmadığını müəyyən etmək üçün fəal şəkildə hərəkət axtarırlar. Oxuduqlarına əsasən, evin temperaturu ya uzaqdakı temperatura, ya da indiki temperatura təyin olunacaq.
Addım 2: hissələr və materiallar
(15) Jumper Telləri
(4) 220 Ohm Rezistorlar
(1) 10K Ohm Rezistor
(1) Temp Sensor
(1) Şəkil Rezistoru
(1) DAGU Mini DC sürət qutusu
(1) Diod
(1) Transistor
(1) Fotoresistor
(1) Çörək lövhəsi
(1) Arduino MKR
Addım 3: Dövrə
Şəkil 1 = Böyük Sol şəkil
Şəkil 2 = Sağ üst
Şəkil 3 = Orta Sağ
Şəkil 4 = Aşağı Sağ
Şəkil 1
Yuxarıdakı diaqramdan istifadə edərək üç LED -in hər birini bağladıq. Böyük bir çörək lövhəsi ilə işlədiyimiz üçün hər bir LED -ni ayırdıq. Kiçik çörək lövhələri üçün LED -ləri bir -birinə yaxınlaşdırmaq lazım ola bilər. Ayrıca, LED -lər çox az enerji çəkdiyindən çörək taxtasına güc vermək lazım deyil. LEDlər üçün çörək lövhəsindəki 5V bağlantısından istifadə etmədik. LED -lərdən Arduino -ya olan hər bir əlaqə yuxarıdakı yaşıl tel kimi edildi. Qırmızı, mavi və yaşıl LED -lərimiz, şəklimizdə qırmızı, mavi və yaşıl bir tel ilə təyin olunan Rəqəmsal Pin 8, 9 və 10 -a bağlıdır.
Şəkil 2
Yuxarıdakı diaqram fotorezistoru bağlamaq üçün istifadə edilmişdir. Özümüzdən bir neçə düzəliş etdik; anlayışlar yenə də eynidir. Fotorezistor A1 pinindəki analoq pinə qoşulmalıdır. Fotorezistora ən yaxın olan rezistor üçün 10K ohm rezistor istifadə etdiyinizə əmin olun.
Şəkil 3
Bu, temperatur sensörünü bağlamaq üçün istifadə olunan diaqramdır. Burada istifadə olunan tranzistoru temperatur sensoru ilə səhv salmadığınızdan əmin olun. Demək olar ki, eynidirlər. Temperatur sensoru, ehtimal ki, sensorun düz tərəfində TMP və ya başqa bir skript yazacaq. Buradakı naqillər çox sadədir, temperatur sensörümüz ağ tel ilə A0 analog pininə qoşulmuşdur.
Şəkil 4
Yuxarıdakı şəkil DAGU Mini DC Sürət qutusuna tel çəkmək üçün istifadə edilmişdir. Şanzımana qoşulmuş yaşıl tel əslində şəklimizdə ona bağlı olan qırmızı teldir. Şanzıman, modelimizdə narıncı bir tel ilə rəqəmsal pin 11 -ə bağlıdır. Burada istifadə olunan tranzistoru temperatur sensoru ilə səhv salmadığınızdan əmin olun. Demək olar ki, eynidirlər. Temperatur sensoru, ehtimal ki, sensorun düz tərəfində TMP və ya başqa bir skript yazacaq. Burada temperatur sensoru yox, tranzistordan istifadə etməlisiniz.
Addım 4: Arduino Kodu
Burada kodun ən vacib hissələri izah edilir. Kod yalnız burada verilənlərlə işləməyəcək. Tam iş kodunu əldə etmək üçün səhifənin altındakı bir keçid var.
Proqramlaşdırıla bilən termostatın kodunu yaratarkən, etdiyiniz ilk işlərdən biri sensorlar qurmaq və daim temperatur sensorundan temperatur oxunuşlarını əldə edəcək bir döngə yaratmaqdır.
İstilik sensoru və LED qurmaq:
tempPin = 'A0';%gərginliyi tempCfromVolts = @(volts) (volts-0.5)*100-ə çevirən anonim funksiyanı təyin edir; samplingDuration = 5; %saniyə. SamplingInterval = 1 üçün nə qədər nümunə götürmək istəyirik? İstilik oxunuşları arasında neçə saniyə nümunə götürmə vaxtının vektorunu qurur örneklemeTimes = 0: samplingInterval: samplelingDuration; %müddəti və aralığına əsasən nümunələrin sayını hesablayın numSamples = uzunluq (samplelingTimes); %tempC = sıfırlar (numSamples, 1) saxlayacaq oxu sayına görə temp dəyişənlərini və dəyişəni əvvəlcədən təyin edin; tempF = tempC; Əvvəlcədən müəyyən edilmiş bir sıra temperatur oxunuşlarını almaq üçün bu dəfə for for istifadə edəcəyik
For döngəsi:
index = 1 üçün: numSamples %tempPin -dəki gərginliyi oxuyur və dəyişən volt voltlarda saxlayır = readVoltage (a, tempPin); tempC (indeks) = -1*tempCfromVolts (volt+0.3); tempF (indeks) = tempC (indeks)*(9/5) +32; Cari temperatur fprintf oxunuşunu bildirən formatlı çıxışı göstərin (' %d saniyədə temperatur %5.2f C və ya %5.2f F. / n',… samplingTimes (indeks), tempC (indeks), tempF (indeks)); Kodun düz bir skript mfile kopyalayıb yapışdırmadığınız təqdirdə, kodun işlənməsindən sonra bu ekran çıxışı yalnız bir anda görünəcəkdir. pauza (samplingInterval) %sonrakı nümunə sonuna qədər gecikmə
Bundan sonra, istifadəçinin termostatın Manuel və ya Avtomatik rejimə qoyulmasına qərar verməsi üçün istifadəçi menyusunu yaradırıq. İstifadəçi iki variantdan birini seçməsə, səhv kodu da yaradırıq.
Manuel rejim menyusu istifadəçidən termostatın temperaturu üçün bir nömrə təyin etməsini tələb edir, sonra ya evi qızdırır, ya evi sərinləşdirir, ya da oxunuşlara əsasən boş qalır. Kodun bu hissəsini qurmaq üçün, temperatur sensöründəki temperatur oxunuşlarını istifadə etdiniz və temperatur oxunuşu təyin olunan temperaturdan yüksək olduqda evi soyudacaq və temperatur oxunuşu təyin olunan temperaturdan aşağı olduqda evi qızdıracaq bir kod yaratdınız.
Temperatur oxunuşlarına sahib olduqdan sonra, temperaturun oxunması təyin olunmuş temperaturdan yüksək olduqda termostatın evi soyutmasını və temperaturun oxunuşu təyin olunan temperaturdan aşağı olduqda evi qızdırmasını bildirən kodu yarada bilərsiniz. Prototip üçün mavi işıq termostat soyudulduqda, qırmızı işıq isə termostat qızdırıldıqda yanır.
Menyu Ayarı:
choices = {'Avtomatik', 'Manuel'}; imode = menyu ('Mod', seçimlər) əgər imode> 0 h = msgbox (['Seçdiyiniz' seçimlər {imode}]); else h = warningdlg ('Seçim etmədən menyunu bağladınız') end waitfor (h);
Manuel rejim istifadəçidən termostat üçün bir temperatur daxil etməyi tələb edir, sonra temperatur sensöründəki oxunuşlara əsaslanaraq ya evi qızdırmaq üçün evi soyutmağa başlayacaq. Temperatur sensörünün oxunuşu təyin olunan temperaturdan yüksək olarsa, evi soyutmağa başlayacaq. Temperatur sensörünün göstəricisi təyin olunan temperaturdan aşağı olarsa, evi qızdıracaq.
Manual rejim başlayacaq:
əgər imode == 2 dlg_prompts = {'Hansı temperatura üstünlük verərdiniz?'}; dlg_title = 'Temperatur'; dlg_defaults = {'68'}; opts. Resize = 'açıq'; dlg_ans = inputdlg (dlg_prompts, dlg_title, 1, dlg_defaults, opts); if isempty (dlg_ans) h = warningdlg ('inputdlg əmrini ləğv etdiniz'); başqa temp_manual = str2double (dlg_ans {1}) %[Aşağıdakı Temperatur Tənzimləmə Quraşdırma slaydını əlavə et] sonu
Əl rejimi üçün if ifadəsinin içərisində, istifadəçinin istədiyi ev temperaturunu seçməsi üçün menyu interfeysi yazmalı və sonra ev temperaturunu tənzimləyəcək bir müddət ifadəsini tətbiq etməlisiniz.
İstilik tənzimləmə qurğusu:
temp_manual <tempF writeDigitalPin (a, 'D9', 1) writeDigitalPin (a, 'D11', 1); end while temp_manual> tempF writeDigitalPin (a, 'D8', 1) writeDigitalPin (a, 'D11', 1); bitmək
Avtomatik rejim əl rejimindən daha çox giriş tələb edir. İstifadəçi avtomatik rejimə daxil olduqdan sonra öz termostatı üçün Normal və Uzaqda bir temperatur təyin edəcək, termostatın hansı rejimdə olduğuna əsaslanaraq yenidən temperatur tənzimləmə rejiminə keçəcək.
Avtomatik rejimi qurun:
elseif imode == 1 dlg_prompts = {'Normal', 'Uzaqda'}; dlg_title = 'Temperatur Ayarları'; dlg_defaults = {'68', '64'}; opts. Resize = 'açıq'; dlg_ans = inputdlg (dlg_prompts, dlg_title, 1, dlg_defaults, opts); if isempty (dlg_ans) h = warningdlg ('inputdlg əmrini ləğv etdiniz'); başqa temp_normal = str2double (dlg_ans {1}) temp_away = str2double (dlg_ans {2}) gözləmə müddəti (h); %[Aşağıdakı Hərəkət Detektoru Addımı əlavə edin]
Avtomatik rejim parametrləri üçün hərəkət sensoru da qurmalıyıq. Hərəkət detektoru hərəkətə keçdikdə, temperaturu indiki temperaturda saxlayacaq, əks halda uzaqdakı temperatur rejiminə keçəcək.
LightStr == 0 temp = temp_away isə temp tempF writeDigitalPin (a, 'D6', 1), fan yazmaq üçün motorda nə pin qırmızı işığı varsa, Run_Motion_Detector (a, inf) (a, 'D9', 1); lightStr == 1 temp = temp_normal writeDigitalPin (a, 'D6', 1) %temp, normal işığın olduğu nöqtəyə %temp tempF writeDigitalPin (a, 'D6', 1) qırmızı işıq da daxil olduqda fan yazma mühərrikiDigitalPin (a, 'D9', 1); sonu son
Tam kodu burada tapa bilərsiniz.
Tövsiyə:
Yuva Termostatı, İşgüzarlığın İzlənməsi: 12 addım
Nest Thermostat, İşgüzarlığın İzlənməsi: Nest Thermostat istifadə edərək evimin soyutma avtomatlaşdırılması, yaxın vaxtlara qədər Life360 -ın "evə ilk gələn" IFTTT tərəfindən idarə olunurdu. və " evdən son çıxan " tetikler. Bu əla idi, çünki ailə üzvlərimi Li -yə əlavə edə bilərdim
SONOFF Ağıllı Açarları ilə Ağıllı Pərdələri necə DIY etmək olar ?: 14 addım
SONOFF Smart Açarları ilə Ağıllı Panjurları Necə DIY etmək olar?: SONOFF ağıllı açarlarda kilidləmə rejimindən istifadə edərək adi pərdələrinizi/pərdələrinizi ağıllı hala gətirin Çoxlarınız bunun səhərlər pərdələri/pərdələri çəkdiyiniz bir iş olduğunu qəbul edəcəksinizmi? və axşam aşağı çəkin? Hər halda, mən
Ağıllı Zəngli Saat: Raspberry Pi ilə Ağıllı Zəngli Saat: 10 addım (şəkillərlə)
Ağıllı Zəngli Saat: Raspberry Pi ilə Ağıllı Zəngli Saat: Heç ağıllı bir saat istəmisinizmi? Əgər belədirsə, bu sizin üçün bir həlldir! Ağıllı Zəngli Saat hazırladım, bu veb saytına görə zəngli saatını dəyişə biləcəyiniz bir saatdır. Siqnal çalınanda bir səs (zil) olacaq və 2 işıq yanacaq
HestiaPi Touch - Ağıllı Termostatı Açın: 9 Addım (Şəkillərlə birlikdə)
HestiaPi Touch - Açıq Smart Termostat: HestiaPi Touch haqqında HestiaPi Touch eviniz üçün tamamilə açıq mənbəli ağıllı termostatdır. Bütün rəqəmsal fayllar və məlumatlar aşağıda və əsas veb saytımızda mövcuddur. Bununla evinizin temperaturunu, nisbi rütubətini və atmosferini izləyə bilərsiniz
Ağıllı evinizi ağıllı şəkildə qoruyun: 14 addım
Ağıllı Evinizi Smartly Secure: Təhlükəsiz və etibarlı bir yarışma üçün yarışıram. Təlimatçılığımı bəyənirsinizsə, zəhmət olmasa ona səs verin! Mən sizə evinizi və ətrafınızı necə asanlıqla və ucuz bir şəkildə necə təmin edəcəyinizi göstərəcəyəm. Konfiqurasiya edin