Pada posting sebelumnya kita sudah mencoba
menampilkan hasil pembacaan temperatur dari sensor LM-35 ke serial console di
layar monitor. Kali ini, kita akan mencoba menampilkan hasil pembacaan tersebut.
Peralatan yang digunakan
- Arduino Uno + Konektor PC
- Kabel tembaga
- LCD
- Potensiometer 10K
- Sensor temperatur LM-35
- Resistor 220 Ohm
- Breadboard (optional)
- Solder (optional)
- Kawat timah (optional)
LCD yang digunakan dalam percobaan memiliki
ukuran jumlah baris dan kolom 16x2. LCD ini memiliki pin sebanyak 16 tetapi
hanya digunakan sebanyak 12 saja. Pada setiap pin LCD terdapat sebuah lubang
kecil untuk mengaitkan kabel tembaga. Proses penyolderan kabel pada pin
sebenarnya tidak perlu dilakukan, tetapi dianjurkan agar kabel terhubung dengan
baik ke pin LCD. Breadboard juga
dianjurkan digunakan dalam percobaan ini mengingat cukup banyaknya jumlah kabel
yang digunakan.
Dalam percobaan ini dibutuhkan juga potensiometer 10K. Potensiometer ini
berfungsi untuk mengatur tegangan ke LCD agar karakter dapat terlihat.
Hati-hati dalam menghubungkan kabel. Periksa kembali hubungan antara LCD dengan
Arduino sebelum board dinyalakan karena dapat menimbulkan kerusakan. Saya pun
sempat terbalik ketika menghubungkan pin Arduino dengan pin LCD. Untung saja
LCD tidak memiliki masalah apa-apa. Jika ketika board dinyalakan dan program
dijalankan tetapi LCD tidak menampilkan apa-apa meskipun posisi potensiometer
sudah diubah-ubah, lebih baik Arduino dimatikan terlebih dahulu sebelum
diperiksa kembali.
Rangkaian |
Source Code
//Menampilkan hasil pembacaan temperatur
ke LCD
#include <LiquidCrystal.h>
// menggunakan library LiquidCrystal
const int numRows = 2;
//konstanta jumlah baris pada LCD
const int numCols = 16;
//konstanta jumlah kolom pada LCD
LiquidCrystal lcd(12, 11, 5, 4,
3, 2);// inisialisasi pin yang digunakan sebagai interface LCD
const int inPin = 0;
//inisialisasi pin LM-35
void setup(){
lcd.begin(numCols, numRows); //inisialisasi jumlah kolom dan baris LCD
}
void loop(){
//MEMBACA TEMPERATUR
int value = analogRead(inPin); //Baca nilai pada pin LM-35
float millivolts = (value / 1024.0) * 5000; //memperoleh nilai tegangan
dalam mV
float celsius = millivolts / 10; //memperoleh nilai derajat celsius
celsius+=1.35; //kalibrasi temperatur dengan menambah 1,35
float fahrenheit = celsius*9/5+32; //konversi nilai derajat celsius ke
fahrenheit
//MENAMPILKAN DI LCD
lcd.setCursor(0, 0); //set kursor ke kolom pertama dan baris pertama.
Hitungan dimulai dari 0
//Print celsius
lcd.print("Celsius : ");
lcd.print(celsius);
lcd.setCursor(0, 1); //set kursor ke kolom pertama dan baris kedua
//Print fahrenheit
lcd.print("Fahrenht : ");
lcd.print(fahrenheit);
delay(500);//delay 0,5 detik
}
Hasil
Temperatur udara
Mengukur temperatur tubuh
Penjelasaan
Proses awal pada percobaan kali ini sama dengan percobaan pada posting
sebelumnya. Kita memperoleh nilai temperatur dalam derajat Celsius dari tegangan
pada pin LM-35. Setelah itu kita dapat memperoleh temperatur dalam derajat
Fahrenheit dengan mengonversi dari Celsius.
Perbedaan dari percobaan sebelumnya terletak pada bagian untuk
menampilkan hasil pembacaan tersebut. Jika pada posting sebelumnya menggunakan fungsi serial.print() untuk
menampilkan hasil bacaan ke serial
console pada layar monitor, pada percobaan ini Arduino memiliki library LiquidCrystal yang berisi
perintah-perintah dalam menggunakan LCD. Untuk menampilkan teks ke LCD, kita
dapat menggunakan fungsi lcd.print(). Ketika fungsi lcd.print()
dipanggil, Arduino menampilkan karakter yang berada di dalam parameter pada
posisi awal yang ditentukan oleh fungsi lcd.setCursor(<kolom>,<baris>) yang
dipanggil sebelumnya. Jika belum ditentukan, secara otomatis akan dimulai pada
baris dan kolom pertama.
Pembacaan temperatur pada percobaan ini dikalibrasi, yaitu dilakukan
penyesuaian temperatur yang diperoleh dengan temperatur sebenarnya. Kalibrasi dilakukan dengan cara
menyentuh LM-35 selama beberapa menit kemudian lihat temperatur yang dibaca.
Diketahui temperatur tubuh manusia normal sekitar 36 derajat Celsius. Hasil
pembacaan kemudian ditambah atau dikurang selisih antara temperatur tubuh
manusia normal dan hasil yang didapat. Di dalam percobaan ini temperatur yang
diperoleh dikalibrasikan dengan menambah sebesar 1,35 derajat Celsius.
Referensi
Margolis, Michael. 2011. Arduino Cookbok, Second Ediion. CA : O'Reilly Media, Inc.
Tidak ada komentar:
Posting Komentar