Menampilkan Data Rotary Encoder di LCD dengan Arduino

hallo AWI'ers....
postingan kali ini merupakan lanjutan dari postingan rotary encoder kemarin. Kalau kemarin data yang di tampilkan di serial monitor, yg sudah terintegrasi dengan software Arduino. pada kali ini akan di tampilkan pada LCD 16x2

settingan port pada LCD sama dengan postingan LCD sebelumnya

Konfigurasi pin2nya adalah sebagai berikut :

  • Pin RS (kaki 4) di sambungkan dengan pin arduino digital pin 12
  • Pin E (kaki 6) di sambungkan dengan pin arduino digital pin 11
  • Pin D4 (kaki 11) di sambungkan dengan pin arduino digital pin 5
  • Pin D5 (kaki 12) di sambungkan dengan pin arduino digital pin 4
  • Pin D6 (kaki 13) di sambungkan dengan pin arduino digital pin 3
  • Pin D7 (kaki 14) di sambungkan dengan pin arduino digital pin 2
  • sambungkan potensio 10 KOhm ke  +5v dan GND , dan Pin LCD 3 ke potensio
  • Pin 5 (R/W) ke Ground
  • output Rotary (kabel kuning) disambungkan dengan pin arduino digital pin 7 
setelah semua konfigurasi selesai,buka halaman editor untuk arduino silahkan coding seperti di bawah ini


    #include <LiquidCrystal.h>
    LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
    int inPin = 7;   // pushbutton connected to digital pin 7
    int val = 0;     // variable to store the read value
    int counter = 0;
    int encoderLast = LOW;

    void setup() {
      digitalWrite(inPin,HIGH);
      // set up the LCD's number of columns and rows:
      lcd.begin(16, 2);
      lcd.setCursor(0, 0);
      lcd.print("Rotary : ");
      lcd.setCursor(0, 1);
      lcd.print(" Arduino.web.id");

    }

    void loop() {
      val = digitalRead(inPin);   // read the input pin
      lcd.setCursor(8, 0);
      if((encoderLast == LOW)&&(val==HIGH))
      {
        counter++;
        lcd.print(counter);
      }
      encoderLast = val;
    }

    gambar hasil percobaan