Sensor suhu LM35 menggunakan arduino uno






PERTEMUAN KE – 8
APLIKASI SENSOR SUHU LM35
A. TUJUAN :
  • Mahasiswa dapat menggunakan sensor suhu LM35 untuk membuat aplikasi.
B. TEORI SINGKAT
Salah satu sensor suhu yang dapat digunakan untuk mengukur suhu lingkungan adalah IC LM35. IC LM35 mampu mengukur suhu dari -55 O C s/d 150O C dengan akurasi 0,5O pada suhu 25O. Keluaran IC LM35 berupa tegangan dengan nilai 10 mV/OC.
Kemasan IC LM35 ada beberapa yaitu: TO-46, SO-8, TO-92, TO-220. Susunan pin IC untuk kemasan TO-92 seperti pada Gambar 1.
Gambar 1.
Referensi tegangan masukan analog pada Arduino secara default terhubung dengan tegangan +5V oleh karena itu resolusinya adalah 5V/1024 = 4,9 mV/bit. Karena IC LM35 perderajatnya 10mV maka resolusi suhunya adalah 4,9mV/bit:10mV/OC = 0,49OC/bit. Untuk perhitungan pada program dapat dilakukan dengan mengalikan dulu dengan 100 agar bulat kemudian baru dibagi 100 kembali.
float Suhu;
Suhu= float((49*DataSuhu)/100);
C. PEMBAHASAN PRAKTIKUM :
Pada praktikum kali ini kita akan belajar untuk menjalankan program sederhana pada arduino menggunakan masukan berupa sensor suhu menggunakan IC LM35 serta mengamati hasilnya berupa Keluaran Analog menggunakan lampu LED pada board Arduino. Berikut adalah penjelasan scribtnya :
int LED1=11;
int LED2=10; // merupakan deklarasi variabel
int DataSuhu;
int PinAnalog=3;
void setup()
// Semua kode didalam kurung kurawal akan dijalankan hanya satu kali ketika program Arduino dijalankan untuk pertama kalinya.
{
pinMode(LED1,OUTPUT);
// inisialisasi variabel LED1 sebagai output/keluaran.
pinMode(LED2,OUTPUT);
// inisialisasi variabel LED2 sebagai output/keluaran.
Serial.begin(9600);
//menginisialisasi port serial dengan kecepatan 9600 bps
}
void loop()
//Fungsi ini akan dijalankan setelah setup (fungsi void setup) selesai. Setelah dijalankan satu kali fungsi ini akan dijalankan lagi, dan lagi secara terus menerus sampai catu daya ( power) dilepaskan.
{
DataSuhu=analogRead(PinAnalog);
//membaca nilai analog dari pin A3
//mengkonfersi nilai analog tegangan menggunakan ADC
//ADC memiliki resolusi 10 bit ,sehingga dapat mewaakili 2^10=1024
Serial.print(DataSuhu,BIN);
//untuk menampilkan hasil yang dibaca oleh inputan analog dan menampilkanya kedalam bentuk biner pada serial monitor
Serial.print(" ");
Serial.println(DataSuhu,DEC);
//untuk menampilkan hasil yang dibaca oleh inputan analog dan menampilkanya kedalam bentuk decimal pada serial monitor
delay(2000);
//jeda selama 2 detik
}
HASIL KELUARAN :
D. PEMBAHASAN LATIHAN :
Pada latihan kali ini kita akan memodifikasi program latihan agar menampilkan data suhu dalam derajat Celsius dengan memperhatikan rumus di teori. Setelah itu modifikasi dalam satu program agar LED1 menyala ketika suhu dibawah 28OC dan LED2 menyala diatas 30 OC. berikut adalah penjelasan scribtnya :
int LED1=11;
int LED2=10; // merupakan deklarasi variabel
int DataSuhu;
int PinAnalog=3;
void setup()
// Semua kode didalam kurung kurawal akan dijalankan hanya satu kali ketika program Arduino dijalankan
{
pinMode(LED1,OUTPUT);
//inisialisasi pin D11 sebagai output
pinMode(LED2,OUTPUT);
//inisialisasi pin D10 sebagai output
Serial.begin(9600);
//menginisialisasi port serial dengan kecepatan 9600 bps
}
void loop()
//Fungsi ini akan dijalankan setelah setup (fungsi void setup) selesai. Setelah dijalankan satu kali fungsi ini akan dijalankan lagi, dan lagi secara terus menerus sampai catu daya ( power) dilepaskan.
{
DataSuhu=analogRead(PinAnalog);
//membaca nilai analog dari pin A3
//mengkonfersi nilai analog tegangan menggunakan ADC
//ADC memiliki resolusi 10 bit ,sehingga dapat mewaakili 2^10=1024
float Suhu;
//deklarasi variabel suhu
Suhu= float((49*DataSuhu)/100);
//rumus untuk mencari suhu dalam bentuk celcius yaitu 49 dikali nilai dari veriabel DataSuhu dibagi 100
Serial.print(DataSuhu,BIN);
//untuk menampilkan hasil yang dibaca oleh inputan analog dan menampilkanya kedalam bentuk biner pada serial monitor
Serial.print(" ");
Serial.println(DataSuhu,DEC);
//untuk menampilkan hasil yang dibaca oleh inputan analog dan menampilkanya kedalam bentuk decimal pada serial monitor
Serial.print("Suhu dalam Celcius");
delay(4000);
//jeda selama 4 detik
if(Suhu<28){
//jika nilai dari variabel suhu kurang dari 28 maka akan bernilai true
digitalWrite(LED1,HIGH);
digitalWrite(LED2,LOW);
//jika if bernilai true maka pin D11 akan bernilai HIGH dan D10 akan bernilai LOW
Serial.println("Suhu dibawah 28, led1 nyala");
}
else if(Suhu>30){
//Akan dikerjakan jika persyaratan if tidak terpenuhi dengan syarat nilai variabel suhu lebih besar dari 30 maka akan bernilai true
digitalWrite(LED2,HIGH);
digitalWrite(LED1,LOW);
//jika else if bernilai true maka pin D11 akan bernilai LOW dan D10 akan bernilai HIGH
Serial.println("Suhu diatas 30, led2 nyala");
}
else{
akan dikerjakan jika persyaratan if dan else if tidak terpenuhi
Serial.println("Suhu antara 28 s.d 30, kedua led mati");
digitalWrite(LED1,LOW);
digitalWrite(LED2,LOW);
}
}
HASIL KELUARAN :




























E. KESIMPULAN :
Setelah melakukan praktik tersebut serta melakukan pengujian pada rangkaianya dapat disimpulkan bahwa :
  • Tanggapan sensor terus berubah-ubah dikarenakan suhu pada lingkungan sekitar berubah tiba-tiba dari panas dan dingan sehingga akan mempengaruhi tegangan inputanya
  • Berdasarkan pengujian tersebut dapat dilakukan analisa bahwa rangkaian bekerja dengan baik pada saat mendeteksi suhu sehingga dapat menampilkan hasilnya pada serial monitor

0 Response to "Sensor suhu LM35 menggunakan arduino uno"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel