LCD 16 X 2 I2C PINOUT
PENJELASAN SINGKAT
LCD 16x2 (Liquid Crystal Display) merupakan modul penampil data yang mempergunakan kristal cair
sebagai bahan untuk penampil data yang berupa tulisan maupun gambar. Pengaplikasian pada kehidupan sehari
- hari yang mudah dijumpai antara lain pada kalkulator, gamebot, televisi, atau pun layar komputer.
Jenis dari perangkat ini akan dibahas tentang Tutorial Arduino mengakses LCD 16x2 dengan mudah, dimana
mudah didapatkan ditoko elektronik terdekat.
Spesifikasi dari LCD 16×2
Terdiri dari 16 kolom dan 2 baris
Dilengkapi dengan back light
Mempunyai 192 karakter tersimpan
Dapat dialamati dengan mode 4-bit dan 8-bit
Terdapat karakter generator terprogram
Gambar 1
Rangkailah pada Trainer IOT WEMOS seperti pada gambar 1, gunakan SCL dan SDA pada pin wemos untuk
disambungkan ke Pin SCL dan SDA pada LCD :
Jika saat LCD sudah deprogram dan apabila LCD tidak menampilkan tulisan maka langkah awal pastikan
trimpot pada I2C LCD diKalibrasi terlebih dahulu hingga tulisan dapat dibaca.
Kalibrasi Trimpot LCD I2C pada lubang yang Dibawah board sesuai pada gambar sehingga tulisan pada LCD
dapat terbaca
1. Buatlah program untuk menampilkan tulisan pada LCD.contohnya “NAMA ANDA” . Contoh program
seperti pada program 0.1
2. Tampilkan tulisan “PASTI BISA” dibawah tulisan nama anda
3. Coba lah 4 program di bawah menggunakan LCD 16x2 dan menggunakan switch dan berikan masing –
masing kesimpulan pada ke empat program tersebut
Program 0.1
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd (0x27, 16, 2);
void setup() {
lcd.begin();
lcd.clear();
delay(1000);
lcd.setCursor(0,0);
lcd.print( “NAMA ANDA");
}
void loop() {
}
Program 1
int led1 = D5;
int tombol1 = D4;
bool jalan = false;
void setup(){
pinMode(led1, OUTPUT);
pinMode(tombol1, INPUT_PULLUP)
}
void loop(){
if (digitalRead(tombol1) == 0) {
delay(200);
jalan = !jalan;
digitalWrite(led1, jalan);
}
}
Program 2
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
char angka = 36;
int sw1 = D5;
int sw2 = D4
void setup() {
lcd.begin();
pinMode(sw1, INPUT_PULLUP);
pinMode(sw2, INPUT_PULLUP);
}
void loop() {
if(digitalRead(sw1) == 0){
angka = angka +1
if(digitalRead(sw2) == 0){
angka = angka -1;
}
lcd.setCursor(0,0);
lcd.print(angka);
}
Program 3
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
String karakter;
int a;
int b;
int hasil;
void setup() {
lcd.begin();
}
void loop() {
a = 5;
b = 3;
hasil = a + b;
karakter = "10";
lcd.setCursor(0,0);
lcd.print(hasil);
}
Program 4
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
byte counter = 0;
int sw1 = D5;
int sw2 = D4;
void setup() {
Serial.begin(9600);
pinMode(sw1,INPUT_PULLUP);
pinMode(sw2,INPUT_PULLUP);
lcd.begin();
lcd.clear();
delay(1000);
}
void loop() {
if(digitalRead(sw1) == 0){
delay(200);
counter = counter+1;
lcd.setCursor(10,0);
lcd.print(" ");
}
if(digitalRead(sw2) == 0){
delay(200);
counter = counter-1;
lcd.setCursor(10,0);
lcd.print(" ");
}
lcd.setCursor(0,0);
lcd.print("Counter= "); lcd.print(counter);
}