Sensor suhu LM35 adalah salah satu sensor suhu analog yang mudah digunakan bersama Arduino untuk mengukur suhu dalam derajat Celcius. Sensor ini menghasilkan output tegangan yang sebanding dengan suhu yang diukur, di mana setiap perubahan 1°C akan meningkatkan tegangan output sebesar 10 mV.
Pada artikel ini, kita akan mempelajari cara membaca data suhu dari sensor LM35 dan menampilkannya di Serial Monitor menggunakan Arduino.
Alat dan Bahan yang Dibutuhkan
- 1 x Arduino Uno (atau model Arduino lainnya)
- 1 x Sensor suhu LM35
- Breadboard
- Kabel jumper
Tentang Sensor LM35
Sensor LM35 memiliki tiga pin:
- VCC (pin daya): Terhubung ke sumber daya (5V pada Arduino).
- Output: Pin ini mengeluarkan tegangan analog yang sebanding dengan suhu.
- GND: Terhubung ke ground (GND).
Cara Kerja Sensor LM35
- Tegangan keluaran sensor berubah sebesar 10 mV untuk setiap perubahan 1°C suhu.
- Misalnya, jika sensor membaca suhu 25°C, tegangan outputnya adalah 250 mV (0,25V). Untuk mengkonversi tegangan ini ke dalam satuan derajat Celcius, kita cukup membaginya dengan 10.
Diagram Koneksi
- VCC pada LM35 dihubungkan ke 5V di Arduino.
- GND pada LM35 dihubungkan ke GND di Arduino.
- Output pada LM35 dihubungkan ke salah satu pin analog Arduino (misalnya A0).
Diagram Koneksi:
- Pin 1 (VCC) → 5V (Arduino)
- Pin 2 (Output) → A0 (Arduino)
- Pin 3 (GND) → GND (Arduino)
Kode Program untuk Membaca Suhu
Berikut adalah kode program untuk membaca suhu dari sensor LM35 dan menampilkannya di Serial Monitor:
// Deklarasi pin analog untuk LM35
int sensorPin = A0;
float suhu; // Variabel untuk menyimpan nilai suhu
void setup() {
// Menginisialisasi komunikasi serial
Serial.begin(9600);
}
void loop() {
// Membaca nilai analog dari pin A0
int sensorValue = analogRead(sensorPin);
// Mengonversi nilai analog menjadi tegangan (millivolts)
float tegangan = sensorValue * (5.0 / 1023.0); // 5.0V adalah tegangan referensi, 1023 adalah resolusi ADC
// Mengonversi tegangan menjadi suhu dalam Celcius
suhu = tegangan * 100; // Tegangan 10mV = 1°C
// Menampilkan nilai suhu di Serial Monitor
Serial.print("Suhu: ");
Serial.print(suhu);
Serial.println(" °C");
// Jeda 1 detik sebelum pembacaan berikutnya
delay(1000);
}
Penjelasan Kode:
- int sensorPin = A0;
Mendeklarasikan pin analog A0 sebagai tempat input dari sensor LM35. - Serial.begin(9600);
Menginisialisasi komunikasi serial dengan baud rate 9600 untuk menampilkan data di Serial Monitor. - analogRead(sensorPin);
Fungsi ini membaca nilai analog dari pin A0, yang merupakan tegangan output dari sensor LM35. - float tegangan = sensorValue * (5.0 / 1023.0);
Mengonversi nilai analog yang dibaca (antara 0 hingga 1023) menjadi tegangan yang setara dalam volt. Arduino bekerja pada tegangan 5V dan memiliki resolusi ADC 10-bit, sehingga setiap unit analog mewakili 5V/1023 ≈ 4,9mV. - suhu = tegangan * 100;
Karena setiap 10mV dari sensor LM35 mewakili 1°C, tegangan dalam volt dikali 100 akan memberikan nilai suhu dalam derajat Celcius. - Serial.print() dan Serial.println()
Digunakan untuk mencetak nilai suhu yang dibaca dan menampilkannya di Serial Monitor.
Mengunggah Program ke Arduino
- Sambungkan Arduino ke komputer menggunakan kabel USB.
- Buka Arduino IDE dan salin kode di atas.
- Pilih port dan board yang sesuai (Tools → Board → Arduino Uno, Tools → Port → pilih port yang sesuai).
- Klik tombol Upload untuk mengunggah program ke Arduino.
- Setelah program berhasil diunggah, buka Serial Monitor (Tools → Serial Monitor) untuk melihat pembacaan suhu secara real-time.
Memodifikasi Program
Setelah berhasil menjalankan program dasar ini, kamu dapat memodifikasi atau memperluas program untuk berbagai aplikasi, seperti:
- Menggunakan Celsius dan Fahrenheit: Menambahkan konversi suhu ke Fahrenheit.
float suhuFahrenheit = (suhu * 9.0 / 5.0) + 32.0;
Serial.print("Suhu: ");
Serial.print(suhu);
Serial.print(" °C / ");
Serial.print(suhuFahrenheit);
Serial.println(" °F");
- Menyimpan Data Suhu: Kamu bisa menyimpan data suhu dalam file menggunakan modul SD card atau mengirim data ke platform IoT untuk memonitor suhu dari jarak jauh.
- Mengontrol Aktuator Berdasarkan Suhu: Kamu bisa menambahkan logika untuk mengontrol perangkat lain, seperti kipas atau pemanas, berdasarkan suhu yang diukur. Contoh: Jika suhu melebihi 30°C, menyalakan kipas.
if (suhu > 30) {
// Nyalakan kipas
digitalWrite(kipasPin, HIGH);
} else {
// Matikan kipas
digitalWrite(kipasPin, LOW);
}
Kesimpulan
Membaca data suhu dari sensor LM35 menggunakan Arduino adalah proyek sederhana namun bermanfaat yang dapat diperluas untuk aplikasi yang lebih kompleks. Dengan mempelajari cara mengukur suhu dan menampilkannya di Serial Monitor, kamu bisa melangkah ke tahap berikutnya seperti membuat sistem monitoring suhu otomatis, menyimpan data suhu, atau mengontrol perangkat lain berdasarkan suhu yang terukur.
Selamat bereksperimen dengan sensor suhu dan Arduino!