● online
- ESP32 ESP-32 Wireless Module ESP32-S ESP-WROOM-32 ....
- LCD 16x2 / 1602 Display Arduino Raspberry LCD 16 x....
- Kabel Jumper 10cm Dupont Pelangi 10 cm Female to F....
- Push Button Tactile Switch Saklar Tombol Tinggi - ....
- Relay Module 1 Channel Modul Relay 5V 10A 1 Channe....
- LCD CHARACTER 16X2 1602 5V GREEN HIJAU BACKLIGHT M....
- Tilt Sensor SW-520D Module Modul Sensor Kemiringan....
- Kabel Jumper Dupont Pelangi 30 cm female to Female....
- Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
- Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
Bikin Kipas Angin Pintar Sendiri Pakai Arduino dan Algoritma PID Biar Ruangan Makin Adem
Halo Sobat Tech! Pernah nggak sih lo ngerasa gerah banget di kamar, tapi pas nyalain kipas angin biasa malah jadi kedinginan? Atau lebih parahnya lagi, kipas angin lo tipenya cuma “nyala-mati” (ON/OFF) yang bikin tagihan listrik melonjak gara-gara lonjakan arus (inrush current) tiap kali motor mulai muter? Belum lagi risiko komponen mekanis cepat aus karena motor dipaksa kerja mendadak secara kasar.
Nah, daripada galau sama suhu ruangan yang nggak stabil, mending kita bikin solusi yang lebih smart. Di artikel ini, kita bakal bahas cara bikin kontrol kecepatan kipas angin yang halus banget pakai Arduino dan algoritma PID Arduino Kipas Angin. Sistem ini bakal bikin putaran kipas menyesuaikan suhu secara otomatis dan presisi. Jadi, nggak ada lagi drama suhu ruangan yang naik-turun nggak jelas!
Kenapa Harus Pakai PID Bukan ON/OFF Biasa

Sistem pendingin konvensional biasanya pakai metode kontrol ON/OFF. Artinya, kalau suhu panas kipas langsung nyala pol, dan kalau sudah dingin kipas mati total. Cara ini sebenarnya sudah kuno banget dan punya banyak kelemahan, mulai dari suhu yang berosilasi (naik-turun drastis) sampai bikin motor cepat rusak.
Dengan beralih ke sistem closed loop (loop tertutup) berbasis PID diskrit, kita bisa mengatur kecepatan motor DC secara adaptif. Keuntungannya jelas:
- Efisiensi Energi: Kipas nggak selalu lari di kecepatan penuh kalau nggak butuh-butuh banget, jadi lebih hemat listrik.
- Suhu Stabil: Minim osilasi karena kecepatan kipas bakal melambat pelan-pelan saat mendekati suhu target.
- Motor Lebih Awet: Menjaga keawetan motor DC karena nggak ada perubahan kecepatan yang mendadak atau kasar.
Buat kamu yang juga hobi pelihara ikan dan pengen sistem otomatis yang mirip untuk menjaga suhu air, kamu bisa banget cek artikel tentang cara jaga kolam ikan tetap stabil pakai Arduino dan PID biar ikan makin happy.
Alat dan Bahan
Sebelum mulai ngerakit, pastiin semua komponen ini sudah siap di meja kerja lo ya.
| Komponen | Jumlah | Keterangan |
| Arduino Uno | 1 Unit | Otak utama yang memproses logika PID dan sinyal PWM. |
| Sensor DHT22 | 1 Unit | Sensor digital untuk baca suhu ruangan secara akurat sebagai feedback. |
| Driver L298N | 1 Unit | Modul H-bridge untuk mengatur daya dan kecepatan ke motor DC. |
| Motor DC / Kipas | 1 Unit | Aktuator yang kecepatannya bakal kita atur secara variabel. |
| Power Supply 12V | 1 Unit | Sumber tenaga eksternal untuk suplai driver motor dan kipas. |
Skematik Rangkaian

