Daftar Isi:

Termostat Rumah Pintar: 4 Langkah
Termostat Rumah Pintar: 4 Langkah

Video: Termostat Rumah Pintar: 4 Langkah

Video: Termostat Rumah Pintar: 4 Langkah
Video: #2 Membuat Rumah Pintar - Instalasi Google Nest Mini - Home Automation 2024, Juli
Anonim
Termostat Rumah Pintar
Termostat Rumah Pintar

Smart Home Thermostat kami adalah program yang secara otomatis dapat menyimpan uang rumah tangga pada tagihan listrik berdasarkan preferensi seseorang.

Langkah 1: Ikhtisar

Smart Home Thermostat menggunakan sensor suhu untuk mendapatkan suhu rumah. Pembacaan suhu ini dimasukkan ke dalam program di mana ia akan memutuskan apakah sistem pendingin udara perlu memanaskan atau mendinginkan rumah berdasarkan suhu pemilik rumah yang diinginkan.

Ada dua mode untuk termostat: manual dan otomatis. Mode manual yang akan menyesuaikan suhu rumah ke suhu yang diinginkan diatur oleh pengguna. Dan mode otomatis termostat akan secara otomatis mengubah suhu rumah ke suhu yang telah ditentukan oleh pengguna. Akan ada dua pengaturan suhu untuk mode otomatis: suhu jauh dan suhu saat ini. Suhu jauh digunakan untuk menghemat energi dengan mengubah termostat ke suhu hemat energi yang telah ditetapkan kapan pun pengguna tidak di rumah. Suhu saat ini akan digunakan saat pengguna berada di rumah dan menginginkan suhu yang nyaman. Saat dalam mode otomatis termostat, sensor gerak secara aktif mencari gerakan untuk menentukan apakah seseorang ada di rumah atau tidak. Berdasarkan pembacaan mereka, suhu rumah akan diatur ke suhu jauh atau suhu saat ini.

Langkah 2: Bagian dan Bahan

(15) Kabel Jumper

(4) Resistor 220 Ohm

(1) Resistor 10K Ohm

(1) Sensor Suhu

(1) Foto Resistor

(1) DAGU Mini DC Gearbox

(1) Dioda

(1) transistor

(1) Fotoresistor

(1) Papan tempat memotong roti

(1) Arduino MKR

Langkah 3: Sirkuit

sirkuit
sirkuit
sirkuit
sirkuit
sirkuit
sirkuit
sirkuit
sirkuit

Gambar 1 = Gambar Kiri Besar

Gambar 2 = Kanan Atas

Gambar 3 = Kanan Tengah

Gambar 4 = Kanan Bawah

Gambar 1

Dengan menggunakan diagram di atas, kami menghubungkan masing-masing dari tiga LED kami. Kami memberi jarak setiap LED karena kami bekerja dengan papan roti besar. Untuk papan roti yang lebih kecil, mungkin perlu untuk menempatkan LED lebih dekat. Selain itu, tidak perlu memberi daya pada papan tempat memotong roti karena LED hanya menggunakan daya yang sangat kecil. Kami tidak menggunakan koneksi 5V pada papan tempat memotong roti untuk LED. Setiap koneksi dari LED ke Arduino kami dibuat seperti kabel hijau di atas. LED merah, biru, dan hijau kami masing-masing terhubung ke Pin Digital 8, 9, dan 10, yang ditandai dengan kabel merah, biru, dan hijau di gambar kami.

Gambar 2

Diagram di atas digunakan untuk menghubungkan fotoresistor. Kami membuat beberapa koreksi kami sendiri; namun konsepnya tetap sama. Fotoresistor harus terhubung ke pin analog yang kita miliki di pin A1. Pastikan untuk menggunakan resistor 10K ohm untuk resistor yang paling dekat dengan fotoresistor.

Gambar 3

