Membuat Jam Digital Dengan Arduino Uno, RTC DS1302, dan LCD i2C!

Daftar Isi

Baik, kali ini kita akan membuat Alat Pengatur Suhu dan Kelembaban Otomatis menggunakan Arduino, sensor DHT11, LCD 16x2, dan relay.

Tapi ada baiknya jika kamu membaca postingan sebelumnya mengenai Sensor Kelembaban dan Suhu DHT11.

Alat pengatur suhu otomatis ini bisa difungsikan untuk berbagai macam kebutuhan. Kamu bisa menggunakannya untuk membuat penetas telur ayam otomatis, penghangat ruangan otomatis, pengatur suhu dan kelembaban untuk green house, dan berbagai kebutuhan lainnya yang berhubungan dengan suhu dan kelembaban.

Daftar Isi

Cara Kerja Alat Pengatur Suhu Otomatis

Inti dari alat ini adalah membaca suhu dan kelembaban dalam ruangan, kemudian menampilkan datanya ke LCD.

Setelah mendapatkan nilai suhu dan kelembaban, Arduino dapat menentukan kondisi tertentu untuk menyalakan atau mematikan relay.

Misalnya, ketika suhu lebih dari 30 derajat Celsius, kita bisa menyalakan relay. Relay ini dapat digunakan sebagai saklar otomatis untuk menyalakan lampu pijar, kipas, AC, atau perangkat elektronik lainnya.

Perangkat yang dikendalikan relay akan menyala sampai kondisi suhu atau kelembaban kembali sesuai dengan batas yang sudah kita tentukan.

Jadi secara sederhana cara kerja alat ini adalah:

  1. Sensor DHT11 membaca suhu dan kelembaban.
  2. Arduino menerima data dari sensor.
  3. Data suhu dan kelembaban ditampilkan pada LCD.
  4. Arduino membandingkan data dengan kondisi yang sudah ditentukan.
  5. Relay dinyalakan atau dimatikan sesuai kondisi tersebut.

Komponen yang Dibutuhkan

Ok! Sekarang kita langsung saja. Sebelumnya, pastikan kamu sudah menyiapkan:

  • 1x Arduino
  • 1x LCD ukuran 16x2
  • 1x Sensor Suhu DHT11 atau DHT22 / DHT21 (AM2301)
  • 1x Breadboard
  • 1x Potensiometer
  • 1x Relay 1 Channel
  • 1x Resistor 220 Ohm
  • Beberapa kabel jumper

Rangkaian Arduino, DHT11, LCD dan Relay

Jika semua komponen sudah siap, silakan pasang seperti gambar di bawah ini.

Untuk koneksi LCD yang digunakan pada program ini adalah sebagai berikut:

  • RS → pin 12 Arduino
  • EN → pin 11 Arduino
  • D4 → pin 5 Arduino
  • D5 → pin 4 Arduino
  • D6 → pin 3 Arduino
  • D7 → pin 2 Arduino

Sensor DHT terhubung ke pin 8 Arduino, sedangkan relay menggunakan pin 9.

Program Arduino

Jika sudah dirangkai, di bawah ini programnya. Silakan disalin atau diketik ulang.

Penjelasan Program

Pada bagian awal program kita memasukkan library yang dibutuhkan, yaitu library DHT untuk membaca sensor suhu dan kelembaban serta library LiquidCrystal untuk mengontrol LCD 16x2.

Kemudian kita menentukan pin sensor DHT dan jenis sensor yang digunakan.

Pada contoh ini kita menggunakan DHT11. Jika menggunakan DHT22 atau DHT21, bagian DHTTYPE tinggal disesuaikan.

Selanjutnya kita menentukan pin LCD:

Untuk relay kita menggunakan pin 9 Arduino.

Pada fungsi loop(), Arduino membaca nilai kelembaban dan suhu dari sensor DHT.

Nilai tersebut kemudian ditampilkan pada LCD.

Bagian berikutnya digunakan untuk menentukan kapan relay harus aktif.

Artinya, jika kelembaban lebih dari 80.10%, relay akan aktif. Jika kelembaban tidak melebihi batas tersebut tetapi suhu lebih dari 30.10°C, relay juga akan aktif.

Jika kedua kondisi tersebut tidak terpenuhi, relay akan dimatikan.

Nilai batas tersebut tentu saja bisa kamu ubah sesuai kebutuhan. Misalnya jika ingin relay aktif ketika suhu lebih dari 28°C, tinggal ubah nilai 30.10 menjadi 28.

Pengujian Alat

Jika program sudah selesai, klik Upload pada Arduino IDE dan tunggu sampai proses upload selesai.

Setelah muncul tulisan Done Uploading, buka Serial Monitor dengan baud rate 9600.

Arduino akan menampilkan nilai suhu dan kelembaban yang dibaca oleh sensor DHT. Nilai yang sama juga akan ditampilkan pada LCD 16x2.

