Cov txheej txheem:

Ntse Tsev Thermostat: 4 Kauj Ruam
Ntse Tsev Thermostat: 4 Kauj Ruam

Video: Ntse Tsev Thermostat: 4 Kauj Ruam

Video: Ntse Tsev Thermostat: 4 Kauj Ruam
Video: Сантехника в квартире своими руками. ПЕРЕДЕЛКА ХРУЩЕВКИ от А до Я. #16 2024, Hlis ntuj nqeg
Anonim
Ntse Tsev Thermostat
Ntse Tsev Thermostat

Peb Lub Tsev Ntsuas Kub Ntse yog ib txoj haujlwm uas tuaj yeem txuag nyiaj hauv tsev ntawm cov nqi hluav taws xob raws li tus neeg nyiam.

Kauj ruam 1: Txheej txheem cej luam

The Smart Home Thermostat siv lub ntsuas ntsuas kub kom tau txais qhov ntsuas kub hauv tsev. Qhov ntsuas kub no tau muab tso rau hauv txoj haujlwm uas nws yuav txiav txim siab seb lub tshuab cua txias yuav tsum tau ua kom sov lossis txias lub tsev raws li tus tswv tsev xav tau kub.

Muaj ob hom rau qhov ntsuas cua sov: phau ntawv thiab tsis siv neeg. Phau ntawv hom uas yuav kho lub tsev kub kom sov li qhov xav tau kub tau teeb tsa los ntawm tus neeg siv. Thiab hom ntsuas cua sov tsis siv neeg yuav hloov pauv qhov kub ntawm lub tsev mus rau qhov kub tau teev tseg los ntawm tus neeg siv. Yuav muaj ob qhov ntsuas kub rau hom tsis siv neeg: nyob deb qhov kub thiab tam sim no kub. Qhov ntsuas kub nyob deb yog siv los txuag hluav taws xob los ntawm kev hloov lub ntsuas cua sov mus rau qhov ntsuas kub txuag hluav taws xob thaum twg los xij tus neeg siv tsis nyob hauv tsev. Qhov ntsuas kub tam sim no yuav siv thaum tus neeg siv nyob hauv tsev thiab xav kom sov sov. Thaum nyob hauv lub ntsuas cua sov lub tshuab tsis siv neeg, lub zog ntsuas tau nquag nrhiav kev txav mus los txiav txim siab tias ib tus neeg nyob hauv tsev lossis tsis yog. Raws li lawv nyeem, qhov ntsuas kub hauv tsev yuav raug teeb tsa mus rau qhov ntsuas kub tam sim no lossis tam sim no kub.

Kauj Ruam 2: Cov Khoom thiab Cov Khoom

(15) Jumper Xov

(4) 220 Ohm Resistors

(1) 10K Ohm Resistor

(1) Temp Sensor

(1) Duab Resistor

(1) DAGU Mini DC Gearbox

(1) Diode

(1) Transistor

(1) Photoresistor

(1) Lub khob cij

(1) Arduino MKR

Kauj ruam 3: Circuit Court

Circuit Court
Circuit Court
Circuit Court
Circuit Court
Circuit Court
Circuit Court
Circuit Court
Circuit Court

Daim duab 1 = Daim duab sab laug loj

Daim duab 2 = Sab xis

Daim duab 3 = Nruab Nrab Txoj Cai

Daim duab 4 = Hauv qab Txoj Cai

Daim duab 1

Siv daim duab saum toj no, peb xaim txhua ntawm peb lub LEDs. Peb spaced tawm txhua LED txij li peb tau ua haujlwm nrog lub rooj mov loj. Rau cov laug cam me me, nws yuav tsim nyog muab cov LEDs los ze zog ua ke. Tsis tas li, nws tsis tsim nyog rau lub hwj chim rau ntawm lub rooj mov vim tias LEDs kos lub zog me me. Peb tsis tau siv 5V kev txuas ntawm lub khob cij rau LEDs. Txhua qhov kev sib txuas los ntawm LEDs rau peb Arduino tau ua zoo li cov hlau ntsuab nyob saum toj no. Peb cov liab, xiav, thiab ntsuab LED tau txuas nrog Digital Pin 8, 9, thiab 10 feem, xaiv nrog cov xim liab, xiav, thiab ntsuab hauv peb daim duab.

Daim duab 2

Daim duab saum toj no tau siv los xaim lub photoresistor. Peb tau kho ob peb yam ntawm peb tus kheej; txawm li cas los cov ntsiab lus tseem zoo ib yam. Tus photoresistor yuav tsum txuas nrog tus pin analog uas peb muaj hauv tus pin A1. Nco ntsoov siv 10K ohm resistor rau cov resistor ze rau lub photoresistor.

Daim duab 3

