Anda di halaman 1dari 14

BAB V

SEVEN SEGMENT MULTIFUNCTION SHIELD,


LCD&I2C , DAN KEYPAD
5.1. Pemrograman Seven Segment Multifunction Shield
5.1.1. Tujuan
Setelah praktikum selesai dilakukan peserta harus dapat :
a. Memahami cara mengeluarkan data ke port output
b. Membuat program untuk mengirim data ke port
5.1.2. Langkah percobaan
a. Hubungkan port Arduino Uno.
b. Hubungkan Arduino Uno dengan PC menggunakan USB Printer.
c. Hubungkan Arduino Uno dengan sumber tegangan.
d. Ketikkan program, pada editor program, kemudian compile dan
download ke Arduino Uno, dan amati hasilnya.
5.1.3. Pengertian
Seven segment 4×1 prinsipnya sama dengan seven segment 1×1 hanya saja terdapat
4 digit Seven segment yang dapat diatur tampilannya. Antara digit 1 sampai digit 4
saling terhubung, apabila diberikan input misalnya angka 1 maka keempat seven
segment akan menampilkan angka 1. Nah, agar tampilan masing-masing digit berbeda
maka diperlukan teknik switching pada power masing-masing digit seven segment.
Bila ingin menampilkan angka 1234 maka langkahnya, tulis angka 1 lalu nyalakan
digit 1, tulis angka 2 lalu nyalakan digit 2, tulis angka 3 lalu nyalakan digit 3, dan tulis
angka 4 lalu nyalakan digit 4. Jika cara tersebut dilakukan dengan kecepatan tinggi
maka hasilnya terlihat angka 1234 karena mata manusia tidak dapat menangkap
perpindahan angka tersebut. Seven segment 4×1 tersedia pada integrated output, dan
dapat digunakan dengan menyambungkan pin-pin yang ada ke Arduino.
Gambar 5.1 Rangkain Seven sement Paralel

5.1.4. Prinsip kerja Seven Segment

Prinsip kerja dari seven segment ini adalah bekerja sesuai perintah yang
diberikan melalui driver atau IC yang berhubung langsung dengan kaki-kaki seven
segment melalui sebuah code low atau high. Maksudnya, perintah untuk
menjalankan sebuah seven segment sama seperti menyalakan dan mematikan
sebuah LED tetapi dengan sebuah rangkaian komplek LED yang membentuk angka
8 pada seven segment dan dinyalakan/dimatikan sesuai angka yang ingin di
munculkan pada layar seven segment. Jadi logika sederhananya kita mengatur 8
buah susunan Led sehingga membentuk sebuah angka.
5.1.5. Gambar Skematik

Gambar 5.1 pergeseran data seven segmen


5.1.6. Script

/* Define shift register pins used for seven segment display */


#define LATCH_DIO 4
#define CLK_DIO 7
#define DATA_DIO 8
/* Segment byte maps for numbers 0 to 9 */
const byte SEGMENT_MAP[] =
{0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0X80,0X90};
/* Byte maps to select digit 1 to 4 */
const byte SEGMENT_SELECT[] = {0xF1,0xF2,0xF4,0xF8};
void setup ()
{
/* Set DIO pins to outputs */
pinMode(LATCH_DIO,OUTPUT);
pinMode(CLK_DIO,OUTPUT);
pinMode(DATA_DIO,OUTPUT);
}
/* Main program */
void loop()
{
/* Update the display with the current counter value */
WriteNumberToSegment(0 , 0);
WriteNumberToSegment(1 , 1);
WriteNumberToSegment(2 , 2);
WriteNumberToSegment(3 , 3);
}
/* Write a decimal number between 0 and 9 to one of the 4 digits
of the display */
void WriteNumberToSegment(byte Segment, byte Value)
{
digitalWrite(LATCH_DIO,LOW);
shiftOut(DATA_DIO, CLK_DIO, MSBFIRST, SEGMENT_MAP[Value]);
shiftOut(DATA_DIO, CLK_DIO, MSBFIRST, SEGMENT_SELECT[Segment] );
digitalWrite(LATCH_DIO,HIGH);}
5.2. Pemrograman LCD(Liquid Crystal Display)
5.2.1. Tujuan
Setelah praktikum selesai dilaksanakan peserta harus dapat :
a. Memahami cara menampilkan data di LCD
b. Membuat program untuk menampilkan data di LCD
5.2.2. Alat yang di perlukan

a. LCD ( Liquid Crystal Display ) 16 x 2.


b. Arduino Uno
c. Catu Daya.
d. Hubungkan sesuai gambar rangkaian.
5.2.3. Pengertian
a. LCD (Liquid Crystal Display)
LCD merupakan singkatan dari Liquid Crystal Display yang dapat
digunakan untuk menampilkan berbagai hal berkaitan dengan aktivitas
mikrokontroller, salah satunya adalah menampilkan teks yang terdiri dari
berbagai karakter. LCD banyak digunakan karena fungsinya yang bervariasi,
dan juga pemrogramannya yang mudah.
Dalam menampilkan numerik ini kristal yang dibentuk menjadi bar, dan
dalam menampilkan alfanumerik kristal hanya diatur kedalam pola titik. Setiap
kristal memiliki sambungan listrik individu sehingga dapat dikontrol secara
independen. Ketika kristal off' (yakni tidak ada arus yang melalui kristal)
cahaya kristal terlihat sama dengan bahan latar belakangnya, sehingga kristal
tidak dapat terlihat. Namun ketika arus listrik melewati kristal, itu akan
merubah bentuk dan menyerap lebih banyak cahaya. Hal ini membuat kristal
terlihat lebih gelap dari penglihatan mata manusia sehingga bentuk titik atau
bar dapat dilihat dari perbedaan latar belakang.
Sangat penting untuk menyadari perbedaan antara layar LCD dan layar
LED. Sebuah LED display (sering digunakan dalam radio jam) terdiri dari
sejumlah LED yang benar-benar mengeluarkan cahaya (dan dapat dilihat
dalam gelap). Sebuah layar LCD hanya mencerminkan cahaya, sehingga tidak
dapat dilihat dalam gelap.
 Spekifikasi LCD 16x2

Operating voltage 5V

Controller Hitachi HD44780 LCD


controller

Default address 0x27

Screen resolution 2-lines x 16 characters

Character resolution 5 x 8 pixels

Module dimensions 80 x 36 x 12 mm
Viewing area dimensions 64.5 x 16.4 mm

Deskripsi Pin LCD Untuk keperluan antar muka suatu komponen


elektronika dengan mikrokontroler, perlu diketahui fungsi dari setiap kaki yang
ada pada komponen tersebut:
PIN Deskripsi
1 Ground
2 Vcc
3 Pengatur kontras kaki ini terhubung pada cermet. Kontras mencapai
nilai maksimum pada saat kondisi kaki ini pada tegangan 0 volt.
4 “RS” Instruction/Register Select, kaki pemilih register yang akan
diakses. Untuk akses ke Register Data, logika dari kaki ini adalah 1
dan untuk akses ke Register Perintah, logika dari kaki ini adalah 0.
5 R/W (Read / Write) : Logika 1 pada kaki ini menunjukan bahwa
modul LCD sedang pada mode pembacaan dan logika 0
menunjukan bahwa modul LCD sedang pada mode penulisan.
Untuk aplikasi yang tidak memerlukan pembacaan data pada modul
LCD, kaki ini dapat dihubungkan langsung ke Ground.

6 “EN” Enable, Enable Clock LCD, kaki mengaktifkan clock LCD.


Logika 1 pada kaki ini diberikan pada saat penulisan atau
membacaan data.

7-14 Data I/O Pins Data bus, kedelapan kaki LCD ini adalah bagian di
mana aliran data sebanyak 4 bit ataupun 8 bit mengalir saat proses
penulisan maupun pembacaan data.
15 Anoda Berfungsi untuk tegangan positif dari backlight LCD sekitar
4,5 volt (hanya terdapat untuk LCD yang memiliki backlight)
16 Katoda Tegangan negatif backlight LCD sebesar 0 volt (hanya
terdapat pada LCD yang memiliki backlight).
Gambar 5.2 LCD 16x2
b. I2C( Inter Integrated Circuit)
Inter Integrated Circuit atau sering disebut I2C adalah standar komunikasi
serial dua arah menggunakan dua saluran yang didisain khusus untuk mengirim
maupun menerima data. Sistem I2C terdiri dari saluran SCL (Serial Clock) dan SDA
(Serial Data) yang membawa informasi data antara I2C dengan pengontrolnya.
Piranti yang dihubungkan dengan sistem I2C Bus dapat dioperasikan
sebagai Master dan Slave. Master adalah piranti yang memulai transfer data pada
I2C Bus dengan membentuk sinyal Start, mengakhiri transfer data dengan
membentuk sinyal Stop, dan membangkitkan sinyal clock . Slave adalah piranti
yang dialamati master.

Gambar 5.4 I2C LCD


5.2.4. Prinsip Kerja
Prinsip atau cara kerja dari LCD sebenarnya cukup sederhana, yakni dengan
memanfaatkan prinsip fisika terkait cahaya putih. Dikatakan bahwa cahaya putih
terdiri dari ratusan cahaya dengan warna yang berbeda-beda. Berbagai macam
warna cahaya akan terlihat apabila cahaya putih mengalami refleksi atau
perubahan arah sinar.
Dengan begitu saat terjadi perbedaan arah refleksi cahaya, akan berbeda pula
warna yang ditampilkan. Pada sebuah LCD, backlight berwarna putih akan
memberikan pencahayaan pada cairan kristal, yang kemudian disaring dan
direfleksikan sesuai dengan sudut yang diinginkan sehingga menghasilkan warna
sesuai dengan yang dikehendaki.

Cara mengubah sudut refleksinya tergantung dengan seberapa besar aliran


listrik yang diterima. Jika ingin menghasilkan warna putih, maka kristal cair akan
dibuka selebar-lebarnya sehingga cahaya bisa masuk. Sebaliknya, apabila ingin
menampilkan warna hitam, maka kristal cair harus ditutup serapat-rapatnya
sehingga tidak ada cahaya yang menembus.

5.2.5. Gambar Skematik


5.2.6. Script

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x3F,16,2);
// 0x27 = alamat I2C

void setup()
{
lcd.begin(); //LCD 16x2
lcd.setBacklight(HIGH);
}

void loop()
{
lcd.clear();
lcd.home(); // set cursor to 0,0
lcd.print("EMBEDDED");
lcd.setCursor(0,1);
lcd.print("Lab.Robotika");
delay(1000);
}

5.3. Programan Keypad


5.3.1. Tujuan
Setelah praktikum selesai dilaksanakan peserta harus dapat :
a. Memahami cara membaca data dari Keypad
b. Membuat program untuk menggunakan Keypad

5.3.2. Langkah Pecobaan


a. Hubungkan port Arduino Uno dengan “Port Output Rangkaian Keypad
Trainer Board menggunakan kabel Penghubung.
b. Hubungkan Arduino Uno dengan PC menggunakan USB Printer.
c. Hubungkan Arduino Uno dengan sumber tegangan.
d. Ketikkan program, pada editor program, kemudian compile dan
download ke Arduino Uno, dan amati hasilnya.
5.3.3. Pengertian
Keypad berarti Sebuah keyboard miniatur atau set tombol untuk operasi
portabel perangkat elektronik, telepon, atau peralatan lainnya. Keypad merupakan
sebuah rangkaian tombol yang tersusun atau dapat disebut "pad" yang biasanya
terdiri dari huruf alfabet (A—Z) untuk mengetikkan kalimat, juga terdapat angka
serta simbol-simbol khusus lainnya. Keypad yang tersusun dari angka-angka
biasanya disebut sebagai numeric keypad. Keypad juga banyak dijumpai pada
alphanumeric keyboard dan alat lainnya seperti kalkulator, telepon, kunci
kombinasi, serta kunci pintu digital, di mana diperlukannya nomor untuk
dimasukkan

Keypad Matriks adalah tombol-tombol yang disusun secara maktriks


(baris x kolom) sehingga dapat mengurangi penggunaan pin input. Sebagai
contoh, Keypad Matriks 4×4 cukup menggunakan 8 pin untuk 16 tombol. Hal
tersebut dimungkinkan karena rangkaian tombol disusun secara horizontal
membentuk baris dan secara vertikal membentuk kolom:

Gambar 5.5 Keypad Matriks


Namun demikian, sebagai konsekuensi dari penggunaan bersama satu jalur
maka, tidak dimungkinkan pengecekkan dua tombol sekaligus dalam satu slot
waktu.

5.3.4. Prinsip Kerja


Proses pengecekkan dari tombol yang dirangkai secara maktriks adalah
dengan teknik scanning, yaitu proses pengecekkan yang dilakukan dengan cara
memberikan umpan-data pada satu bagian dan mengecek feedback (umpan-balik)
– nya pada bagian yang lain. Dalam hal ini, pemberian umpan-data dilakukan pada
bagian baris dan pengecekkan umpan-balik pada bagian kolom. Pada saat
pemberian umpan-data pada satu baris, maka baris yang lain harus dalam kondisi
inversi-nya. Tombol yang ditekan dapat diketahui dengan melihat asal data dan di
kolom mana data tersebut terdeteksi:

Gambar 5.6 kondisi awal Keypad

Dan akan dicontohkan bagai mana cara kerja Keypad 4x4, sebagai contoh ketika
menekan tombol 5 maka rangkaian yang bekerja seperti gambar yang di bawah
ini:
Gambar 5.7 Skema Kondisi Keypad Setelah Button ditekan
Pada contoh di atas, tombol yang ditekan adalah tombol “5”. Seperti terlihat
bahwa B2 bernilai nol, sedangkan B1, B3, dan B4 adalah satu. Kemudian dengan
mengetahui bahwa asal data dari B2, dan umpan-baliknya terdeteksi pada K2,
maka dapat disimpulkan bahwa tombol yang ditekan adalah tombol “5”.
5.3.5. Gambar Skematik

5.3.6. Script
#include <Keypad.h>
const byte ROWS = 4; //four rows
const byte COLS = 4; //three columns
char key[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'},
};
byte rowPins [ROWS] = {9,8,7,6};
byte colPins [COLS] = {5,4,3,2,}; //connect to the column
pinouts of the keypad
Keypad keypad = Keypad( makeKeymap(key), rowPins, colPins,
ROWS, COLS );

void setup(){
Serial.begin(9600);
}

void loop(){
char key = keypad.getKey();
if (key){
Serial.print(key);
Serial.println(); }}

Anda mungkin juga menyukai