Jumat, 14 Maret 2014

Membuat Termometer dengan Display dan Pengukuran Terkalibrasi (Tugas 4 II 3231)


Para pembaca setia sekalian, pada tugas kali ini, kami membuat sebuah termometer dengan menggunakan mikrokontroller Arduino, di mana hasil pembacaan sensor LM35 yang kami gunakan ditampilkan dalam sebuah display dan sudah terkalibrasi. Display yang digunakan oleh kelompok kami berupa LCD Module 16x2 dan rumus kalibrasi yang kami gunakan didapatkan dari regresi linier yang dilakukan dengan membandingkan suhu di sensor dengan suhu di termometer.

Anda tentunya sudah tidak sabar kan untuk mencoba membuat termometer ini? Untuk membuat termometer ini, persiapkan beberapa alat dan bahan berikut ini.
  1. 1 buah Mikrokontroller Arduino Uno R3 beserta kabel konektor USB
  2. 1 buah Sensor suhu LM35
  3. 1 buah Display (LCD Module 16x2 atau Multidigit 7-Segment)
  4. 1 buah 10K ohm potensiometer 
  5. Kabel jumper secukupnya
  6. 1 buah Laptop / PC Desktop yang sudah terinstall Arduino IDE
  7. 1 buah breadboard (apabila diperlukan)
Setelah Anda mendapatkan semua komponen di atas, selanjutnya Anda dapat memulai membuat rangkaian termometer. Gambar di bawah ini menunjukkan rangkaian termometer yang akan dibuat dengan menggunakan display LCD 16x2.



 Ada beberapa hal yang perlu dicatat dalam pemasangan rangkaian pada gambar di atas.
  • Hati-hati dengan pemasangan sensor suhu LM35. Jika sensor dilihat dari bagian yang datar, bagian kiri disambungkan ke pin +5V, bagian tengah disambungkan ke pin 0 analog, dan bagian kanan disambungkan ke pin ground.
  • Untuk pemasangan kabel-kabel ke LCD, kami menyarankan agar kabel disolder ke LCD ataupun menggunakan pin yang khusus untuk disolder ke komponen. Sebenarnya, bisa saja Anda melipatkan kabel ke pin-pin LCD seperti yang kami lakukan, tetapi Anda harus berhati-hati, mengingat potensi terjadinya arus pendek pada rangkaian lebih tinggi jika Anda menggunakan cara ini. 
Setelah rangkaian selesai dibuat, nyalakan PC Anda. Buka program Arduino IDE. Masukkan kode program di bawah ini. Kemudian klik tombol verify pada program Arduino IDE Anda. 

  
/*
Kode program untuk menampilkan suhu pada LCD
Perhitungan suhu telah dikalibrasi
*/

#include ≺liquidcrystal.h≻ // Library untuk LCD

const int numRows = 2; //Jumlah Baris pada LCD
const int numCols = 16; //Jumlah Kolom pada LCD
const int inPin = 0; // analog pin
const byte degreeSymbol = B11011111; //Simbol Degree

// Inisialisasi library dengan angka pada interface pin
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup()
{
  lcd.begin(numCols, numRows); // Mulai membuat tampilan di LCD
  lcd.print("Suhu sekarang : "); // Pesan pada LCD.
}
void loop()
{
  lcd.setCursor(0, 1);  // Set cursor pada kolom 0, baris 1 untuk tampilan angka suhu
  temperature(); // Fungsi penghitungan suhu
  lcd.write(degreeSymbol); // Tulis simbol derajat
  lcd.print("C"); // Tulis simbol celcius
}
void temperature()
{
  int value = analogRead(inPin); // Menerima nilai dari sensor suhu
  float millivolts = (value / 1024.0) * 5000; // Konversi nilai analog sensor ke tegangan
  float celsius = millivolts / 10; // Sensor output = 10mV per degree Celsius
  float calibrated = celsius + 0.16981663; // Rumus kalibrasi (menggunakan regresi linear)
  lcd.print(calibrated); // Tampilkan angka suhu pada LCD
  delay(1000); // Tunggu 1 detik untuk menampilkan pembacaan terbaru
}
  