Ini adalah diagram yang digunakan untuk memasang sensor suhu. Pastikan untuk tidak salah mengartikan transistor yang digunakan di sini dengan sensor suhu. Mereka terlihat hampir identik. Sensor suhu kemungkinan akan memiliki TMP atau skrip lain yang tertulis di sisi datar sensor. Pengkabelan di sini sangat sederhana, sensor suhu kami dicolokkan ke pin analog A0 dengan kabel putih.

Gambar 4

Gambar di atas digunakan untuk menghubungkan Gearbox Mini DC DAGU. Kabel hijau yang terpasang pada Gearbox sebenarnya adalah kabel merah yang terhubung dengannya di gambar kita. Gearbox terhubung ke pin digital 11 dengan kabel oranye dalam model kami. Pastikan untuk tidak salah mengartikan transistor yang digunakan di sini dengan sensor suhu. Mereka terlihat hampir identik. Sensor suhu kemungkinan akan memiliki TMP atau skrip lain yang tertulis di sisi datar sensor. Anda harus menggunakan transistor di sini dan bukan sensor suhu.

Langkah 4: Kode Arduino

Di sini, bagian terpenting dari kode dijelaskan. Kode tidak akan berfungsi hanya dengan apa yang diberikan di sini. Untuk mendapatkan kode kerja lengkap, ada tautan di bagian bawah halaman.

Saat membuat kode termostat yang dapat diprogram, salah satu hal pertama yang Anda lakukan adalah mengatur sensor dan membuat loop for yang akan terus-menerus mendapatkan pembacaan suhu dari sensor suhu.

Menyiapkan Sensor Suhu dan LED:

tempPin = 'A0';%define fungsi anonim yang mengubah tegangan menjadi suhu tempCfromVolts = @(volts) (volts-0.5)*100; samplingDurasi = 5; %detik. Berapa lama kita ingin mengambil sampel untuk samplingInterval = 1; %Berapa detik antara pembacaan suhu %set up vektor waktu pengambilan sampel samplingTimes = 0:samplingInterval:samplingDuration; %menghitung jumlah sampel berdasarkan durasi dan interval numSamples = length(samplingTimes); % mengalokasi variabel temp dan variabel untuk jumlah pembacaan yang akan disimpan tempC = zeros(numSamples, 1); suhuF = suhuC; %Kami akan menggunakan perulangan for kali ini untuk mengambil jumlah %pembacaan suhu yang telah ditentukan sebelumnya

Untuk loop:

untuk indeks = 1:numSampel %baca tegangan pada tempPin dan simpan dalam variabel volt volts = readVoltage(a, tempPin); tempC(indeks) = -1*tempCfromVolts(volt+0,3); tempF(indeks) = tempC(indeks)*(9/5)+32; %Menampilkan keluaran berformat yang mengkomunikasikan pembacaan suhu saat ini fprintf('Suhu pada %d detik adalah %5.2f C atau %5.2f F.\n', … samplingTimes(index), tempC(index), tempF(index)); %note output tampilan ini hanya akan terlihat sekaligus setelah kode %selesai dijalankan kecuali jika Anda menyalin/menempelkan kode ke skrip biasa mfile. jeda(samplingInterval) %delay hingga sampel berikutnya berakhir

Selanjutnya, kami membuat menu pengguna kami untuk pengguna memutuskan apakah akan menempatkan Termostat dalam mode Manual atau Otomatis. Kami juga membuat kode kesalahan jika pengguna tidak memilih salah satu dari dua opsi.

Menu mode Manual mengharuskan pengguna untuk menyetel angka suhu termostat, kemudian akan memanaskan rumah, mendinginkan rumah, atau menganggur berdasarkan pembacaan. Untuk mengatur bagian kode ini, Anda menggunakan pembacaan suhu dari sensor suhu dan membuat kode yang akan mendinginkan rumah saat pembacaan suhu lebih tinggi dari suhu yang disetel, dan memanaskan rumah saat pembacaan suhu lebih rendah dari suhu yang disetel.

