Projek bagaimana cara merancang sistem pengukur suhu di arduino dengan menggunakan sensor LM35. sensor LM35 ini merupakan IC sensor suhu dengan bentuk yang mirip dengan transistor. seperti yang terlihat gambar di bawah ini Kaki IC ini hanya ada tiga, yaitu untuk VCC, Output, dan GND
Berdasarkan datasheet LM356 dengan menggunakan Sensor ini LM35 kita dapat mengukur suhu dari -55o sampai 150o celcius. Dengan begini maka kita bisa menggunakan pengukuran penuh (-55 – 150o celcius) atau pengukuran sebagian yaitu hanya bisa menghitung dari 2 – 150 o celcius. Untuk pengukuran penuhnya.
Rangkaian Sensor Suhu Menggunakan Arduino
Estimasi Rangkaian dasar pengukuran suhu PENUH dan SEBAGAIAN dapat dilihat di bawah ya
Mencoba Rangkaian Sensor Suhu di Breadboard
Berdasarkan karakteristik kaki kaki pada IC LM35, maka saya akan menggunakan Rangkaian Sebagian seperti gambar dibawah sehingga Rangkaian hanya bisa mengukur suhu dari 2 hingga 150 derajat celcius.
Cara merangkainya yaitu:
- Sambungkan kaki 1 ke VCC
- 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()
- Sambungkan kaki ke-3 ke GND.
Karakteristik dari sensor ini yaitu setiap kenaikan 10 mV pada kaki output, menandakan kenaikan suhu 1o celcius. Sehingga, karena Rangkaian diatas hanya mampu mengukur dari 2o 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);
Coding Pengukuran Suhu di Android
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 o 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
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); }
Penjelasan Script Sistem Pengukur Suhu Diatas
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 saya 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 o celcius.
Script Sensor Suhu Tegangan 1.1 volt
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; }
Penjelasan Script Sensor Suhu Tegangan 1.1 volt
Script 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.
Bagaimana, cukup membuat pusing bukan tutorial Merancang Sistem Pengukur Suhu di Arduino ini. jika ada pertanyaan, jangan malu untuk bertanya melalui kolom komentar di bawah.