Setelah program di atas terverifikasi, sambungkan Arduino ke PC Anda dengan menggunakan kabel konektor USB. Klik tombol upload pada PC Anda. Anda pun dapat mencoba hasil rangkaian Anda.

Untuk kalibrasi pengukuran, kami melakukan kalibrasi dengan cara membandingkan pengukuran suhu pada alat yang kami buat dengan termometer lab. Pengukuran yang dilakukan termometer lab lebih stabil dibandingkan dengan pengukuran sensor suhu. Oleh karena itu, dibutuhkan rumus kalibrasi. Kami melakukan hal ini di Laboratorium Fisika Dasar ITB pada siang hari. Pengambilan data dilakukan dengan interval 10 detik untuk setiap satuan data. Berikut ini adalah data kalibrasi pertama yang kami peroleh (suhu dalam satuan celsius).

No. Suhu Sensor Suhu Termometer
1 30,27 28,6
2 31,25 28,6
3 31,25 28,6
4 28,81 28,6
5 26,86 28,3
6 31,25 28,3
7 25,93 28,3
8 26,86 28,3
9 29,3 29
10 23,93 29

Pada saat pengambilan data kalibrasi yang pertama, kami sedikit ragu dengan hasil data yang kami peroleh sehingga kami melakukan pengambilan data kalibrasi yang kedua. Pengambilan data kalibrasi yang kedua kami lakukan beberapa lama setelah pengambilan data kalibrasi yang pertama. Berikut ini adalah data kalibrasi pertama yang kami peroleh (suhu dalam satuan celsius).

No.Suhu Sensor Suhu Termometer
1 29,3 28,3
2 26,86 28,3
3 26,8628,3
429,3 28,3
527,3428,6
629,328,6
7 29,328,6
8 26,86 28,6
9 29,3 29
10 27,34 29

Data pengukuran awal beserta rumus regresinya tidak dipakai karena ternyata, pada saat pengukuran dan pengambilan data kalibrasi awal, sensor suhu sebelumnya terkena sinar matahari secara langsung, di mana pada saat percobaan, cuaca sangat panas sehingga panas masih tersisa pada sensor. Berdasarkan data kalibrasi yang kedua, kami pun menurunkan rumus regresi dengan menggunakan kalkulator. Kami pun mendapatkan rumus sebagai berikut.

Y = X + 0,16981663

di mana X = nilai suhu pada sensor dalam celsius dan Y = nilai suhu pada termometer dalam celsius (nilai yang sudah terkalibrasi).
Rumus di atas tentunya sudah terimplementasi dalam kode program yang kami buat.
 
Berikut ini adalah foto dan video untuk percobaan yang kami lakukan.

Foto percobaan :


 


Video percobaan :




Sekian saja tulisan saya kali ini. Pembaca sekalian tentunya dapat mencoba hal diatas. Sampai bertemu kembali di tulisan saya yang berikutnya.

Referensi : Margolis, Michael. 2011. Arduino Cookbook, 2nd Edition. U.S.A:O’Reilly Media, Inc.

Credits to : Allah SWT, kedua orang tua saya, Pak Soni (selaku dosen mata kuliah), teman kelompok (Luthfi Al Fikri, Michael Yurry, Ryan Adi Wicaksana dan Faris Taufiq Zaqiy), teman-taman angkatan STI 2011, blogger.com, serta siapapun yang telah membantu terlaksananya tugas ini.

3 komentar:

  1. kak kok yang di foto sama yang digambar beda ya jumpernya? makasih ya kak

    BalasHapus
  2. kak kok di lcdnya ngak muncul tulisannya ya? tolong direspon dong makasih ya

    BalasHapus
  3. kak gimana analogi atau penjelasan yg buat simbol derajat itu,trimakasih kak

    BalasHapus