Bu videoda kullanımı en basit olan shieldlardan biri olan LCD keypad shieldı kullanmayı öğreneceğiz. LCD keypad shield aşırı derece kullanışlı bir modül. Çoğunlukla kumanda, menü kontrolü vb. projelerde kullanılan modül, kullanım kolaylığı ile öne çıkıyor. İster kütüphane ile ister kütüphanesiz kullanabiliyorsunuz. ( Biz videoda kütüphanesiz kullanarak her şeyi kendimiz yaptık.) Tasarımı ve özel pin sıralaması ile çok kolay proje geliştirilebiliyor. Aynı zamanda diğer shieldlarda olduğu gibi farklı arduino modülleri ile uyumlu. Hatta kütüphane gerektirmediği için rahatlıkla pic ve arm gibi farklı mikrodenetleyicilerde de rahatlıkla kullanılabilir.

Videoda tüm bu özelliklere ve fazlasına ayrıntılarıyla beraber değindiğimiz için dilerseniz burayı kısa tutalım ve hemen videoya geçelim. Umarım videoyu beğenirsiniz arkadaşlar, hepinize iyi çalışmalar, hoşça kalın!

Videoda sadece Arduino kartımızı ve LCD keypad shieldi kullandık. Dolayısı ile bir devre şeması da yok 🙂

ARDUINO KODU

/*
   Lezzetli Robot Tarifleri
   Arduino İle Nasıl Kullanılır
   LCD Keypad Shield
   VİDEO >>> http://lezzetlirobottarifleri.com/video/lcd-keypad-shield-arduino-ile-nasil-kullanilir
*/
#include <LiquidCrystal.h>

LiquidCrystal ekran(8, 9, 4, 5, 6, 7);

int basilan_tus     = 0;
int okunan_deger  = 0;

#define sag     0
#define yukari  1
#define asagi   2
#define sol     3
#define sec     4
#define yok     5

byte buton_bul()
{
  okunan_deger = analogRead(A0);
  if (okunan_deger > 1000)
    return yok;
  if (okunan_deger < 50)
    return sag;
  if (okunan_deger < 195)
    return yukari;
  if (okunan_deger < 380)
    return asagi;
  if (okunan_deger < 555)
    return sol;
  if (okunan_deger < 790)
    return sec;
}

void setup()
{
  ekran.begin(16, 2);
  ekran.setCursor(0, 0);
  ekran.print("Basilan Buton: ");
}

void loop()
{
  ekran.setCursor(0, 1);
  basilan_tus = buton_bul();

  switch (basilan_tus)
  {
    case sag:
      {
        ekran.print("sag   ");
        break;
      }
    case sol:
      {
        ekran.print("sol   ");
        break;
      }
    case yukari:
      {
        ekran.print("yukari");
        break;
      }
    case asagi:
      {
        ekran.print("asagi ");
        break;
      }
    case sec:
      {
        ekran.print("sec   ");
        break;
      }
    case yok:
      {
        ekran.print("yok   ");
        break;
      }
  }
}