Pendahuluan
Dalam tutorial ini, kita akan membahas cara membuat kipas angin otomatis menggunakan Arduino, sensor DHT11, LCD, dan driver module MOSFET. Proyek ini akan memungkinkan kipas angin beroperasi secara otomatis berdasarkan suhu yang terdeteksi oleh sensor DHT11. Jika suhu melebihi 30°C, kipas akan menyala, dan jika suhu di bawah 30°C, kipas akan mati. Selain itu, suhu akan ditampilkan pada LCD. Dengan adanya proyek ini, kita dapat menciptakan solusi sederhana untuk menjaga suhu ruangan sesuai dengan keinginan.
Komponen Yang Digunakan
Berikut adalah daftar komponen yang digunakan dalam proyek ini beserta link pembelian di Golite Store:
- Arduino UNO – Beli Disini
- Sensor DHT11 – Beli Disini
- Motor Kipas Angin – Beli Disini
- Driver Module MOSFET – Beli Disini
- LCD 16×2 – Beli Disini
- Potensiometer – Beli Disini
- Breadboard – Beli Disini
- Kabel Jumper – Beli Disini
- Power Adaptor 12V – Beli Disini
Skema Sistem
Konfigurasi Pinout
- Microcontroller (Arduino UNO) -> Sensor DHT11
- VIN -> VCC
- GND -> GND
- D2 -> SIG
- Microcontroller (Arduino UNO) -> Driver Module MOSFET
- D12 -> Signal
- GND -> GND
- Microcontroller (Arduino UNO) -> LCD 16×2
- GND -> VSS
- 5V -> VDD
- D7 -> RS
- GND -> RW
- D6 -> EN
- D8 -> D4
- D9 -> D5
- D10 -> D6
- D11 -> D7
- Potensiometer Pin Kiri -> VCC
- Potensiometer Pin Tengah -> LCD VO (Contrast Adjustment)
- Potensiometer Pin Kanan -> GND
Penjelasan Skema Sistem
Skema di atas menunjukkan bagaimana Arduino terhubung dengan sensor DHT11, LCD 16×2, dan driver module MOSFET. Koneksi ke LCD dan MOSFET mencakup pengaturan pin secara rinci.
Program Arduino
#include <DHT.h> #include <LiquidCrystal.h> #define DHTPIN 2 // Pin D13 sebagai koneksi ke sensor DHT11 #define DHTTYPE DHT11 // Tipe sensor DHT yang digunakan #define FAN_PIN 12 // Pin D9 sebagai koneksi ke driver module MOSFET DHT dht(DHTPIN, DHTTYPE); LiquidCrystal lcd(7, 6, 8, 9, 10, 11); // RS, EN, D4, D5, D6, D7 void setup() { Serial.begin(115200); dht.begin(); lcd.begin(16, 2); pinMode(FAN_PIN, OUTPUT); lcd.setCursor(0, 0); Serial.println("\nProgram ready to use"); } void loop() { float suhu = dht.readTemperature(); if (!isnan(suhu)) { lcd.clear(); lcd.setCursor(0, 0); lcd.print("Suhu: "); lcd.print(suhu); lcd.print((char)223); lcd.print("C"); Serial.print("Suhu : "); Serial.println(suhu); if (suhu > 30) { digitalWrite(FAN_PIN, HIGH); // Kipas menyala jika suhu di atas 30°C lcd.setCursor(0,1); lcd.print("Kipas Menyala "); } else { digitalWrite(FAN_PIN, LOW); // Kipas mati jika suhu di bawah atau sama dengan 30°C lcd.setCursor(0,1); lcd.print("Kipas Mati "); } }else{ delay(1000); lcd.clear(); lcd.setCursor(0,0); lcd.print("CEK DHT11"); } delay(100); }
Penjelasan Program:
- Library dan Objek LCD:
- Menggunakan library DHT.h dan LiquidCrystal.h untuk mengakses sensor DHT11 dan mengendalikan LCD 16×2.
- Objek dht dari tipe DHT dan objek lcd dari tipe LiquidCrystal digunakan untuk berinteraksi dengan sensor dan LCD .
- Variabel Global:
- DHTPIN dan DHTTYPE menentukan pin koneksi sensor DHT11 dan tipe sensor.
- FAN_PIN digunakan untuk mengontrol kipas.
- Variabel suhu menyimpan nilai suhu dari sensor.
- Setup Function:
- Inisialisasi komunikasi serial, sensor DHT11, LCD 16×2, dan pin untuk kipas.
- Menampilkan keterangan “Program Ready To Use” jika semua proses inisialisasi sudah selesai
- Loop Function:
- Membaca suhu dari sensor DHT11 setiap 2 detik.
- Menampilkan suhu pada LCD.
- Mengontrol kipas berdasarkan suhu: menyala jika suhu > 30°C, mati jika suhu <= 30°C.
- Menampilkan keterangan “Kipas Menyala” atau “Kipas Mati” pada LCD sesuai dengan parameter yang telah ditentukan
- Menampilakan keterangan “CEK DHT11” Jika dht tidak terdeteksi oleh Arduino.
Pengujian
Pengujian pertama, kita menggunakan serial monitor, data suhu telah tampil
Pengujian kedua, langsung pada hardware, suhu dan keterangan sudah tampil saat suhu dibawah 30 derajat kemudian kipas tidak menyala
Pengujian ketiga, langsung pada hardware, suhu dan keterangan tampil dengan baik di LCD kemudian kipas sudah berhasil menyala
Pengujian keempat, untuk mengatur tingkat penampilan karakter pada LCD dapat menggunakan Potensiometer 10k ohm, putar berlawanan arah jarum jam untuk meredupkan tulisan dan putar searah jarum jam untuk mempertajam tulisan.
Kesimpulan
Dengan menyelesaikan proyek ini, kita telah berhasil membuat kipas angin otomatis menggunakan Arduino, sensor DHT11, dan LCD. Proyek ini dapat diupdate untuk menjadi lebih kompleks, misalnya dengan menambahkan kontrol kelembaban atau integrasi dengan aplikasi berbasis IoT. Kesimpulannya, proyek ini memberikan solusi otomatis yang sederhana namun efektif untuk mengatur suhu ruangan, sambil menampilkan suhu pada LCD.
Mas ini saya sudah dicolok semua, tapi ketika saya upload ada yang erorr dengan codingan nya mas, di bagian file dsht11 nya. mohon bantuan nya mas🙏
Mungkin librarynya belum terinstall
mas ini saya sudah mengikuti langkah2 dari yang dipaparkan….tapi pas dicodingan kok masi eror ya….untuk library sudah diinstall
bisa di cek dulu kak untuk keterangan erornya seperti apa
Erornya pada
1/ DHT dht(DHTPIN, DHTTYPE);
2/ dht.begin();
3/ dht.readTemperature();
4/ }else{
//Yang terakhir sebelum delay(1000)
ini librarynya belum ke install kak
Maaf mas cara install library nya bagaimana ya?
bisa menggunakan library manager di arduino ide nya kak
kalau boleh mas …..bisa dishare diagram scematiknya klw ada….
itu sudah ada kak di artikelnya bisa kaka download saja
mas punya ku udah bisa codingannya dan udh timbul suhunya diserial monitor…tapi lcd dan kipas blom nyala…..apa kira2 penyebabnya mas….mohon pencerahannya mas……
coding berhasil dan komponen lengkap, tetapi kenapa layar di lcd ga muncul ya?
[…] Baca juga Membuat Kipas Angin Otomatis Menggunakan Arduino UNO, Mofet Dan Sensor DHT11 […]