Anda di halaman 1dari 10

Arduino Short Courses

by Adam Tirta Kusuma

PLAYING WITH LCD


SEKILAS

Pada pembelajaran ini, kita akan belajar cara untuk memfungsikan LCD
(Liquid Crystas Display) sebagai penampil hasil suatu kontrol atau
perhitungan, dan selain itu kita akan menggunakan LDR dan servo untuk
melihat besaran nilai pengontrol.
BAGIAN-BAGIAN

Komponen Detail Qty

LCD Display 16 x 2 1

LDR (Light Dependent


1
Resistor)

Mini servo 1

Potensiometer 1

Bread Board Ukuran


1
Sedang

Arduino UNO 1

Kabel Jumper 1
LAYOUT BREADBOARD

Pada LCD hanya menggunakan 6 pin arduino. Tegangan yang digunakan


berasal dari dari arduino 5V dan GND.

Setiap pin-pin harus bersesuaian dengan fungsi yang ada pada program.
Mulai dari pin EN, RS, vss, dan DB4 hingga DB7. Ada juga penggunaan
potensiometer pada rangkaian digunakan untuk mengatur kontras display
LCD.
SKETCH “Hello World”

#include <LiquidCrystal.h>

LiquidCrystal lcd(7,8,9,10,11,12);

void setup() {

lcd.begin(16, 2);

lcd.print("hello, world!");

void loop() {

lcd.setCursor(0, 1);

lcd.print(millis() / 1000);

}
LDR DISPLAI LCD

Pada rangkaian ini, ditambahkan sebuah LDR. Nilai LDR akan ditampilkan
pada display LCD.

Pada LDR, menggunankan pin analog A0 arduino. Selain itu, ditambahkan


resistor sebesar 1k ohm yang dihungkan pada GND.
SKETCH

#include <LiquidCrystal.h>
LiquidCrystal lcd(7,8,9,10,11,12);

void setup() {
pinMode(A0, OUTPUT)
lcd.begin(16, 2);
lcd.print("Nilai LDR=");
}

void loop() {
lcd.setCursor(11,0);
lcd.print(ldr());
}

int ldr(){
int pinLDR =analogRead(A0);
//konversi tegangan
int pinLDR_conv = (pinLDR/1023)*5;
return pinLDR;
}
BERMAIN SERVO LCD

Ditambahkan sebuah LCD. Kegunaannya setiap pergerakan sudut servo


yang terjadi akan didisplai pada LCD. Jadi, sudut servo akan bisa dipantau
secara lansung.
SKETCH

#include <LiquidCrystal.h>
#include <Servo.h>

Servo myservo;
int pos = 0;

LiquidCrystal lcd(7,8,9,10,11,12);

void setup() {
myservo.attach(6);
lcd.begin(16, 2);
lcd.print("Nilai sudut=");
}

void loop() {
for (pos = 0; pos <= 180; pos += 1) {
myservo.write(pos);
lcd.setCursor(13,0);
lcd.print(pos);
delay(15);
}
for (pos = 180; pos >= 0; pos -= 1) {
myservo.write(pos);
lcd.setCursor(13,0);
lcd.print(pos);
delay(15);
}
}
Sumber:

-Adafruit

Anda mungkin juga menyukai