Cara menyambungkan kabelnya sebenarnya simpel, Sobat Tech. Yang penting lo teliti pas colok ke pin Arduino biar nggak ada short circuit.
Pertama, hubungkan Sensor DHT22 ke pin digital D2 Arduino sebagai input pembacaan suhu. Untuk bagian penggerak, kita pakai Driver L298N. Hubungkan pin ENA (Enable A) ke pin D9 (ini pin PWM), lalu pin IN1 ke D8 dan IN2 ke D7 untuk menentukan arah putaran motor agar kipas meniup ke arah yang benar.
Kipas angin atau motor DC tinggal lo pasang di terminal OUT1-OUT2 pada modul driver. Terakhir, satu hal yang krusial: jangan lupa hubungkan semua kabel ground secara bersamaan (common ground) antara Arduino, driver, dan power supply agar aliran sinyalnya stabil.
Rahasia di Balik Algoritma PID
Mungkin istilah PID terdengar berat ala mahasiswa teknik, tapi konsepnya sebenarnya cuma soal keseimbangan kok. PID itu singkatan dari Proportional, Integral, dan Derivative. Di proyek ini, kita pakai tiga parameter rahasia biar sistemnya mantap:
- Kp (80,0): Parameter ini tugasnya kasih respon cepat. Kalau suhu jauh di atas target, Kp bakal langsung “gas pol” kecepatan kipas.
- Ki (0,5): Tugasnya buat presisi. Ki bakal ngilangin selisih kecil atau kesalahan tunak (steady-state error) biar suhu ruangan bener-benar pas di angka yang kita mau tanpa ada sisa panas.
- Kd (5,0): Nah, ini bertindak sebagai damper atau peredam. Kd bakal ngerem putaran kipas pas suhu sudah mau nyampe target biar nggak kebablasan (overshoot).
Alur kerjanya: Sensor bakal baca suhu aktual, lalu Arduino hitung selisihnya (error) dari target suhu (setpoint) sebesar 23°C. Setelah itu, algoritma PID bakal kasih perintah kecepatan yang pas lewat sinyal PWM ke kipas.
Pemrograman Arduino
Ini dia bagian otaknya. Masukkan source code ini ke Arduino IDE lo. Perhatikan bagian fungsi constrain() yang membatasi nilai PWM di angka 0-255 (biar driver nggak bingung), serta penggunaan delta time (dt) supaya hitungan PID-nya tetap akurat meskipun waktu eksekusi programnya sedikit berubah.
#include <DHT.h>
// Konfigurasi DHT22
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
// Pin motor L298N
const int ENA = 9; // PWM
const int IN1 = 8;
const int IN2 = 7;
// Setpoint suhu
float setpoint = 23.0;
// Parameter PID
float Kp = 80.0;
float Ki = 0.5;
float Kd = 5.0;
// Variabel PID
float error = 0;
float lastError = 0;
float integral = 0;
float derivative = 0;
float outputPID = 0;
unsigned long lastTime = 0;
void setup() {
Serial.begin(9600);
dht.begin();
pinMode(ENA, OUTPUT);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
// Atur arah putaran motor
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
// Mulai dengan kipas mati
analogWrite(ENA, 0);
Serial.println("================================");
Serial.println("PID Smart Fan Control Ready");
Serial.println("Setpoint = 23.0 C");
Serial.println("================================");
}
void loop() {
// Baca suhu dari DHT22
float suhu = dht.readTemperature();
// Cek apakah sensor berhasil membaca suhu
if (isnan(suhu)) {
Serial.println("DHT22 ERROR: Sensor Tidak Terdeteksi");
delay(2000);
return;
}
// Hitung delta time
unsigned long now = millis();
float dt = (now - lastTime) / 1000.0;
if (dt <= 0) {
dt = 0.01;
}
lastTime = now;
// Hitung error
error = suhu - setpoint;
// Hitung integral
integral += error * dt;
// Hitung derivative
derivative = (error - lastError) / dt;
// Hitung output PID
outputPID =
(Kp * error) +
(Ki * integral) +
(Kd * derivative);
lastError = error;
// Batasi PWM antara 0 sampai 255
outputPID = constrain(outputPID, 0, 255);
// Kirim PWM ke driver L298N
analogWrite(ENA, (int)outputPID);
// Tampilkan data pada Serial Monitor
Serial.print("Suhu Saat Ini: ");
Serial.print(suhu);
Serial.println(" C");
Serial.print("Error: ");
Serial.println(error);
Serial.print("Output PWM: ");
Serial.println((int)outputPID);
Serial.println("--------------------------------");
// Sampling setiap 2 detik
delay(2000);
}
Analisis Hasil dan Pengujian