Coba berikan panas atau dekatkan tangan ke sensor DHT. Nilai suhu akan berubah dan Arduino akan menentukan apakah relay perlu diaktifkan atau tidak berdasarkan kondisi yang sudah dibuat dalam program.

Kalau kamu penasaran hasil jadinya, silakan lihat video di bawah ini:

Pengembangan Alat

Kalau sudah berhasil membuat alat ini, kamu bisa mengembangkannya menjadi berbagai macam sistem otomatis.

Misalnya:

  • Penetas telur ayam otomatis.
  • Penghangat ruangan otomatis.
  • Kipas otomatis berdasarkan suhu.
  • Pengatur suhu dan kelembaban greenhouse.
  • Sistem kontrol AC otomatis.
  • Monitoring suhu dan kelembaban berbasis IoT.

Jadi sebenarnya konsepnya sederhana. Sensor DHT membaca kondisi lingkungan, Arduino mengolah datanya, LCD menampilkan informasi, dan relay digunakan untuk mengendalikan perangkat.

Selamat mencoba!

23 komentar

Unknown
20 November 2016 pukul 08.51 Hapus
Kl pakai panel p10 gmn gan?
Ajang Rahmat
22 November 2016 pukul 16.30 Hapus
Tinggal ganti aja OUTPUTnya ke P10 bro...
Unknown
1 Februari 2017 pukul 14.49 Hapus
output nya maksudnya itu tinggal ganti lcd 16x2 dengan panel P10 gitu t ?
Unknown
24 November 2016 pukul 19.49 Hapus
Itu module RTC nya pke seri yg lain bsa ga ?
Ajang Rahmat
5 Desember 2016 pukul 10.38 Hapus
Beda Library broo kalo beda RTC, nanti buat tipe yang lain akan di update di postingan selanjutnya...
Unknown
14 Desember 2016 pukul 15.36 Hapus
video kurang detail gal
Ajang Rahmat
19 Januari 2017 pukul 18.18 Hapus
video hanya menampilkan demo broo, tutorialnya dipostingan ini...
Unknown
10 Januari 2017 pukul 18.07 Hapus
gan cara setting jam nya d mna?
Ajang Rahmat
19 Januari 2017 pukul 18.18 Hapus
myRTC.setDS1302Time(00, 20, 06, 6, 03, 11, 2016);

program diatas gan...
Unknown
15 Juni 2017 pukul 15.04 Hapus
maksudnya (00, 20, 06, 6, 03, 11, 2016) itu apa yah
Teknik
29 Januari 2017 pukul 22.59 Hapus
harinya di buat Senin, selasa, dst.
kalau arduino di power off, kok waktunya reset ya?
Ajang Rahmat
1 Februari 2017 pukul 13.18 Hapus
bisa tinggal buat variabel aja...

kalo sudah di set program ininya myRTC.setDS1302Time(00, 20, 06, 6, 03, 11, 2016); di hiden pake // atau dihapus aja, terus upload lagi, kalo gak pas di reset balik lagi nyeting...
hendi
24 Februari 2017 pukul 21.32 Hapus
Klo jamnya sinkron dengan server, ada tutorialnya?
Ajang Rahmat
30 Maret 2017 pukul 02.41 Hapus
Untuk menghubungkannya bisa menggunakan modul ESP8266 WIFI atau Ethernet Shield.
Unknown
25 April 2017 pukul 12.00 Hapus
Gan, gimana caranya untuk mengatur waktu On/Off relay sesuai jadwal yang sudah kita tentukan?

Saya menggunakan Arduino Uno R3 + Relay 4 Channel dan RTC DS1302, saya ingin mengontrol Relay secara otomatis berdasarkan waktu yang sudah diatur.
Pin ang saya gunakan adalah, 2,3,4,5.

Mohon bantuannya gan.
Unknown
4 Mei 2017 pukul 14.29 Hapus
gan, cara ngatasi waktu yang tidak sesuai dengan yang di atur Gimana Gan?

soalnya udah beberapa kali cabut beterai ni, teteap juga tidak bisa.
Unknown
27 Mei 2017 pukul 12.13 Hapus
Mas maksudnya ouput di ganti dengan p10 program nya ada yg di rubah lagi tidak ?
Ajang Rahmat
1 November 2017 pukul 12.02 Hapus
program LCDnya yang diubah menjadi program p10
controld
13 Juni 2017 pukul 21.39 Hapus
Mau tanya kalo cctv gimana?
Ajang Rahmat
1 November 2017 pukul 12.04 Hapus
CCTV pake modul kamera gan
Unknown
15 Juni 2017 pukul 15.02 Hapus
gan jam saya ngaco tidak sama, kalau mau jamnya kita setting apa yang kita mau gmn yah???
Ajang Rahmat
1 November 2017 pukul 12.01 Hapus
Atur pada bagian //myRTC.setDS1302Time(00, 20, 06, 6, 03, 11, 2016);
Unknown
26 November 2017 pukul 13.30 Hapus
Gi mana mau synkron kan masa dgn waktu yg tepat?