Read more
Mengukur Suhu dengan LM 35
LM35 merupakan IC sensor suhu dengan bentuk yang mirip dengan transistor. Kaki IC ini hanya ada tiga, yaitu untuk VCC, Output, dan GND (Gambar 5.3).
Rangkaian
1. Sambungkan kaki 1 ke VCC
LM35 merupakan IC sensor suhu dengan bentuk yang mirip dengan transistor. Kaki IC ini hanya ada tiga, yaitu untuk VCC, Output, dan GND (Gambar 5.3).
![]() |
Rangkaian dasar pengukuran suhu penuh LM35 |
![]() |
Rangkaian dasar pengukuran suhu sebagian LM35 |
Rangkaian
Berdasarkan karakteristik kaki-kaki pada IC LM35, maka kita akan menggunakan rangkaian sebagian sehingga Rangkaian 5.1 hanya bisa mengukur suhu dari 2 hingga 150 derajat celcius. Cara merangkainya yaitu:
![]() |
Rangkaian sensor suhu LM35 |
2. Sambungkan kaki kedua (tengah) ke A0. A0 adalah pin analog, kaki pin analog berfungsi untuk berbagasi tranduser / sensor yang mengharuskan sinyal analog. Oleh sebab itu, untuk membaca kaki ini menggunakan analogRead(), sedangkan untuk menulisnya menggunakan analogWrite().
3. Sambungkan kaki ke-3 ke GND.
Karakteristik dari sensor ini yaitu setiap kenaikan 10 mV pada kaki output, menandakan kenaikan suhu 1 celcius. Sehingga, karena Rangkaian 5.1 hanya mampu mengukur dari 2 celcius, maka output LM35 minimal adalah 20 mV dan maksimal 1500 mV. Konversi suhu pada output LM35 juga tergantung pada tegangan referensi yang digunakan.
Tegangan referensi pada arduino ada tiga (khusus Arduino Uno) tegangan referensi default, internal, dan eksternal. Jika kita tidak mendefinisikan tegangan referensi yang akan kita gunakan, maka Arduino secara default akan menggunakan tegangan referensi 5 volt. Selain 5 volt, tegangan default yang disediakan oleh arduino adalah 3.3 volt. Akan tetapi kita harus membuat jumper dari 3.3 volt (di board Arduino) ke pin AREF, lalu mengeksekusi perintah analogReference(DEFAULT).
Tegangan referensi internal Arduino yaitu 1.1 volt, untuk menggunakan tegangan referensi ini, kita harus memberikan perintah analogReference(INTERNAL).
Tapi jika ingin menggunakan tegangan referensi selain 5, 3.3, dan 1.1 volt, kita bisa menggunakan tegangan referensi eksternal. Tegangan referensi ini harus antara 0 dan 5 volt, jika tidak, Arduino bisa jadi akan rusak. Jika kita menggunakan tegangan referensi custom ini, maka kita harus memasang sumber tegangan ke AREF dan memberi perintah analogReference(EXTERNAL);
Program
Sebelum membuat program, kita akan menghitung bagaimana cara mengukur dan mengkonversi output dari LM35 menjadi suhu. Kita akan mengkonversi voltase pada kaki output LM35, kemudian menghitungnya berdasarkan tegangan referensi yang digunakan, mengubahnya menjadi celcius, lalu mengirimkannya ke komputer melalui komunikasi serial.
Jika kita menggunakan tegangan referensi 5 volt, maka Arduino bisa mengukur setidaknya hingga 5000 mV. padahal kemampuan LM35 hanya sebatas 150 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.
Suhu dalam Voltase (T) : 0 - 500
Cacahan Voltase input (Vin) : 0 - 1024
0/500 = 0/1024
T/500 = Vin/1024
T = (Vin * 500) / 1024
Sketch Program sensor suhu LM35
// Free Ebook Arduino
// www.elangsakti.com
// coder elangsakti
const int pSuhu = A0;
float suhu, data;
void setup() {
Serial.begin(9600);
pinMode(pSuhu, INPUT);
}
void loop() {
data = analogRead(pSuhu);
suhu = data * 500 / 1024;
Serial.print("data: ");
Serial.print(data);
Serial.print(", suhu: ");
Serial.print(suhu);
Serial.println();
delay(1000);
}
Program pada Sketch 5.3 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.
float suhu, data;
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.
data = analogRead(pSuhu);
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.
Untuk mendapatkan hasil pengukuran yang lebih presisi, maka kita bisa mengganti tegangan referensi yang digunakan. Jika kita menggunakan tegangan referensi 5000 mV, maka space dari 1500 –5000 mV tidak akan pernah terpakai. Oleh sebab itu, kita bisa menggunakan tegangan referensi 1500 mV (sesuai dengan output maksimal pada LM35) atau menggunakan tegangan referensi yang lebih rendah, misal tegangan referensi INTERNAL yang nilainya adalah 1.1 volt. Sebagai catatan, jika Anda menggunakan tegangan referensi 1.1 volt (1100 mV), maka batas maksimal suhu yang bisa dihitungan adalah 110 celcius.
Sketch Program sensor suhu tegangan referensi 1.1 volt
// Free Ebook Arduino
// www.elangsakti.com
// coder elangsakti
const int pSuhu = A0;
float suhu, data;
void setup() {
// mengubah tegangan referensi ke internal, 1.1 volt
analogReference(INTERNAL);
Serial.begin(9600);
pinMode(pSuhu, INPUT);
}
void loop() {
data = analogRead(pSuhu);
suhu = data * 110 / 1024;
Serial.print("data: ");
Serial.print(data);
Serial.print(", suhu: ");
Serial.print(suhu);
Serial.print(" C (");
Serial.print(convertToF(suhu));
Serial.print(" F)");
Serial.println();
delay(1000);
}
float convertToF(float suhuC){
return (suhuC * 9.0/5.0) + 32;
}
Program pada Sketch 5.4 menggunakan tegangan referensi internal 1.1 volt kemudian suhu dalam celcius dikonversi menjadi Fahrenheit. Berdasarkan konsepnya, konversi celcius ke Fahrenheit menggunakan rumus:
Kemudian informasi suhu dalam celcius dan Fahrenheit dikirim ke komputer dengan komunikasi serial.
0 Reviews
Silakan dikomentari