Nov yog daim duab uas siv los xaim lub ntsuas kub. Nco ntsoov tsis txhob yuam kev transistor siv ntawm no nrog qhov ntsuas kub. Lawv saib yuav luag zoo ib yam. Qhov ntsuas kub yuav zoo li muaj TMP lossis qee cov ntawv sau rau ntawm lub tiaj ntawm lub ntsuas. Txoj hlua ntawm no yog qhov yooj yim heev peb qhov ntsuas kub tau txuas rau hauv tus lej analog A0 nrog xaim dawb.

Daim duab 4

Daim duab saum toj no tau siv los xaim DAGU Mini DC Gearbox. Cov hlau ntsuab txuas rau Gearbox yeej yog cov hlau liab txuas rau nws hauv peb daim duab. Lub Gearbox txuas nrog tus lej digital 11 nrog cov kab xev txiv kab ntxwv hauv peb tus qauv. Nco ntsoov tsis txhob yuam kev transistor siv ntawm no nrog qhov ntsuas kub. Lawv saib yuav luag zoo ib yam. Qhov ntsuas kub yuav zoo li muaj TMP lossis qee cov ntawv sau rau ntawm lub tiaj ntawm lub ntsuas. Koj yuav tsum siv lub transistor ntawm no thiab tsis yog qhov ntsuas kub.

Kauj ruam 4: Arduino Code

Ntawm no, qhov tseem ceeb tshaj plaws ntawm txoj cai tau piav qhia. Txoj cai yuav tsis ua haujlwm nrog tsuas yog yam uas tau muab ntawm no. Txhawm rau kom ua tiav txoj cai ua haujlwm, muaj qhov txuas hauv qab ntawm nplooj ntawv.

Thaum tsim cov programmable thermostat tus lej, ib qho ntawm thawj yam uas koj ua yog teeb tsa lub ntsuas cua thiab tsim lub voj uas yuav tas li tau txais kev ntsuas kub los ntawm qhov ntsuas kub.

Teeb tsa Kub Sensor thiab LED:

tempPin = 'A0';%txheeb xyuas qhov tsis qhia npe ua haujlwm uas hloov qhov hluav taws xob mus rau qhov kub tempCfromVolts = @(volts) (volts-0.5)*100; samplingDuration = 5; %vib nas this Peb xav tau ntev npaum li cas rau samplingInterval = 1; %Muaj pes tsawg vib nas this ntawm qhov ntsuas kub %teeb tsa vector ntawm cov sij hawm samplingTimes = 0: samplingInterval: samplingDuration; %xam tus naj npawb ntawm cov qauv raws li lub sijhawm thiab ntu ntu numSamples = ntev (samplingTimes); %preallocate temp hloov pauv thiab hloov pauv rau tus lej nyeem nws yuav khaws tempC = zeros (numSamples, 1); tempF = tempC; %Peb yuav siv lub voj rau lub sijhawm no txhawm rau txiav txim siab ua ntej ntawm %ntsuas kub

Rau lub voj:

rau qhov ntsuas = 1: numSamples %nyeem qhov hluav taws xob ntawm tempPin thiab khaws cia hauv qhov sib txawv volts volts = readVoltage (a, tempPin); tempC (ntsuas) = -1*tempCfromVolts (volts+0.3); tempF (index) = tempC (index)*(9/5) +32; %Zaub tso tawm cov ntawv sib tham sib tham txog qhov ntsuas kub tam sim no nyeem fprintf ('Kub ntawm %d vib nas this yog %5.2f C lossis %5.2f F. / n', … samplingTimes (ntsuas), tempC (index), tempF (index)); %ceeb toom qhov kev tso tawm no tsuas yog pom tau ib zaug tom qab tus lej tau ua tiav ua tiav tshwj tsis yog koj luam/muab cov cai rau kab ntawv yooj yim mfile. ncua (samplingInterval) %ncua mus txog rau qhov piv txwv tom ntej kawg

Tom ntej no, peb tsim peb cov ntawv qhia zaub mov rau tus neeg siv txiav txim siab seb puas yuav tso lub ntsuas sov hauv phau ntawv lossis hom tsis siv neeg. Peb kuj tsim cov cai yuam kev yog tias tus neeg siv tsis xaiv ib qho ntawm ob qho kev xaiv.

Phau ntawv hom ntawv qhia zaub mov xav kom tus neeg siv teev tus lej ntsuas cua sov, tom qab ntawd nws yuav ua kom sov lub tsev, txias lub tsev, lossis tsis ua haujlwm raws li nyeem. Txhawm rau teeb tsa ntu no ntawm cov cai, koj siv ntsuas kub los ntawm qhov ntsuas kub thiab tsim cov cai uas yuav ua kom lub tsev txias thaum ntsuas kub tau siab dua qhov ntsuas kub, thiab ua kom sov lub tsev thaum ntsuas kub qis dua qhov ntsuas kub.