Setelah sistem jalan, lo bisa pantau lewat Serial Monitor gimana hubungan antara suhu dan kecepatan putar kipas (PWM). Berdasarkan data pengujian, hasilnya sangat sinkron:
- PWM 255 (Maksimum): Terjadi pas suhu jauh di atas target (misal 30°C), kondisi ini dianggap kritis jadi kipas “gas pol”.
- PWM 128 (Sedang): Muncul saat ada selisih suhu yang moderat, kipas berputar santai.
- PWM 50-100 (Lambat): Saat suhu sudah mendekati target 23°C, putaran mulai melambat halus.
- PWM 0 (Berhenti): Saat suhu sudah berada di bawah atau pas di angka target (kondisi aman).
Hasil simulasinya terbukti stabil banget! Saat suhu awal ada di 30°C, kipas bakal kencang di awal untuk mendinginkan ruangan dengan cepat. Tapi pas suhu mulai turun ke arah 23°C, berkat parameter Kd yang jadi damper, kipasnya melambat secara elegan dan nggak langsung mati mendadak yang bikin kaget motor. Kombinasi parameter Kp 80, Ki 0.5, dan Kd 5 ini sudah terbukti paling pas buat dapet respon cepat tapi tetep stabil.
Kesimpulan
Proyek kipas angin pintar ini membuktikan kalau pakai DHT22 sebagai feedback dan Arduino sebagai otak PID bisa bikin sistem pendinginan jadi berkali-kali lipat lebih canggih. Dengan bantuan driver L298N, lo nggak cuma punya kipas yang bisa nyala-mati, tapi punya asisten suhu ruangan yang adaptif dan hemat energi.
Gimana? Tertarik buat nyoba rakit sendiri di kamar? Selain bikin ruangan makin adem, lo juga jadi belajar dasar kendali industri yang keren banget. Semangat ngoprek ya, Sobat Tech!
Bikin Kipas Angin Pintar Sendiri Pakai Arduino dan Algoritma PID Biar Ruangan Makin Adem
Sensor getar Piezoelectric Ceramic (Piezo) merupakan sensor getaran sederhana namun sangat sensitif yang mampu menghasilkan tegangan saat terjadi tekanan atau... selengkapnya
Water level merupakan sensor yang berfungsi untuk mendeteksi ketinggian air dengan output analog kemudian diolah menggunakan mikrokontroler. Cara kerja... selengkapnya
Pada robot elektronik sering kali digunakan motor servo sebagai leher yang bisa bergerak, motor servo adalah perangkat elektromekanis yang dirancang... selengkapnya
Halo semuanya, pada kesempatan kali ini Saya ingin berbagi tutorial tentang simulasi penggunaan sensor suhu TMP36 untuk mengukur suhu... selengkapnya
Halo semuanya, di tutorial kali ini Saya akan berbagi tutorial tentang simulasi sistem smart home sederhana. Seperti yang kita... selengkapnya
Alat dan Bahan Sensor Inframerah MLX90614 Arduino nano beli Deskripsi Secara internal, MLX90614 terdiri dari dua perangkat yakni... selengkapnya
Syarat utama jika anda ingin belajar atau ingin menjadi programmer web sebelum belajar Bahasa pemograman alangkah baiknya memahami dulu... selengkapnya
Hallo ketemu lagi dengan pembahasan sensor DHT11, kali ini kita akan menggunakannya pada NodemMCU. Nanti akan dibahas mengenai rangkaian... selengkapnya
Hallo pada artikel kali ini, saya akan memberikan cara menampilkan teks pada LCD dengan NodeMCU. Bagi anda yang sudah... selengkapnya
LCD 128×64 merupakan sebuah display yang diatur berdasarakn graphic (pixel) bukan karakter. Jadi kita bisa memposisikan pada setiap titik... selengkapnya
Fitur: -Dapat mendeteksi api atau panjang gelombang sumber cahaya dalam 760nm ~ 1100nm – Api lebih ringan mendeteksi jarak 80cm… selengkapnya
Rp 9.000Spesifikasi : – 16×2 – Warna Biru – Tegangan kerja : 5v Digunakan untuk keperluan display project seperti Arduino, Raspberry,… selengkapnya
Rp 17.000This is a set of transmitter and receiver in one of the photoelectric sensor. Detection distance can be adjusted according… selengkapnya
Rp 37.500Compatibility: USB v2.0 standard Interface: Network: USB Series: RS-485 Port: an independent RS-485 Connector: Network: USB type A connector Series:… selengkapnya
Rp 38.800this is another great IIC/I2C/TWI/SPI Serial Interface. As the pin resources of for Arduino controller is limited, your project may… selengkapnya
Rp 12.400Tang Crimping Press Skun Ratchet YTH SN-48B Model YTH SN-48B FOR NON INSULATED TERMINAL YTH SN-48B dengan mata Press 0.5… selengkapnya
Rp 150.000Case patern: Solid Warna : Merah dan Hijau Current: 10-20 mA Diameter: 3mm
Rp 300Specifications: Operating voltage: DC3-5V Operating current: less than 20mA Sensor Type: Analog Detection Area: 40mmx16mm Production process: FR4 double-sided HASL… selengkapnya
Rp 3.0001 X LDR Sensor 5mm Cahaya 5528 Light Dependent Resistor LDR
Rp 4.000Bikin Kipas Angin Pintar Sendiri Pakai Arduino dan Algoritma PID Biar Ruangan Makin Adem
Kategori
Artikel Terkait
-
Cara Bikin Sistem Monitoring Getaran Gempa dan Stabilitas Kemiringan Pakai ESP32 dan MPU 6050
-
Cara Bikin Sistem Monitoring Kelembapan Tanah Berbasis Arduino Uno dan Sensor YL69
-
Bikin Sistem Monitor Volume Air Tandon Otomatis Pakai Arduino Uno dan Sensor Ultrasonik
-
Cara Bikin Kipas Angin Otomatis Berbasis Suhu Pakai Arduino Uno dan Sensor LM35
-
Bikin Smart Medicine Box Otomatis Pakai Arduino Nano dan Sensor Suhu DHT11

Saat ini belum tersedia komentar.