Setelah Anda memiliki pembacaan suhu, Anda dapat membuat kode yang akan memberi tahu termostat untuk mendinginkan rumah saat pembacaan suhu lebih tinggi dari suhu yang disetel, dan memanaskan rumah saat pembacaan suhu lebih rendah dari suhu yang disetel. Untuk prototipe, lampu biru menyala saat termostat harus dingin dan lampu merah menyala saat termostat harus panas.

Pengaturan Menu:

pilihan = {'Otomatis', 'Manual'};imode = menu('Mode', pilihan) if imode>0 h=msgbox(['Anda memilih ' pilihan{imode}]); else h=warndlg('Anda menutup menu tanpa membuat pilihan') end waitfor(h);

Mode Manual mengharuskan pengguna untuk memasukkan suhu untuk termostat, kemudian berdasarkan pembacaan dari sensor suhu, itu akan mulai mendinginkan rumah atau memanaskan rumah. Jika pembacaan sensor suhu lebih tinggi dari suhu yang disetel, itu akan mulai mendinginkan rumah. Jika pembacaan sensor suhu lebih rendah dari suhu yang disetel, itu akan memanaskan rumah.

Mode Manual akan dimulai:

if imode == 2 dlg_prompts = {'Suhu berapa yang Anda inginkan?'}; dlg_title = 'Suhu'; dlg_defaults = {'68'}; opts. Ubah ukuran = 'aktif'; dlg_ans = inputdlg(dlg_prompts, dlg_title, 1, dlg_defaults, opts); if isempty(dlg_ans) h=warndlg('Anda membatalkan perintah inputdlg'); else temp_manual = str2double(dlg_ans{1}) %[Tambahkan slide Pengaturan Pengaturan Suhu di bawah] akhir

Di dalam pernyataan if untuk mode manual, Anda perlu menulis antarmuka menu bagi pengguna untuk memilih suhu rumah yang diinginkan, dan kemudian menerapkan pernyataan while yang akan mengatur suhu rumah.

Pengaturan Pengaturan Suhu:

while temp_manual < tempF writeDigitalPin(a, 'D9', 1) writeDigitalPin(a, 'D11', 1); end while temp_manual > tempF writeDigitalPin(a, 'D8', 1) writeDigitalPin(a, 'D11', 1); akhir

Mode Otomatis membutuhkan lebih banyak input daripada mode manual. Setelah memasuki mode Otomatis, pengguna akan menyetel suhu Normal dan Jauh untuk termostat mereka. Setelah memilih ini, berdasarkan mode termostat yang digunakan, termostat akan kembali ke mode pengaturan suhu

Atur mode Otomatis:

elseif imode == 1 dlg_prompts = {'Normal', 'Away'}; dlg_title = 'Pengaturan Suhu'; dlg_defaults = {'68', '64'}; opts. Ubah ukuran = 'aktif'; dlg_ans = inputdlg(dlg_prompts, dlg_title, 1, dlg_defaults, opts); if isempty(dlg_ans) h=warndlg('Anda membatalkan perintah inputdlg'); else temp_normal = str2double(dlg_ans{1}) temp_away = str2double(dlg_ans{2}) end waitfor(h); %[Tambahkan Langkah Detektor Gerakan di bawah]

Kita juga perlu mengatur sensor gerak untuk pengaturan mode Otomatis. Ketika detektor gerakan mengambil gerakan, itu akan menjaga suhu pada pengaturan suhu saat ini, jika tidak maka akan diatur ke pengaturan suhu jauh.

Run_Motion_Detector(a, inf) while lightStr == 0 temp = temp_away while temp tempF writeDigitalPin(a, 'D6', 1) apapun pin lampu merah juga motor untuk fan writeDigitalPin(a, 'D9', 1); end end while lightStr == 1 temp = temp_normal writeDigitalPin(a, 'D6', 1) %ubah ke pin apa pun lampu normal berada saat temp tempF writeDigitalPin(a, 'D6', 1) pin apa pun yang menyala merah juga motor untuk kipas tulisDigitalPin(a, 'D9', 1); akhir akhir

Kode lengkapnya dapat ditemukan di sini.

Direkomendasikan: