Buka Senin - Jumat jam 08.30 s/d jam 16.30 , Sabtu Jam 8.30 s/d jam 13.00 , Minggu tutup
  • 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.
Beranda » Blog » Cara Bikin Kipas Angin Otomatis Berbasis Suhu Pakai Arduino Uno dan Sensor LM35

Cara Bikin Kipas Angin Otomatis Berbasis Suhu Pakai Arduino Uno dan Sensor LM35

Diposting pada 6 October 2026 oleh indo maker / Dilihat: 59 kali / Kategori:

Halo Sobat Indomaker! Apakah Teman-teman pernah merasa terganggu karena harus bolak-balik menyalakan, mematikan, atau mengatur kecepatan kipas angin secara manual? Pengaturan suhu ruangan secara manual sering kali terlambat merespons perubahan suhu lingkungan. Keterlambatan ini tidak hanya bikin suasana ruangan terasa tidak nyaman, tetapi juga bisa menyebabkan pemborosan energi listrik karena kipas terus berputar kencang meski suhu sudah dingin. Nah, buat Sobat yang sebelumnya pernah mencoba membuat proyek otomasi sederhana seperti alat pemantau kelembapan tanah, kali ini kita bakal naik level! Kita akan membuat solusi cerdas berupa Smart Fan Control System berbasis Arduino Uno dan sensor suhu LM35 yang mampu menyesuaikan kecepatan kipas secara otomatis berdasarkan suhu ruangan secara real-time.

Alat dan Bahan

Untuk merakit sistem kipas otomatis ini, berikut adalah komponen hardware yang Teman-teman butuhkan:

Komponen Jumlah Keterangan
Arduino Uno 1 unit Otak kendali utama untuk mengolah input analog dan menghasilkan output digital/PWM
Sensor Suhu LM35 1 unit Input data termal dengan output tegangan linear yang proporsional terhadap suhu (°C)
LCD 16×2 1 unit Visualisasi data parameter suhu dan status kipas secara real-time
Driver Motor L9110 1 unit H-Bridge driver untuk mengendalikan arus motor DC dan mengatur kecepatan via sinyal PWM
Motor DC / Kipas 1 unit Aktuator output yang mengubah energi listrik menjadi energi kinetik
LED Merah 1 unit Indikator status visual saat sistem aktif
Resistor 220 Ohm 1 unit Sinyal pembatas arus untuk LED indikator

Skematik Rangkaian dan Arsitektur Pengkabelan

Proses perakitan komponen ini tergolong simpel dan sangat ramah untuk pemula. Berikut adalah arsitektur pengkabelan (wiring) yang perlu Teman-teman hubungkan antara komponen dengan mikrokontroler Arduino Uno:

  • Sensor LM35: Pin VCC terhubung ke 5V Arduino, Pin Vout ke Pin Analog A0, dan Pin GND ke Ground.
  • LCD 16×2: Pin RS ke Pin 7, Pin E ke Pin 6, Pin D4 ke Pin 5, Pin D5 ke Pin 4, Pin D6 ke Pin 3, serta Pin D7 ke Pin 2. Pin VSS, VEE, dan RW dihubungkan ke Ground, sedangkan Pin VDD terhubung ke 5V.
  • Driver Motor L9110 & LED: Pin Input A (IA) driver L9110 terhubung ke Pin 9 (PWM) Arduino untuk mengatur torsi dan kecepatan motor, sedangkan Pin Input B (IB) dihubungkan ke Ground (GND) sebagai acuan arah putaran tunggal motor DC. LED indikator terhubung ke Pin 13 melalui resistor 220 Ohm.

Prinsip Kerja Sensor dan Kendali PWM

Sistem ini beroperasi dengan alur Closed-Loop System. Pertama-tama, sensor LM35 mendeteksi perubahan suhu lingkungan secara real-time. Sensor ini memiliki karakteristik output tegangan linear sebesar 10 mV/°C (0,01 V/°C). Sebagai contoh, jika suhu ruangan terdeteksi 34 °C, maka sensor LM35 akan mengeluarkan tegangan sekitar 340 mV (0,34 V). Untuk mengetahui karakteristik dan spesifikasi LM35 secara lebih lengkap, kamu bisa melihat datasheet LM35 dari Texas Instruments sebagai referensi tambahan.

