Kamis, 09 Juni 2016

Menggunakan LCD DFRobot

Tutorial kali ini membahas mengenai cara menggunakan LCD shield dari DFRobot. Kit/ shield ini amat mudah dalam penggunaannya. Tingga memasang pin kaki LCD shield ke arduino dengan melihat keterangan pin kakinya agar tidak salah atau terbalik dalam pemasangannya. Tulisan ini merupakan terjemahan dan pengutipan dari situs www.dfrobot.com yang berbahasa inggris, jika ingin melihat pemaparan lebih jelas bisa mampir ke link situs tersebut.

Artikel lain:

Pendahuluan
Shield LCD dengan Keyped dikembangkan cocok untuk digunakan Arduino, memberikan kemudahan dakam penggunaannya untuk melakukan pemilihan menu, membuat pilihan, dll. Terdiri dari 1602 karakter putih dengan warna latar belakang biru pada LCD. Keypad terdiri dari 5 tombol -- select, atas, kanan, dan kiri. Untuk menyimpan pin digital IO, keypad interface hanya menggunakan satu ADC channel . Nilai key dibaca melalui 5 tahap pembagian tegangan.


Untuk kode yang digunakan sebagai berikut:

//Sample using LiquidCrystal library
#include <LiquidCrystal.h>

/*******************************************************

This program will test the LCD panel and the buttons
Mark Bramwell, July 2010

********************************************************/

// select the pins used on the LCD panel
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

// define some values used by the panel and buttons
int lcd_key     = 0;
int adc_key_in  = 0;
#define btnRIGHT  0
#define btnUP     1
#define btnDOWN   2
#define btnLEFT   3
#define btnSELECT 4
#define btnNONE   5

// read the buttons
int read_LCD_buttons()
{
 adc_key_in = analogRead(0);      // read the value from the sensor 
 // my buttons when read are centered at these valies: 0, 144, 329, 504, 741
 // we add approx 50 to those values and check to see if we are close
 if (adc_key_in > 1000) return btnNONE; // We make this the 1st option for speed reasons since it will be the most likely result
 // For V1.1 us this threshold
 if (adc_key_in < 50)   return btnRIGHT;  
 if (adc_key_in < 250)  return btnUP; 
 if (adc_key_in < 450)  return btnDOWN; 
 if (adc_key_in < 650)  return btnLEFT; 
 if (adc_key_in < 850)  return btnSELECT;  

 // For V1.0 comment the other threshold and use the one below:
/*
 if (adc_key_in < 50)   return btnRIGHT;  
 if (adc_key_in < 195)  return btnUP; 
 if (adc_key_in < 380)  return btnDOWN; 
 if (adc_key_in < 555)  return btnLEFT; 
 if (adc_key_in < 790)  return btnSELECT;   
*/


 return btnNONE;  // when all others fail, return this...
}

void setup()
{
 lcd.begin(16, 2);              // start the library
 lcd.setCursor(0,0);
 lcd.print("Push the buttons"); // print a simple message
}
 
void loop()
{
 lcd.setCursor(9,1);            // move cursor to second line "1" and 9 spaces over
 lcd.print(millis()/1000);      // display seconds elapsed since power-up


 lcd.setCursor(0,1);            // move to the begining of the second line
 lcd_key = read_LCD_buttons();  // read the buttons

 switch (lcd_key)               // depending on which button was pushed, we perform an action
 {
   case btnRIGHT:
     {
     lcd.print("RIGHT ");
     break;
     }
   case btnLEFT:
     {
     lcd.print("LEFT   ");
     break;
     }
   case btnUP:
     {
     lcd.print("UP    ");
     break;
     }
   case btnDOWN:
     {
     lcd.print("DOWN  ");
     break;
     }
   case btnSELECT:
     {
     lcd.print("SELECT");
     break;
     }
     case btnNONE:
     {
     lcd.print("NONE  ");
     break;
     }
 }

}

Program diatas hanya menampilkan beberapa kata, hitungan detik dan menu tampilan kata apabila kita menekan tombol arah pada LCD. Kita bisa memfariasikan penggunaan LCD ini dengan mebuat pengembangan program sendiri.

Untuk program dalam bentuk INO bisa didownload diSINI.

Selamat mencoba....
Semoga Bermanfaat....

Baca juga:
Pengujian Sismin Arduino Mega 2560 (Kombinasi LED)

Tidak ada komentar:

Posting Komentar

Related Posts Plugin for WordPress, Blogger...