#include <LiquidCrystal.h>
const int switchPin = 8;
const int ledPin = 13;
int state;
int lastState;
int buttonCounter = 0;
// initialize the library with the umber of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("Mikro&Antarmuka");
Serial.begin(9600);
pinMode(switchPin, INPUT);
pinMode(ledPin, OUTPUT);
}
void loop() {
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 1);
// print the number of seconds since reset:
state = digitalRead(switchPin);
if (state != lastState){
if (state == HIGH){
if (buttonCounter <= 8){
buttonCounter++;
} else buttonCounter=0;
Serial.println(buttonCounter);
}
lastState = state;
}
lcd.print(buttonCounter);
delay(2);
}
Dari hasil percobaan pertama yang dilakukan dapat diperoleh hasil seperti gambar
tersebut dengan menambahkan tulisan pada program
// Print a message to the LCD.
lcd.print("Mikro&Antarmuka");
dari ketikkan program tersebut diperintahkan untuk menghasilkan tampilan berupa
tulisan Mikro&Antarmuka, jika akan mengganti dengan tulisan lain cukup dengan
mengganti pada program yang bertuliskan “Mikro&Antarmuka” dengan tulisan yang
diinginkan. Tulisan ini akan ditampilkan pada baris 2 dan memulai tulisan di kolom ke
16, pada program cukup dituliskan dengan
lcd.begin(16, 2);
Sedangkan pada baris 1 dan kolom 0 akan ditampilkan perhitungan dimulai dari angka 0,
setelah angka 0 muncul berganti dengan angka 1 dan begitu seterusnya dengan
pertambahan perhitungan setiap pergantian sebayak 1 dan delay yang diberikan
sebesar 1detik.
Fungsi Potensiometer pada percobaan ini digunakan untuk mengatur cahaya yang
ditampilkan pada LCD. Semakin besar hambatan yang diberikan dengan memutar
potensiometer kea rah kanan maka semakin cerah tampilan pada LCD.
Pada tugas percobaan pertama diminta untuk menampilkan tampilan seperti
gambar berikut dengan kedua baris bergerak ke kiri hingga semua karakter hilang,
kemudian bergerak ke kanan hingga semua karakter hilang dan berulang.
Hasil percobaan seperti gambar diatas bisa didapatkan dengan membuat program yang
dijalankan dengan perintah berikut :
#include <LiquidCrystal.h>
void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("ERNI NOVITA");
delay(1000);
lcd.setCursor(0,1);
//Print a message to the LCD.
lcd.print("3.33.13.0.08");
delay (1000);
}
void loop() {
// scroll 13 positions (string length) to the left
// to move it offscreen left:
for (int positionCounter = 0; positionCounter < 13; positionCounter++) {
// scroll one position left:
lcd.scrollDisplayLeft();
// wait a bit:
delay(150);
}
}
Dari program yang ditiliskan seperti gambar diatas akan diperoleh tampilan dengan
kedua baris akan menggeser ke kiri kemudian bergeser kekanan dan kembali lagi
kemudian berhenti dan berlanjut. Saat berhenti dan dilanjut untuk menggeser diberikan
delay selama 1 detik.
Pada percobaan kedua pada jobsheet ini setelah diberikan program seperti pada
program ke dua LCD dengan input Digital akan diperoleh tampilan seperti gambar
berikut :
Dalam percobaan ini diberikan inputan berupa switch button, jadi jika tombol pada
switch ditekan tampilan yang awalnya pada baris 2 menampilkan angka 0 akan berganti
menjadi 1 saat ditekan tombol switchnya dan akan berganti setiap tombol pada switch
ditekan hingga hitungan sampai pada 9, setelah itu akan berganti kembali ke 0. Hal ini dapat
terjadi karena pada program telah diatur dengan menuliskan program berikut :
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 1);
// print the number of seconds since reset:
state = digitalRead(switchPin);
if (state != lastState){
if (state == HIGH){
if (buttonCounter <= 8){
buttonCounter++;
} else buttonCounter=0;
Serial.println(buttonCounter);
}
lastState = state;
}
lcd.print(buttonCounter);
delay(2);
}
Pada percobaan berikutnya yaitu pada tugas membuat program sama seperti pada
tugas percobaan pertama tadi hanya saja pergeseran pada tampilan terjadi saat
switch ditekan. Hasil percobaan seperti gambar berikut :
Untuk menghasilkan tampilan seperti gambar diatas dan dengan menekan tombol
switch dapat menggeser kedua baris berjalan ke keiri kemudian kembali bergeser
kekanan dengan mengetikkan program sebagai berikut :
#include <LiquidCrystal.h>