Tegangan analog dari sensor dikirim melalui pin A0 ke unit ADC (Analog-to-Digital Converter) pada Arduino Uno. Karena mikrokontroler tidak bisa mengolah tegangan analog secara langsung, unit ADC 10-bit memetakan rentang tegangan 0–5V menjadi data digital berentang 0–1023. Pembagian 5.0 / 1023.0 menghasilkan nilai voltase per digit ADC. Nah, mengapa pada program rumus pembacaannya dikalikan 100.0? Karena sensor LM35 menghasilkan 0,01 Volt per 1 °C, maka untuk mengonversi nilai voltase kembali ke satuan Celsius, kita membaginya dengan 0,01 (atau setara dengan mengalikannya dengan 1 / 0,01 = 100). Rumus lengkapnya menjadi:

suhuC = (analogValue * 5.0 / 1023.0) * 100.0

Setelah data suhu diperoleh, Arduino mengevaluasi nilainya berdasarkan logika ambang batas (setpoint) dan mengirimkan sinyal kendali Pulse Width Modulation (PWM) dari pin 9 ke driver motor L9110.

Biar makin kebayang, bayangkan PWM ini seperti gaya Teman-teman saat menginjak pedal gas mobil secara berulang dengan sangat cepat. Ketika pedal gas ditekan penuh 100% (PWM 255), mobil melaju dengan kecepatan maksimal. Jika pedal gas ditekan-lepas secara seimbang (PWM 170 atau 85), kecepatan rata-rata mobil akan melambat sesuai presentase penekanan. Sinyal PWM bekerja dengan cara menyalakan dan mematikan arus ke motor dalam frekuensi tinggi untuk mengatur kecepatan rata-rata kipas tanpa mengurangi kualitas tegangan.

Berikut adalah matriks logika kendali kipas yang diterapkan pada sistem:

Rentang Suhu Status LED Status Kipas Level Kecepatan
Suhu < 30 °C Mati OFF (PWM = 0) Berhenti
30 °C ≤ Suhu < 35 °C Nyala ON (PWM = 85) Low
35 °C ≤ Suhu < 40 °C Nyala ON (PWM = 170) Medium
Suhu ≥ 40 °C Nyala ON (PWM = 255) High (Maksimal)

Kode Program Arduino

Berikut adalah skrip program C/C++ utuh yang digunakan untuk mengendalikan seluruh sistem kipas otomatis:

#include <LiquidCrystal.h>

// Konfigurasi pin
const int lm35Pin = A0;
const int motorPin = 9;
const int ledPin = 13;

// Variabel sistem
float suhuC;
int pwmValue;

// Inisialisasi LCD
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);

void setup() {
  pinMode(motorPin, OUTPUT);
  pinMode(ledPin, OUTPUT);

  Serial.begin(9600);

  lcd.begin(16, 2);
  lcd.print("Smart Fan System");
  lcd.setCursor(0, 1);
  lcd.print("EK-1C");

  delay(2000);
  lcd.clear();
}

void loop() {
  // Membaca nilai sensor LM35
  int analogValue = analogRead(lm35Pin);

  // Konversi nilai ADC menjadi suhu Celsius
  suhuC = (analogValue * 5.0 / 1023.0) * 100.0;

  // Menentukan kecepatan kipas berdasarkan suhu
  if (suhuC < 30) {
    pwmValue = 0;
  }
  else if (suhuC >= 30 && suhuC < 35) {
    pwmValue = 85;
  }
  else if (suhuC >= 35 && suhuC < 40) {
    pwmValue = 170;
  }
  else {
    pwmValue = 255;
  }

  // Mengatur kecepatan motor dan LED indikator
  analogWrite(motorPin, pwmValue);
  digitalWrite(ledPin, pwmValue > 0 ? HIGH : LOW);

  // Menampilkan suhu pada LCD
  lcd.setCursor(0, 0);
  lcd.print("Temp: ");
  lcd.print(suhuC, 1);
  lcd.print((char)223);
  lcd.print("C");

  // Menampilkan status kipas pada LCD
  lcd.setCursor(0, 1);
  lcd.print("Fan: ");

  if (pwmValue == 0) {
    lcd.print("OFF  ");
  }
  else if (pwmValue == 85) {
    lcd.print("LOW  ");
  }
  else if (pwmValue == 170) {
    lcd.print("MED  ");
  }
  else {
    lcd.print("HIGH ");
  }

  // Menampilkan data pada Serial Monitor
  Serial.print("Suhu: ");
  Serial.print(suhuC);
  Serial.print(" C PWM: ");
  Serial.println(pwmValue);

  delay(1000);
}

 

Penjelasan Alur Kode Program

  • Inisialisasi Pin & Library: Program mengimpor library LiquidCrystal.h untuk layar LCD dan menentukan alokasi pin I/O (LM35 pada pin A0, motor pada pin 9 PWM, LED pada pin 13, serta LCD pada pin 7, 6, 5, 4, 3, 2).
  • Fungsi setup(): Mengatur pin motor dan LED sebagai OUTPUT, membuka komunikasi serial pada kecepatan 9600 baud, serta menampilkan salam pembuka “Smart Fan System” dan “EK-1C” di LCD selama 2 detik sebelum layar dibersihkan (lcd.clear()).
  • Pembacaan ADC & Konversi Suhu: Pada fungsi loop(), mikrokontroler membaca tegangan dari sensor LM35 menggunakan analogRead(lm35Pin) dan menghitung suhu Celsius aktual melalui rumus konversi linier.
  • Logika Percabangan if-else: Menentukan besaran nilai PWM (0, 85, 170, atau 255) secara bertingkat sesuai rentang suhu yang terdeteksi.
  • Output & Tampilan Layar: Perintah analogWrite() mengirim sinyal PWM ke driver motor, sedangkan digitalWrite() menyalakan LED jika kipas berputar. Perhatikan penulisan string status pada LCD seperti lcd.print("OFF ") dan lcd.print("LOW "). Spasi ekstra di akhir kata ini sangat penting untuk menimpa (overwrite) sisa karakter dari kata yang lebih panjang (seperti "HIGH") saat status kipas turun kembali ke status yang lebih pendek, sehingga tampilan layar LCD 16×2 tidak berantakan.

Panduan Simulasi di Proteus dan Troubleshooting

Sebelum merakit komponen secara fisik, sangat disarankan untuk menguji sistem melalui simulasi di software Proteus agar terhindar dari risiko kerusakan hardware akibat kesalahan pengkabelan.

Saat membuat skematik di Proteus, Teman-teman bisa mencari komponen di library menggunakan kata kunci (keyword) spesifik berikut:

  • LM35: Sensor suhu analog.
  • LM016L: Modul layar LCD 16×2.
  • L9110: IC driver motor H-Bridge.
  • MOTOR-DC: Aktuator kipas DC.

Langkah Export File .HEX pada Arduino IDE

  1. Buka menu File > Preferences di aplikasi Arduino IDE.
  2. Centang opsi compilation dan upload pada bagian Show verbose output during.
  3. Lakukan proses Verify atau Compile pada skrip program yang telah dibuat.
  4. Cari jalur file (path) berakhiran .ino.hex pada konsol output hitam di bagian bawah.
  5. Salin jalur file tersebut dan tempelkan (paste) ke dalam kolom Program File pada menu properti komponen Arduino di Proteus.

Tips Troubleshooting Simulasi

Jika simulasi Proteus tidak berjalan sesuai harapan, lakukan pemeriksaan pada 3 poin krusial berikut:

  • Verifikasi Path File .HEX: Pastikan file .HEX yang ditautkan di Proteus adalah hasil kompilasi terbaru (re-compile) setelah ada perubahan kode.
  • Pengecekan Jalur Grounding: Pastikan seluruh jalur Ground dari sensor LM35, LCD 16×2, dan driver motor L9110 terhubung penuh pada potensial grounding yang sama.
  • Validasi Pin I/O: Pastikan konfigurasi pin I/O pada kode program sudah sesuai dengan jalur fisik pada skematik Proteus.

Kesimpulan dan Pengembangan Lanjutan

Sistem kendali kipas otomatis berbasis suhu yang mengintegrasikan sensor LM35, Arduino Uno, dan driver L9110 terbukti sangat efektif dalam mengelola kecepatan putaran kipas secara real-time. Penggunaan logika kendali bertingkat tidak hanya menjaga kestabilan kenyamanan termal ruangan, tetapi juga menghemat daya listrik secara optimal.

Untuk pengembangan di masa depan, Sobat disarankan untuk menguji sistem ini secara langsung pada hardware fisik guna mengetahui ketahanan komponen terhadap suhu nyata. Selain itu, Teman-teman juga bisa menambahkan komponen audio berupa buzzer sebagai alarm peringatan jika suhu ruangan melampaui batas kritis (> 45 °C).

Bagikan ke

Cara Bikin Kipas Angin Otomatis Berbasis Suhu Pakai Arduino Uno dan Sensor LM35

Saat ini belum tersedia komentar.

Silahkan tulis komentar Anda

Cara Bikin Kipas Angin Otomatis Berbasis Suhu Pakai Arduino Uno dan Sensor LM35

Produk yang sangat tepat, pilihan bagus..!

Berhasil ditambahkan ke keranjang belanja
Lanjut Belanja
Checkout
Produk Quick Order

Pemesanan dapat langsung menghubungi kontak dibawah: