PENDAHULUAN
Sekarang adalah pengembangan dari sensor
suhu yang telah kita buat sebelumnya. Kalau percobaan kemarin hanya
mengirimkan data hasil pembacaan sensor suhu ke serial port, kali ini
besarnya suhu yang terbaca akan kita tampilkan pada LCD (Liquid Crystal Display).
Untuk LCD yang digunakan pada project
kali ini adalah LCD shield produksi DFRobot yang merupakan matriks LCD
yang memiliki baris dan kolom sejumlah 48x84. LCD shield ini unik juga,
karena selain memiliki backlight juga telah build-in dengan joystick
mini sehingga bisa digunakan untuk tombol pilihan menu sebagaimana yang
ada di handphone.
Harap diperhatikan ketika menggunakan
shield LCD ini. Pin D2, D3, D4, D5, D6 digunakan untuk SPI interface. D7
digunakan untuk mengontrol backlight. Sedangkan A0 digunakan untuk
input dari joystick (5 degree). Sehingga jika shield LCD4884 ini
dipasangkan pada Arduino, pin-pin tersebut tidak dapat digunakan lagi
untuk keperluan lainnya.
Bahan yang dibutuhkan
- 1x Arduino UNO
- 1x DFRobot LCD 48x84 shield
- 1x Sensor Suhu LM35DZ
- 1x BreadBoard
- 1x Kabel USB tipe A-B
- 3x Jumper
STEP BY STEP
- Rakit rangkaian
- Buat sketch dan upload ke Arduino
- Testing
Rakit rangkaian sebagaimana project sebelumnya, namun pin data data LM35 bukan lagi ke pin Analog 0 melainkan ke pin Analog 1.
Buat sketch dan upload ke Arduino
/*------------------------------------------------------------------ SENSOR SUHU LCD Author : Insan Sains Date Created : Last Modified : 17 April 2011 Language : English for script Indonesia for Comments Descriptions : Sketch ini menampilkan nilai suhu di LCD 4884 pin data LM35DZ (tengah) dihubungkan ke Analog 1 ------------------------------------------------------------------*/ #include <LCD4884.h> #include <stdlib.h> #define pinDataLM35 1 // pin tengah LM35 ke port Analog 1 float temperature; // variable untuk menyimpan data suhu // float berarti hasilnya akan ada koma // kalau int hasilnya berupa pembulatan char buffer[8]; // untuk menyimpan float -> string void setup() { lcd.LCD_init(); lcd.LCD_clear(); } void loop() { /* Baca output dari LM35 yang masuk ke pin analog Data yang terbaca sudah dalam bentuk konversi ADC Konversi ADC = Vout/Vref*1023 Jadi bukan dalam bentuk besaran tegangan lagi Jika ingin tahu tegangan output LM35 gunakan rumus di atas : Tegangan terbaca = Konversi ADC * tegangan referensi / 1024 Ukur pin 2 dan 3 pd LM35 dengan multimeter untuk memastikan */ temperature = analogRead(pinDataLM35); // Ubah data konversi ADC diatas menjadi besaran suhu // menggunakan rumus konversi ADC temperature = temperature * (5.0 * 100.0/1024.0); // Kirim hasil pembacaan via serial port lcd.LCD_write_string(0,0," Suhu saat ini (Celcius) : ", MENU_NORMAL); lcd.LCD_write_string_big(15,2, dtostrf(temperature, 5,2, buffer), MENU_NORMAL); // Berikan pewaktuan agar tidak langsung berubah delay(500); }
Save kemudian upload sketch di atas ke board Arduino.
Testing
Pasang LCD Shield, dan dapat terlihat sekarang LCD menampilkan besarnya suhu yang terukur.
DEVELOPMENT
- Tambahkan animasi tampilan LCD
Tidak ada komentar:
Posting Komentar