Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-13 06:57
Produk kami memungkinkan individu untuk memeriksa efisiensi sistem pemanas dan pendingin udara di rumah mereka dengan mengukur suhu freon yang masuk dan keluar dengan proses yang sederhana dan realistis. Perangkat pintar ini akan mendorong orang untuk membuat keputusan yang lebih hemat energi dengan sistem pemanas dan pendingin mereka.
Langkah 1: Bagian yang Diperlukan
-Arduino Uno
- Papan tempat memotong roti (4)
- Termistor (2)
- Resistor 10K (2)
- Tekan tombol
- Piezo Buzzer
- Layar LCD
- Potensiometer
- Kabel (25)
- Konektor Micro USB atau USB
Langkah 2: Kawat Breadboard untuk Sensor Suhu
Termistor TMP adalah jenis sensor suhu yang mengukur tegangan melintasi sensor saat suhu lingkungan berubah. Sensor khusus ini memiliki tiga pin - positif, ground, dan sinyal. Sensor ini adalah sensor linier, dan perubahan suhu satu derajat Celcius setara dengan perubahan 10 milivolt pada output sensor.
Prosedur:
1) Hubungkan sensor suhu Anda seperti yang ditunjukkan pada gambar di atas. Kabel tengah akan terhubung ke A0.
2) Hubungkan sensor suhu kedua Anda dengan cara yang mirip dengan yang pertama, dan kabel tengah akan terhubung ke A1.
Langkah 3: Piezo Buzzer
Buzzer Piezo adalah perangkat yang digunakan untuk memperingatkan pengguna ketika ventilasi pemanas dan sistem pendingin udara mereka tidak beroperasi secara efisien. Alarm yang dapat didengar memberi tahu pengguna bahwa ada masalah.
Prosedur:
1) Hubungkan bel ke papan seperti yang ditunjukkan pada gambar di atas.
Langkah 4: Tambahkan Tombol
- Tombol tekan adalah komponen yang menghubungkan dua titik dalam suatu rangkaian saat Anda menekannya.
- Dalam produk kami, tombol berputar antara menampilkan suhu dan efisiensi dari data yang dikumpulkan oleh sensor suhu.
Prosedur
1) Hubungkan tombol seperti yang ditunjukkan pada gambar di atas.
Langkah 5: Hubungkan LCD ke Papan Tempat Memotong Roti Terpisah & ke Daya
LCD, layar kristal cair, adalah layar sederhana yang dapat memberi tahu pengguna jika ada yang salah dengan sistem pemanas, ventilasi, dan pendingin udara di rumah mereka. Mantan. tidak berjalan secara efisien, kegagalan sistem
Diagram yang disediakan akan membantu Anda menghubungkan layar ke papan dengan benar.
Langkah 6: Kode
a = arduino('com3', 'uno', 'libraries', 'ContohLCD/LCDAddon'); % membuat objek arduino yang menentukan perpustakaan ExampleLCD/LCDAddon.
lcd = addon(a, 'ContohLCD/LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2'}); % membuat objek LCD, dan menentukan pin yang dikonfigurasi pada perangkat Arduino.
initializeLCD(lcd, 'Baris', 2, 'Kolom', 16); % menginisialisasi layar lcd
setpref('Internet', 'SMTP_Server', 'smtp.gmail.com');
setpref('Internet', 'E_mail', '[email protected]'); % akun email untuk dikirim dari
setpref('Internet', 'SMTP_Username', 'bwnanney'); % nama pengguna pengirim
setpref('Internet', 'SMTP_Password', 'Morill1204'); % kata sandi pengirim
props = java.lang. System.getProperties;
props.setProperty('mail.smtp.auth', 'benar');
props.setProperty('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory');
props.setProperty('mail.smtp.socketFactory.port', '465');
b=readDigitalPin(a, 'D9'); % membaca pin digital (sensor digital)
membaca= readVoltage(a, 'A0'); % membaca tegangan pada termister analog yang terhubung ke pin A0
read2= readVoltage(a, 'A2'); % membaca tegangan pada termister analog yang terhubung ke pin A2
sementara true % mengulang pernyataan yang ada selama benar
b=readDigitalPin(a, 'D9'); % membaca pin digital (sensor digital)
membaca= readVoltage(a, 'A0'); % membaca tegangan pada termister analog yang terhubung ke pin A0
if reading>= 0,6 && reading< 0,68 % secara kondisional mengeksekusi satu set pernyataan (blok).
clearLCD(lcd) % membersihkan layar lcd
printLCD(lcd, 'Suhu 64 F'); % Mencetak string ke LCD.
jeda(0.5)% jeda sebelum menjalankan perintah berikutnya
elseif reading>= 0.68 && reading<0.69% secara kondisional mengeksekusi satu set pernyataan (blok).
clearLCD(lcd) % membersihkan layar lcd
printLCD(lcd, 'Suhu 66 F'); % Mencetak string ke LCD.
jeda(0.5)% jeda sebelum menjalankan perintah berikutnya
elseif reading>= 0.69 && reading<0.7 % secara kondisional mengeksekusi satu set pernyataan (blok).
clearLCD(lcd) % membersihkan layar lcd
printLCD(lcd, 'Suhu 68 F'); % Mencetak string ke LCD.
jeda(0.5)% jeda sebelum menjalankan perintah berikutnya
elseif reading>=0,7 && reading<0,71 % secara kondisional mengeksekusi satu set pernyataan (blok).
clearLCD(lcd) % membersihkan layar lcd
printLCD(lcd, 'Suhu 70 F'); % Mencetak string ke LCD.
jeda(0.5)% jeda sebelum menjalankan perintah berikutnya
elseif reading>=0,71 && reading<0,72 % secara kondisional mengeksekusi satu set pernyataan (blok).
clearLCD(lcd) % membersihkan layar lcd
printLCD(lcd, 'Suhu 72 F'); % Mencetak string ke LCD.
jeda(0.5)% jeda sebelum menjalankan perintah berikutnya
elseif reading>=0,72 && reading<0,73 % secara kondisional mengeksekusi satu set pernyataan (blok).
clearLCD(lcd) % membersihkan layar lcd
printLCD(lcd, 'Suhu 74 F'); % Mencetak string ke LCD.
jeda(0.5)% jeda sebelum menjalankan perintah berikutnya
elseif reading>= 0,73 && reading<0,74 % secara kondisional mengeksekusi satu set pernyataan (blok).
clearLCD(lcd) % membersihkan layar lcd
printLCD(lcd, 'Suhu 76 F'); % Mencetak string ke LCD.
jeda(0.5)% jeda sebelum menjalankan perintah berikutnya
elseif reading>= 0.74 && reading<0.75% secara kondisional mengeksekusi satu set pernyataan (blok).
clearLCD(lcd) % membersihkan layar lcd
printLCD(lcd, 'Suhu 78 F'); % Mencetak string ke LCD.
jeda(0.5)% jeda sebelum menjalankan perintah berikutnya
elseif reading>= 0.75 && reading<0.76 % secara kondisional mengeksekusi satu set pernyataan (blok).
clearLCD(lcd) % membersihkan layar lcd
printLCD(lcd, 'Suhu 80F'); % Mencetak string ke LCD.
jeda(0.5)% jeda sebelum menjalankan perintah berikutnya
elseif reading>= 0.76 && reading<0.77 % secara kondisional mengeksekusi satu set pernyataan (blok).
clearLCD(lcd) % membersihkan layar lcd
printLCD(lcd, 'Suhu 82 F'); % Mencetak string ke LCD.
jeda(0.5)% jeda sebelum menjalankan perintah berikutnya
elseif reading>= 0.77 && reading<0.8 % secara kondisional mengeksekusi satu set pernyataan (blok).
clearLCD(lcd) % membersihkan layar lcd
printLCD(lcd, 'Suhu 84 F'); % Mencetak string ke LCD.
jeda(0.5)% jeda sebelum menjalankan perintah berikutnya
playTone(a, 'D10', 880, 0.25) % memainkan not(a, pin, frekuensi, durasi)
jeda (0,3) % jeda setelah nada untuk durasi yang disetel
playTone(a, 'D10', 880, 0.25) % memainkan not(a, pin, frekuensi, durasi)
jeda (0,3) % jeda setelah nada untuk durasi yang disetel
playTone(a, 'D10', 880, 0.25) % memainkan not(a, pin, frekuensi, durasi)
jeda (0,3) % jeda setelah nada untuk durasi yang disetel
playTone(a, 'D10', 880, 0.25) % memainkan not(a, pin, frekuensi, durasi)
jeda (0,3) % jeda setelah nada untuk durasi yang disetel
playTone(a, 'D10', 987, 0.25) % memainkan not(a, pin, frekuensi, durasi)
jeda (0,3) % jeda setelah nada untuk durasi yang disetel
playTone(a, 'D10', 987, 0.25) % memainkan not(a, pin, frekuensi, durasi)
jeda (0,3) % jeda setelah nada untuk durasi yang disetel
playTone(a, 'D10', 880, 0.12) % memainkan nada(a, pin, frekuensi, durasi)
jeda(0.1)% jeda setelah nada untuk durasi yang disetel
playTone(a, 'D10', 740, 0.12) % memainkan not(a, pin, frekuensi, durasi)
jeda(0.1)% jeda setelah nada untuk durasi yang disetel
playTone(a, 'D10', 587, 0.25) % memainkan not(a, pin, frekuensi, durasi)
jeda (0.3)
sendmail('[email protected]', 'Unit Pemanas dan Pendingin Perlu Diservis!!!', …
'Sistem pemanas dan pendingin beroperasi secara tidak efisien. Mohon teknisi memperbaiki unit sesegera mungkin.') % Mengirim email ke akun email yang ditentukan
elseif reading>= 0.8 && reading<0.85% secara kondisional mengeksekusi satu set pernyataan (blok).
clearLCD(lcd) % membersihkan layar lcd
printLCD(lcd, 'Suhu 86 F'); % Mencetak string ke LCD.
jeda(0.5)% jeda sebelum menjalankan perintah berikutnya
elseif reading>= 0.85 && reading<2 % secara kondisional mengeksekusi satu set pernyataan (blok).
clearLCD(lcd) % membersihkan layar lcd
printLCD(lcd, 'BAYI PANAS!!!'); % Mencetak string ke LCD.
jeda(0.5)% jeda sebelum menjalankan perintah berikutnya
akhir % berakhir jika pernyataan
sementara b==0 % mengulang pernyataan yang ada selama false
b=readDigitalPin(a, 'D9'); % membaca pin digital (sensor digital)
read2= readVoltage(a, 'A2'); % membaca tegangan pada termister analog yang terhubung ke pin A2
if reading2>= 0,6 && reading2< 0,68 % secara kondisional mengeksekusi satu set pernyataan (blok).
clearLCD(lcd) % membersihkan layar lcd
printLCD(lcd, 'Efisiensi 80%'); % Mencetak string ke LCD.
jeda(0.5)% jeda sebelum menjalankan perintah berikutnya
elseif reading2>= 0.68 && reading2<0.69% secara kondisional mengeksekusi satu set pernyataan (blok).
clearLCD(lcd) % membersihkan layar lcd
printLCD(lcd, 'Efisiensi 90%'); % Mencetak string ke LCD.
jeda(0.5)% jeda sebelum menjalankan perintah berikutnya
elseif reading2>= 0.69 && reading2<0.7 % secara kondisional mengeksekusi satu set pernyataan (blok).
clearLCD(lcd) % membersihkan layar lcd
printLCD(lcd, 'Efisiensi 95%'); % Mencetak string ke LCD.
jeda(0.5)% jeda sebelum menjalankan perintah berikutnya
elseif reading2>=0,7 && reading2<0,71 % secara kondisional mengeksekusi satu set pernyataan (blok).
clearLCD(lcd) % membersihkan layar lcd
printLCD(lcd, 'Efisiensi 97%'); % Mencetak string ke LCD.
jeda(0.5)% jeda sebelum menjalankan perintah berikutnya
elseif reading2>=0,71 && reading2<0,72 % secara kondisional mengeksekusi satu set pernyataan (blok).
clearLCD(lcd) % membersihkan layar lcd
printLCD(lcd, 'Efisiensi 100%'); % Mencetak string ke LCD.
jeda(0.5)% jeda sebelum menjalankan perintah berikutnya
elseif reading2>=0,72 && reading2<0,73 % secara kondisional mengeksekusi satu set pernyataan (blok).
clearLCD(lcd) % membersihkan layar lcd
printLCD(lcd, 'Efisiensi 95%'); % Mencetak string ke LCD.
jeda(0.5)% jeda sebelum menjalankan perintah berikutnya
elseif reading2>= 0,73 && reading2<0,74 % secara kondisional mengeksekusi satu set pernyataan (blok).
clearLCD(lcd) % membersihkan layar lcd
printLCD(lcd, 'Efisiensi 90%'); % Mencetak string ke LCD.
jeda(0.5)% jeda sebelum menjalankan perintah berikutnya
elseif reading2>= 0.74 && reading2<0.75% secara kondisional mengeksekusi satu set pernyataan (blok).
clearLCD(lcd) % membersihkan layar lcd
printLCD(lcd, 'Efisiensi 85%'); % Mencetak string ke LCD.
jeda(0.5)% jeda sebelum menjalankan perintah berikutnya
elseif reading2>= 0.75 && reading2<0.76 % secara kondisional mengeksekusi satu set pernyataan (blok).
clearLCD(lcd) % membersihkan layar lcd
printLCD(lcd, 'Efisiensi 80%'); % Mencetak string ke LCD.
jeda(0.5)% jeda sebelum menjalankan perintah berikutnya
elseif reading2>= 0.76 && reading2<0.77 % secara kondisional mengeksekusi satu set pernyataan (blok).
clearLCD(lcd) % membersihkan layar lcd
printLCD(lcd, 'Efisiensi 75%'); % Mencetak string ke LCD.
jeda(0.5)% jeda sebelum menjalankan perintah berikutnya
elseif reading2>= 0.77 && reading2<0.8 % secara kondisional mengeksekusi satu set pernyataan (blok).
clearLCD(lcd) % membersihkan layar lcd
printLCD(lcd, 'Efisiensi 70%'); % Mencetak string ke LCD.
jeda(0.5)% jeda sebelum menjalankan perintah berikutnya
elseif reading2>= 0.8 && reading2<0.85% secara kondisional mengeksekusi satu set pernyataan (blok).
clearLCD(lcd) % membersihkan layar lcd
printLCD(lcd, 'Efisiensi 65%'); % Mencetak string ke LCD.
jeda(0.5)% jeda sebelum menjalankan perintah berikutnya
elseif reading2>= 0.85 && reading2<2 % secara kondisional mengeksekusi satu set pernyataan (blok).
clearLCD(lcd) % membersihkan layar lcd
printLCD(lcd, 'ON FIRE!!!'); % Mencetak string ke LCD.
jeda(0.5)% jeda sebelum menjalankan perintah berikutnya
akhir % akhir jika pernyataan
end % end while loop
end % end while loop
Langkah 7: Diagram
Ini adalah representasi dasar di mana sensor suhu akan ditempatkan pada saluran pembuangan dan uap untuk memantau suhu setiap saluran dan perbedaan di antara mereka.