Mengukur Suhu Dengan Sensor LM 35 Melalui Serial Monitor Arduino
Table of Contents
Sebelum mengenal arduino, mengukur suhu lingkungan sekitar adalah hal yang cukup merepotkan. Dikatakan merepotkan karena kita harus memiliki seperangkat alat pengukur suhu yang sering kita kenal sebagai termometer, baik termometer analog maupun termometer digital. Tentu alat pengukur suhu tersebut tidaklah didapat dengan cuma-cuma. Dan ujung-ujungnya, kita wajib menyiapkan dana tambahan untuk membelinya.
Baiklah untuk mensiasati masalah diatas, kali ini saya akan menjelaskan bagaimana merangkai alat untuk mengukur suhu (termometer buatan) dengan mudah menggunakan mikrokontroller populer, bernama Arduino Uno beserta sensor suhu LM 35, output berupa suhu yang dideteksi oleh sensor akan ditampilkan oleh serial monitor arduino. Kita mulai dengan mempersiapkan komponen-komponen yang kita butuhkan, antara lain :
- Project Board
- Arduino Uno
- Sensor Suhu LM 35
- Kabel Jumper
- Kabel USB Arduino
Sebelum kita rangkai lebih jauh, akan saya jelaskan sekilas mengenai sensor suhu LM 35. Sensor ini cukup populer sebagai sensor pengukur suhu dengan harga yang terjangkau. LM35 merupakan IC sensor suhu dengan bentuk yang mirip dengan transistor. Kaki IC ini hanya ada tiga, yaitu untuk VCC (kaki 1), Output (kaki 2), dan GND (kaki 3), lebih jelasnya lihat gambar 1
Gambar 1. Sensor Suhu LM 35 |
Sensor ini bisa digunakan untuk mengukur suhu dari -55 derajat – 150 derajat celcius. Lebih dari cukup untuk mengukur suhu lingkungan sekitar kita, bukan ! Berdasarkan datasheet LM35, maka kita bisa menggunakan pengukuran penuh (-55 – 150 derajat celcius) atau pengukuran sebagian yaitu hanya bisa menghitung dari 2 – 150 derajat celcius. Maka, yang kita perlukan kali ini adalah pengukuran suhu secara sebagian, dengan rangkaian dasar sensor sebagai berikut :
Gambar 2. rangkaian dasar sensor suhu |
Gambar 3. Rangkaian sensor suhu LM 35 |
- Sambungkan kaki 1 sensor LM 35 ke VCC 5 Volt Arduino
- Sambungkan kaki 2 (tengah) ke pin analog A0. Alasan disambungkannya kaki tengah ke pin analog adalah input yang akan masuk ke sensor LM35 sejatinya adalah input analog, yaitu suhu. Input analog tersebut nantinya akan ditampilkan dalam bentuk digital.
- Sambungkan kaki 3 ke GND Arduino
Oke, sampai disini cukup mudah, kan ! Yang merasa kesulitan hanyalah yang tidak memiliki komponennya, hehehe, kasian deh....
Rangkaian pada gambar 3 jika dirangkai beneran akan menjadi seperti gambar 4 berikut :
Gambar 4 implementasi rangkaian sensor suhu |
Jika kita menggunakan tegangan referensi 5 volt, maka Arduino bisa mengukur setidaknya hingga 5000 mV. padahal kemampuan LM35 hanya sebatas 150o celcius atau 150 x 10 mV = 1500 mV 1.5 volt). Sehingga tegangan yang keluar dari kaki output LM35 tidak akan mungkin melebihi 1.5 volt. Berdasarkan persamaan sederhana, maka kita bisa menghitung suhu berdasarkan perbandingan antara kapasitas voltase yang bisa dicacah oleh pin analog Arduino (1024) dan kemampuan LM35 mengukur suhu. Begini cara menghitungnya :
Suhu dalam Voltase (T) : 0 - 500
Cacahan Voltase input (Vin) : 0 - 1024
0/500 = 0/1024
T/500 = Vin/1024
T = (Vin * 500) / 1024
Program arduino dapat ditulis seperti berikut :
int PinSuhu = A0 ; float suhu, data ; void setup() { Serial.begin(9600) ; pinMode(PinSuhu, INPUT) ; } void loop() { data = analogRead(PinSuhu) ; suhu = data * 500 / 1024 ; Serial.print("data : ") ; Serial.print(data ) ; Serial.print(" Suhu : "); Serial.print(suhu) ; Serial.print(" C") ; Serial.println(); delay(1000) ; }
Program diatas akan membaca data dari sensor suhu pada pin A0 di board Arduino kemudian mengkonversinya menjadi suhu. Informasi suhu akan dikirim ke komputer melalui komunikasi serial dengan baud rate 9600 setiap 1000 milisekon.
Variabel suhu dan data menggunakan float, yaitu tipe data yang memungkinkan memuat angka desimal. Di sini menggunakan desimal karena adanya pembagian sehingga jika kita menggunakan integer, maka hasil perhitungan kita kurang presisi karena hasil pembagiannya akan selalu dibulatkan.
Fungsi analogRead() digunakan untuk membaca masukan dari sensor analog. Nilai dari analog read ini berkisar dari 0 hingga 1023 berdasarkan kemampuan dari mikrokontroller dalam mencacah dari 0 – 5 volt. Selanjutnya hasil perhitungan suhu akan dimasukkan dalam variabel suhu, lalu nilai dari varibel suhu akan ditampilkan melalui Serial.print(suhu)
Hasil perhitungan suhu ditampilkan dalam serial monitor arduino secara real-time setiap 1000 milisekon.
Agar lebih menarik, maka rangkaian dapat dikembangkan lebih jauh untuk dapat menampilkan hasil perhitungan suhu melalui layar LCD. Semoga tutorial sederhana ini bermanfaat bagi teman-teman yang sedang belajar arduino. Tunggu tutorial proyek arduino berikutnya....
Variabel suhu dan data menggunakan float, yaitu tipe data yang memungkinkan memuat angka desimal. Di sini menggunakan desimal karena adanya pembagian sehingga jika kita menggunakan integer, maka hasil perhitungan kita kurang presisi karena hasil pembagiannya akan selalu dibulatkan.
Fungsi analogRead() digunakan untuk membaca masukan dari sensor analog. Nilai dari analog read ini berkisar dari 0 hingga 1023 berdasarkan kemampuan dari mikrokontroller dalam mencacah dari 0 – 5 volt. Selanjutnya hasil perhitungan suhu akan dimasukkan dalam variabel suhu, lalu nilai dari varibel suhu akan ditampilkan melalui Serial.print(suhu)
Hasil perhitungan suhu ditampilkan dalam serial monitor arduino secara real-time setiap 1000 milisekon.
Output deteksi suhu melalui serial monitor arduino |
salam
Click here