Post Top Ad

Post Top Ad

Mengukur Suhu dengan LM 35

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 dasar pengukuran suhu penuh LM35
Rangkaian dasar pengukuran suhu penuh LM35
Rangkaian dasar pengukuran suhu sebagian 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
Rangkaian sensor suhu LM35
1.  Sambungkan kaki 1 ke VCC
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.