Isi kandungan:
- Langkah 1: Gambaran keseluruhan
- Langkah 2: Bahagian dan Bahan
- Langkah 3: Litar
- Langkah 4: Kod Arduino
Video: Termostat Rumah Pintar: 4 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:10
Smart Home Thermostat kami adalah program yang dapat menjimatkan wang isi rumah secara automatik pada bil utiliti berdasarkan pilihan seseorang.
Langkah 1: Gambaran keseluruhan
Termostat Rumah Pintar menggunakan sensor suhu untuk mendapatkan suhu rumah. Pembacaan suhu ini dimasukkan ke dalam program di mana ia akan memutuskan sama ada sistem penyaman udara perlu memanaskan atau menyejukkan rumah berdasarkan suhu pemilik rumah yang diinginkan.
Terdapat dua mod untuk termostat: manual dan automatik. Mod manual yang akan menyesuaikan suhu rumah ke suhu yang diinginkan ditetapkan oleh pengguna. Dan mod termostat automatik secara automatik akan mengubah suhu rumah menjadi suhu yang telah ditetapkan oleh pengguna. Terdapat dua tetapan suhu untuk mod automatik: suhu jauh dan suhu sekarang. Suhu jauh digunakan untuk menjimatkan tenaga dengan menukar termostat menjadi suhu penjimatan tenaga yang telah ditetapkan setiap kali pengguna tidak berada di rumah. Suhu sekarang akan digunakan ketika pengguna berada di rumah dan menginginkan suhu yang selesa. Ketika berada dalam mod automatik termostat, sensor gerakan secara aktif mencari pergerakan untuk menentukan sama ada seseorang berada di rumah atau tidak. Berdasarkan pembacaan mereka, suhu rumah akan ditetapkan ke suhu jauh atau suhu sekarang.
Langkah 2: Bahagian dan Bahan
(15) Wayar Pelompat
(4) 220 Perintang Ohm
(1) Perintang 10K Ohm
(1) Sensor Temp
(1) Perintang Foto
(1) Kotak Gear DAGU Mini DC
(1) Diod
(1) Transistor
(1) Fotoresistor
(1) Papan roti
(1) Arduino MKR
Langkah 3: Litar
Gambar 1 = Gambar Kiri Besar
Gambar 2 = Kanan Atas
Rajah 3 = Kanan Tengah
Gambar 4 = Bawah Kanan
Rajah 1
Dengan menggunakan gambarajah di atas, kami menyambung setiap tiga LED kami. Kami menjauhkan setiap LED sejak kami bekerja dengan papan roti besar. Untuk papan roti yang lebih kecil, mungkin perlu meletakkan LED lebih dekat. Juga, tidak perlu menyalakan papan roti kerana LED menarik kuasa yang sedikit. Kami tidak menggunakan sambungan 5V pada papan roti untuk LED. Setiap sambungan dari LED ke Arduino kami dibuat seperti wayar hijau di atas. LED merah, biru, dan hijau kami disambungkan ke Pin Digital 8, 9, dan 10 masing-masing, yang ditentukan dengan wayar merah, biru, dan hijau dalam gambar kami.
Gambar 2
Gambarajah di atas digunakan untuk mengawasi fotoresistor. Kami membuat beberapa pembetulan sendiri; namun konsepnya masih sama. Fotoresistor mesti disambungkan ke pin analog yang kita ada di pin A1. Pastikan menggunakan perintang ohm 10K untuk perintang yang paling dekat dengan photoresistor.
Gambar 3
Ini adalah gambarajah yang digunakan untuk mengawasi sensor suhu. Pastikan tidak salah transistor yang digunakan di sini dengan sensor suhu. Mereka kelihatan hampir sama. Sensor suhu kemungkinan akan mempunyai TMP atau skrip lain yang ditulis di sisi rata sensor. Pendawaian di sini sangat mudah sensor suhu kami dipasang ke pin analog A0 dengan wayar putih.
Gambar 4
Gambar di atas digunakan untuk memasang DAGU Mini DC Gearbox. Kawat hijau yang dilekatkan pada Kotak Gear sebenarnya adalah wayar merah yang disambungkan padanya dalam gambar kami. Kotak gear disambungkan ke pin digital 11 dengan wayar oren dalam model kami. Pastikan tidak salah transistor yang digunakan di sini dengan sensor suhu. Mereka kelihatan hampir sama. Sensor suhu kemungkinan akan mempunyai TMP atau skrip lain yang ditulis di sisi rata sensor. Anda mesti menggunakan transistor di sini dan bukan sensor suhu.
Langkah 4: Kod Arduino
Di sini, bahagian kod yang paling penting dijelaskan. Kod tidak akan berfungsi hanya dengan apa yang diberikan di sini. Untuk mendapatkan kod kerja penuh, terdapat pautan di bahagian bawah halaman.
Semasa membuat kod termostat yang dapat diprogramkan, salah satu perkara pertama yang anda lakukan adalah memasang sensor dan membuat gelung untuk yang akan sentiasa mendapat bacaan suhu dari sensor suhu.
Menyiapkan Sensor Suhu dan LED:
tempPin = 'A0';% menentukan fungsi tanpa nama yang menukar voltan kepada suhu tempCfromVolts = @ (volt) (volt-0,5) * 100; persampelanDurasi = 5; % saat. Berapa lama kita mahu membuat sampel untuk persampelanInterval = 1; % Berapa saat antara bacaan suhu% mengatur vektor masa persampelan samplingTimes = 0: samplingInterval: samplingDuration; % mengira bilangan sampel berdasarkan tempoh dan selang bilanganSamples = panjang (samplingTimes); % pra-peruntukkan pemboleh ubah temp dan pemboleh ubah untuk bilangan bacaan ia akan menyimpan tempC = nol (numSamples, 1); tempF = tempC; % Kami akan menggunakan loop untuk kali ini untuk mengambil bilangan bacaan suhu% yang telah ditentukan
Gelung untuk:
untuk indeks = 1: numSamples% membaca voltan pada tempPin dan simpan dalam volt voltan berubah = readVoltage (a, tempPin); tempC (index) = -1 * tempCfromVolts (volt + 0.3); tempF (index) = tempC (index) * (9/5) +32; % Output berformat paparan yang menyampaikan suhu semasa membaca fprintf ('Suhu pada% d saat adalah% 5.2f C atau% 5.2f F. / n',… samplingTimes (index), tempC (index), tempF (index)); % perhatikan bahawa output paparan ini hanya akan dapat dilihat sekaligus setelah kod% selesai dijalankan melainkan anda menyalin / menampal kod tersebut ke mfile skrip biasa. jeda (samplingInterval)% kelewatan sehingga akhir sampel seterusnya
Seterusnya, kami membuat menu pengguna untuk pengguna memutuskan sama ada meletakkan termostat dalam mod Manual atau automatik. Kami juga membuat kod ralat jika pengguna tidak memilih salah satu dari dua pilihan tersebut.
Menu mod Manual menghendaki pengguna menetapkan nombor untuk suhu termostat, maka ia akan memanaskan rumah, menyejukkan rumah, atau menganggur berdasarkan bacaan. Untuk menyiapkan bahagian kod ini, anda menggunakan bacaan suhu dari sensor suhu dan membuat kod yang akan menyejukkan kediaman apabila bacaan suhu lebih tinggi daripada suhu yang ditetapkan, dan memanaskan rumah apabila bacaan suhu lebih rendah daripada suhu yang ditetapkan.
Setelah anda membaca suhu, anda boleh membuat kod yang akan memberitahu termostat untuk menyejukkan rumah apabila bacaan suhu lebih tinggi daripada suhu yang ditetapkan, dan memanaskan rumah apabila bacaan suhu lebih rendah daripada suhu yang ditetapkan. Untuk prototaip, cahaya biru menyala ketika termostat harus sejuk dan lampu merah menyala ketika termostat harus panas.
Penyediaan Menu:
pilihan = {'Automatik', 'Manual'}; imode = menu ('Mode', pilihan) jika imode> 0 h = msgbox (['Anda memilih' pilihan {imode}]); lain h = warndlg ('Anda menutup menu tanpa membuat pilihan') akhir menunggu (h);
Mod Manual menghendaki pengguna memasukkan suhu untuk termostat, kemudian berdasarkan pembacaan dari sensor suhu, ia akan memulakan penyejukan rumah pemanasan rumah. Sekiranya bacaan sensor suhu lebih tinggi daripada suhu yang ditetapkan, ia akan mula menyejukkan rumah. Sekiranya bacaan sensor suhu lebih rendah daripada suhu yang ditetapkan, ia akan memanaskan rumah.
Mod Manual akan bermula:
if imode == 2 dlg_prompts = {'Suhu berapa yang anda mahu?'}; dlg_title = 'Suhu'; dlg_defaults = {'68'}; opts. Resize = 'on'; dlg_ans = inputdlg (dlg_prompts, dlg_title, 1, dlg_defaults, opts); if isempty (dlg_ans) h = warndlg ('Anda membatalkan arahan inputdlg'); else temp_manual = str2double (dlg_ans {1})% [Tambah slaid Pengaturan Peraturan Suhu di bawah] akhir
Di dalam pernyataan if untuk mod manual, anda perlu menulis antara muka menu untuk pengguna memilih suhu rumah yang diinginkan, dan kemudian menerapkan pernyataan sementara yang akan mengatur suhu rumah.
Penyediaan Peraturan Suhu:
sementara temp_manual <tempF writeDigitalPin (a, 'D9', 1) writeDigitalPin (a, 'D11', 1); tamat sementara temp_manual> tempF writeDigitalPin (a, 'D8', 1) writeDigitalPin (a, 'D11', 1); akhir
Mod Automatik memerlukan lebih banyak input daripada mod manual. Setelah memasuki mod Automatik, pengguna akan menetapkan suhu Normal dan Jauh untuk termostat mereka. Setelah memilihnya, berdasarkan mod mana termostat berada, ia akan kembali ke mod peraturan suhu
Sediakan mod Automatik:
elseif imode == 1 dlg_prompts = {'Normal', 'Away'}; dlg_title = 'Tetapan Suhu'; dlg_defaults = {'68', '64'}; opts. Resize = 'on'; dlg_ans = inputdlg (dlg_prompts, dlg_title, 1, dlg_defaults, opts); if isempty (dlg_ans) h = warndlg ('Anda membatalkan arahan inputdlg'); lain temp_normal = str2double (dlg_ans {1}) temp_away = str2double (dlg_ans {2}) akhir menunggu (h); % [Tambah Pengesan Gerak Langkah di bawah]
Kita juga perlu mengatur sensor gerakan untuk tetapan mod Automatik. Apabila pengesan gerakan mengambil gerakan, ia akan mengekalkan suhu pada tetapan suhu sekarang, jika tidak, ia akan ditetapkan ke tetapan suhu jauh.
Run_Motion_Detector (a, inf) sambil lightStr == 0 temp = temp_away sementara temp tempF writeDigitalPin (a, 'D6', 1) apa sahaja lampu merah pin juga terdapat pada motor untuk menulis peminatDigitalPin (a, 'D9', 1); hujung hujung semasa cahayaStr == 1 temp = temp_normal writeDigitalPin (a, 'D6', 1)% berubah ke pin apa pun cahaya biasa berada semasa temp tempF tulisDigitalPin (a, 'D6', 1) apa pun pin merah lampu ada juga motor untuk kipas tulisDigitalPin (a, 'D9', 1); hujung akhir
Kod lengkap boleh didapati di sini.
Disyorkan:
Lampu LED Meja Pintar - Pencahayaan Pintar W / Arduino - Ruang Kerja Neopixels: 10 Langkah (dengan Gambar)
Lampu LED Meja Pintar | Pencahayaan Pintar W / Arduino | Ruang Kerja Neopixels: Sekarang beberapa hari kita menghabiskan banyak masa di rumah, belajar dan bekerja secara maya, jadi mengapa tidak menjadikan ruang kerja kita lebih besar dengan sistem lampu khas Arduino dan Ws2812b berdasarkan LED. Di sini saya tunjukkan kepada anda bagaimana membina Smart anda Lampu LED Meja yang
Tambahkan Monitor Penggunaan ke Termostat Rumah: 4 Langkah
Tambahkan Monitor Penggunaan ke Termostat Rumah: Dahulu, lama sebelum ada perkara seperti " pintar " termostat, saya mempunyai termostat rumah yang memberikan jumlah " tepat pada masanya) setiap hari " tepat pada masanya " untuk sistem pemanasan dan penyaman udara saya. Perkara-perkara berubah … Las
Cara Membuat Rumah Pintar Menggunakan Modul Arduino Control Relay - Idea Automasi Rumah: 15 Langkah (dengan Gambar)
Cara Membuat Rumah Pintar Menggunakan Modul Arduino Control Relay | Idea Automasi Rumah: Dalam projek automasi rumah ini, kami akan merancang modul relai rumah pintar yang dapat mengawal 5 peralatan rumah. Modul relay ini dapat dikendalikan dari telefon bimbit atau telefon pintar, jauh IR atau TV jauh, suis manual. Relay pintar ini juga dapat merasakan
Termostat Pintar ESP8266: 6 Langkah (dengan Gambar)
Smart Thermostat ESP8266: Artikel Bienvenue sur ce nouvel. Pada masa yang akan datang, tuangkan un projet que j'ai réalisé awet tout ce temps libre que m'a offert le confinement. Ce projet m'a été propose par mon père, en effet il vient de déménager dans une vieille maison et
HestiaPi Touch - Buka Termostat Pintar: 9 Langkah (dengan Gambar)
HestiaPi Touch - Open Thermostat Pintar: Mengenai HestiaPi TouchHestiaPi Touch adalah termostat pintar sumber terbuka sepenuhnya untuk kediaman anda. Semua fail dan maklumat digital terdapat di bawah dan laman web utama kami. Dengan itu, anda dapat memantau suhu, kelembapan relatif, dan atmosfera rumah anda