● online
- TANG CRIMPING PRESS SKUN RATCHET YTH SN-48B....
- Kabel Jumper 20cm Dupont 20 cm Male to Male Pelang....
- Max7219 Led Dot Matrix 32x8 Display Module For Ard....
- Dimmer SCR 2000W Motor Speed Controller 220V AC PW....
- Breadboard 400 titik lubang Bread board Projectboa....
- Motor Servo MG995 TowerPro Metal Gear....
- Raspberry Pi 4 Model B - 2GB RAM Raspberry Pi 4B....
- Potensiometer 10K - Mono Potensio Meter Linear Res....
- 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.
Cara Bikin Kipas Angin Otomatis Berbasis Suhu Pakai Arduino Uno dan Sensor LM35
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.huntuk 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 sebagaiOUTPUT, 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 menggunakananalogRead(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, sedangkandigitalWrite()menyalakan LED jika kipas berputar. Perhatikan penulisan string status pada LCD sepertilcd.print("OFF ")danlcd.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
- Buka menu File > Preferences di aplikasi Arduino IDE.
- Centang opsi compilation dan upload pada bagian Show verbose output during.
- Lakukan proses Verify atau Compile pada skrip program yang telah dibuat.
- Cari jalur file (path) berakhiran
.ino.hexpada konsol output hitam di bagian bawah. - 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
.HEXyang 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).
Cara Bikin Kipas Angin Otomatis Berbasis Suhu Pakai Arduino Uno dan Sensor LM35
Limit switch merupakan sebuah saklar yang memiliki tuas sebagai penghubung ataupun pemutus arus litrik. Prinsip kerjanya sama seperti push... selengkapnya
Push Button dan LED (Light Emitting Diode) menjadi sebuah komponen yang umum ditemukan pada piranti elektronik sehingga menjadikan... selengkapnya
Melanjutakan tutorial edisi telegram kali ini kita akan mendetekesi suhu meggunakan sensor Ds18b20 dan ESP01. Dalam tutorial ini kita... selengkapnya
Dulu kita sudah belajar untuk mengisi bootloader Arduino Uno ke IC Atmega328 juga, namun dengan jenis DIP (LIHAT DISINI).... selengkapnya
Pada komponen tertentu dibutuhkan sebuah library agar komponen tersebut dapat berjalan sebagaimana mestinya. Apa itu library? library adalah sekumpulan... selengkapnya
Oke Hallo semua pada kesempatan kali ini kita akan belajar mendeteksi kemiringan suatu benda. Sensor yang digunakan adalah tilt... selengkapnya
Mengapa disebut buzzer passive? karena sensor ini tidak mempunyai suara sendiri, melainkan buzzer ini perlu dikontrol dengan kontroler seperti... selengkapnya
Detektor arus AC adalah perangkat elektronika yang digunakan untuk mendeteksi ada atau tidaknya arus listrik AC pada suatu rangkaian.... selengkapnya
Bootstrap adalah sebuah framework yang dapat memudahkan seorang programmer web untuk mempercepat dan mempermudah dalam membuat dan mengembangkan website.... selengkapnya
MPU6050 merupakan sebuah sensor yang berfungsi untuk mengukur percepatan suatu benda yang bergerak. Nah kali ini kita akan belajar... selengkapnya
Bagaimana jika mikrokontroler yang anda gunakan tidak memiliki port ADC. atau anda masih kurang dengan spesifikasi resolusi ADC yang disediakan… selengkapnya
Rp 65.000Ini yang Seri SN – DS3231 I2C RTC Module khusus DS3231SN – Include Baterai – Module jam digital – Keperluan… selengkapnya
Rp 34.900ESR meter/LCR meter dengan layar lebar lebih jelas dan mantap dan dengan tempat batre jd lebih rapih batre lebih aman… selengkapnya
Rp 131.000 Rp 134.000Deskripsi Produk “LED Dot Matrix Display dengan 32×8 pixel, berwarna Merah, menggunakan IC MAX7219 sebagai driver dan dapat dikoneksikan ke… selengkapnya
Rp 47.500Support terus UKM indonesia dengan membeli produk-produk dalam negeri. Untuk kualitas tidak usah diragukan, udah kita tes QC dengan sangat… selengkapnya
Rp 8.500Description: TP5100 is a double switch buck 8.4V, single cell 4. 2V lithium battery charge management chip. Its ultra-compact QFN16… selengkapnya
Rp 10.600Kabel Jumper Dupont Pelangi 30cm female to Female 1 lembar = 40 kabel
Rp 13.500Kabel Jumper Dupont Pelangi 10 cm female to female 1 lembar = 40 kabel
Rp 9.000Item Deskripsi : This module performance is stable, measure the distance accurately. performance nearly the same as SRF05, SRF02 SRF05,… selengkapnya
Rp 13.900Spesifikasi : – 16×2 – Warna Biru – Tegangan kerja : 5v Digunakan untuk keperluan display project seperti Arduino, Raspberry,… selengkapnya
Rp 17.000Cara Bikin Kipas Angin Otomatis Berbasis Suhu Pakai Arduino Uno dan Sensor LM35
Kategori
Artikel Terkait
-
Bikin Sistem Parkir Otomatis dengan Penghitung Kendaraan dan Indikator Slot Kosong
-
Rancang Sistem Pendeteksi Kebakaran dengan Kipas Otomatis dan Alarm Peringatan
-
Bikin Alat Monitoring Konsumsi Listrik Rumah Secara Real-Time Berbasis ESP32
-
Bikin Sistem Keamanan Pintu Berbasis RFID dengan Notifikasi Telegram
-
Rancang Sistem Penyiram Tanaman Otomatis Berbasis ESP32 dengan Monitoring Smartphone

Saat ini belum tersedia komentar.