Thaum koj tau ntsuas qhov ntsuas kub, koj tuaj yeem tsim cov cai uas yuav qhia rau lub ntsuas sov kom txias hauv tsev thaum ntsuas kub siab dua qhov ntsuas kub, thiab ua kom sov lub tsev thaum ntsuas kub qis dua qhov ntsuas kub. Txog tus qauv, lub teeb xiav tuaj thaum lub ntsuas cua sov yuav tsum txias thiab lub teeb liab tuaj thaum lub ntsuas cua sov yuav tsum sov.

Ntawv qhia zaub mov teeb:

xaiv = {'Tsis siv neeg', 'Phau ntawv'}; imode = ntawv qhia zaub mov ('Hom', xaiv) yog imode> 0 h = msgbox (['Koj tau xaiv' kev xaiv {imode}]); lwm tus h = warndlg ('Koj kaw cov ntawv qhia zaub mov yam tsis tau xaiv') kawg tos rau (h);

Phau ntawv hom xav kom tus neeg siv nkag mus rau qhov ntsuas cua sov, tom qab ntawv ntsuas tawm los ntawm qhov ntsuas kub, nws yuav pib ua kom txias lub tsev ua kom sov lub tsev. Yog tias nws ntsuas qhov ntsuas kub tau nyeem siab dua qhov ntsuas kub, nws yuav pib txias hauv tsev. Yog tias qhov ntsuas kub tau nyeem qis dua qhov ntsuas kub, nws yuav sov lub tsev.

Phau ntawv hom yuav pib:

yog imode == 2 dlg_prompts = {'Koj xav tau qhov kub twg?'}; dlg_title = 'Kub'; dlg_defaults = {'68'}; opts. Resize = 'rau'; dlg_ans = inputdlg (dlg_prompts, dlg_title, 1, dlg_defaults, opts); yog isempty (dlg_ans) h = warndlg ('Koj tso tseg qhov inputdlg hais kom ua'); lwm qhov temp_manual = str2double (dlg_ans {1}) %[Ntxiv Kev Tswj Kub Teeb Teeb swb hauv qab no] kawg

Sab hauv ntawm daim ntawv yog tias hom rau phau ntawv hom, koj yuav tsum sau cov ntawv qhia zaub mov cuam tshuam rau tus neeg siv kom xaiv lawv qhov xav tau kub hauv tsev, thiab tom qab ntawd siv ib ntus nqe lus uas yuav tswj hwm qhov kub hauv tsev.

Teeb Kev Cai Kub:

thaum temp_manual <tempF writeDigitalPin (a, 'D9', 1) writeDigitalPin (a, 'D11', 1); kawg thaum temp_manual> tempF writeDigitalPin (a, 'D8', 1) writeDigitalPin (a, 'D11', 1); kawg

Hom Tsis Siv Neeg xav tau ntau lub tswv yim ntau dua li phau ntawv hom. Tom qab nkag mus rau Hom tsis siv neeg, tus neeg siv yuav teeb tsa Qhov Kub thiab Txawv Kub rau lawv qhov ntsuas sov tom qab xaiv cov no, raws li hom ntsuas cua sov nyob hauv, nws yuav rov qab mus rau qhov ntsuas kev ntsuas kub.

Teeb hom Tsis Siv Neeg:

elseif imode == 1 dlg_prompts = {'Normal', 'Tawm'}; dlg_title = 'Kev ntsuas kub'; dlg_defaults = {'68', '64'}; opts. Resize = 'rau'; dlg_ans = inputdlg (dlg_prompts, dlg_title, 1, dlg_defaults, opts); yog isempty (dlg_ans) h = warndlg ('Koj tso tseg qhov inputdlg hais kom ua'); lwm qhov temp_normal = str2double (dlg_ans {1}) temp_away = str2double (dlg_ans {2}) kawg tos rau (h); %[Ntxiv Motion Detector Step hauv qab no]

Peb kuj yuav tsum teeb tsa lub suab ntsuas rau qhov Tsis Siv Neeg hom teeb tsa. Thaum lub ntsuas hluav taws xob tuaj nqa cov lus tsa suab, nws yuav khaws qhov kub ntawm qhov ntsuas kub tam sim no, txwv tsis pub nws yuav teeb tsa qhov ntsuas kub kom deb.

Run_Motion_Detector (a, inf) thaum lightStr == 0 temp = temp_away thaum temp tempF writeDigitalPin (a, 'D6', 1) xijpeem tus pin liab lub teeb tseem nyob hauv lub cav rau kiv cua writeDigitalPin (a, 'D9', 1); kawg kawg thaum lub teebStSt == 1 temp = temp_normal writeDigitalPin (a, 'D6', 1) %hloov mus rau tus pin twg lub teeb pom kev zoo nyob hauv thaum temp tempF writeDigitalPin (a, 'D6', 1) txawm tus pin liab lub teeb nyob hauv lub cev muaj zog rau kiv cua sauDigitalPin (a, 'D9', 1); kawg kawg

Daim ntawv qhia tag nrho tuaj yeem pom ntawm no.

Pom zoo: