Anda di halaman 1dari 8

Modul III Dot Matrix

MODUL III
DOT MATRIX
A. TUJUAN
1. Mahasiswa mampu memahami bagaimana cara merangkai dot matrix.
2. Mahasiswa mampu memahami program arduino untuk menampilkan karakter
pada dot matrix.

B. ALAT DAN BAHAN


1) Arduino
2) Laptop
3) Kabel USB Connector Arduinoke Laptop
4) Dot Matrix 8 x 8
5) Kabel Jumper

C. DASAR TEORI

D. LANGKAH PERCOBAAN
1) Menyiapkan alat dan bahan percobaan
2) Menyusun rangkaian seperti gambar berikut :

Praktikum Mikroprosesor 2019 Modul III -1


Modul III Dot Matrix

3) Kemudian memasang USB kabel pada arduino dengan port USB yang ter-
dapat pada PC untuk mengupload program.

4) Membuka IDE Arduino , lalu mengetikan program berikut :

#include "LedControl.h"

LedControllc=LedControl(12,11,10,2); // Pins:
DIN,CLK,CS, # of Display connected

unsigned long delayTime=200; // Delay between


Frames

// Put values in arrays


byte invader1a[] =
{
B00011000, // First frame of invader #1
B00111100,
B01111110,
B11011011,
B11111111,
B00100100,
B01011010,
B10100101
};

byte invader2a[] =
{
B00100100, // First frame of invader #2
B00100100,
B01111110,
B11011011,
B11111111,
B11111111,
B10100101,
B00100100
};

Praktikum Mikroprosesor 2019 Modul III -2


Modul III Dot Matrix

void setup()
{
lc.shutdown(0,false); // Wake up displays
lc.shutdown(1,false);
lc.setIntensity(0,5); // Set intensity levels
lc.setIntensity(1,5);
lc.clearDisplay(0); // Clear Displays
lc.clearDisplay(1);
}

// Take values in Arrays and Display them


void sinvader1a()
{
for (int i = 0; i < 8; i++)
{
lc.setRow(0,i,invader1a[i]);
}
}

void sinvader2a()
{
for (int i = 0; i < 8; i++)
{
lc.setRow(1,i,invader2a[i]);
}
}

void loop()
{
// Put #1 frame on both Display
sinvader1a();
delay(delayTime);
sinvader2a();
delay(delayTime);

5) Mengcompile dan mengupload program yang telah diketik tersebut ke arduino


6) mengambil foto hasil yang didapatkan.

Praktikum Mikroprosesor 2019 Modul III -3


Modul III Dot Matrix

E. DATA HASIL

NO Biner Gambar

// First frame of invader #1


{
B11000011,
B11000110,
B11001100,
1 B11110000,
B11011000,
B11001100,
B11000110,
B11000011
};

// First frame of invader #2


{
B11111111,
B11111111,
B00000011,
2 B11111111,
B11111111,
B11000000,
B11111111,
B11111111
};

Praktikum Mikroprosesor 2019 Modul III -4


Modul III Dot Matrix

F. ANALISA DATA

Pada Modul DOT Matrix 8x8 Pada Modul DOT Matrix yang
pertama ditampilkan huruf ‘K’ kedua juga sama dengan yang
seperti pada gambar di atas sebagai pertama. Namun pada Modul
output. Digunakan arduino UNO DOT Matrix yang kedua
sebagai kontrolernya. Kemudian ditampilkan angka ‘2’. Yang
diberikan perintah program pada beda pada DOT Matrix yang
Arduino UNO dengan memberikan kedua ini adalah letak LED yang
high pada LED yang ingin di dinyalakan sehingga bentuk
nyalakan dengan perintah biner 1. yang ditampilkan pada DOT
Kemudian memberikan perintah low Matrix kedua berbeda dengan
pada LED yang ingin dimatikan yang pertama.
dengan perintah biner 0 sesuai
dengan letak kolom dan barisnya.
Sehingga terbentuk model yang kita
inginkan.

Praktikum Mikroprosesor 2019 Modul III -5


Modul III Dot Matrix

Preprosessor #include digunakan untuk menambahkan beberapa file dalam


program. File yang ditambahkan yakni “LedControl.h” atau file library pada
arduino uno.

LedControl merupakan pengontrol LED pada modul DOT Matrix 8x8


dimana digunakan (12, 7, 8) yang dihubungkan pada pin digital arduino. Dengan
12 sebagai DIN, 7 sebagai CLK, 8 sebagai CS. Dan angka 2 menunjukkan jumlah
Modul DOT Matrix yang digunakan.

Unsigned long adalah tipe data yang sama dengan long, tetapi dihitung
dari angka 0. delayTime=200; menunjukkan delay waktu antara frame selama 200
mili detik atau 0.2 detik.

Byte invaderla [] artinya kumpulan byte-byte yang mewakili setiap LED


pada DOT Matrix 8x8 pertama. Pada kode biner yang ditampilkan diatas
merupakan kode yang diberikan untuk memberikan perintah high dan low untuk
LED pada DOT Matrix 8x8 pertama. B artinya byte yang mewakili biner pada
setiap baris. Contoh B11000011 pada baris pertama, menunjukkan LED akan high
pada kolom pertama, kedua, ketujuh dan kedelapan. Sama seterusnya untuk baris
selanjutnya.

Praktikum Mikroprosesor 2019 Modul III -6


Modul III Dot Matrix

Byte invader2a [] artinya kumpulan byte-byte yang mewakili setiap LED


pada DOT Matrix 8x8 kedua. Pada kode biner yang ditampilkan diatas merupakan
kode yang diberikan untuk memberikan perintah high dan low untuk LED pada
DOT Matrix 8x8 kedua. B artinya byte yang mewakili biner pada setiap baris.
Contoh B11111111 pada baris pertama, menunjukkan LED akan high semua pada
baris pertama.

Void setup() harus ada pada pemrograman arduino. Fungsi setup()


dipanggil ketika sketsa dimulai. Struktur ini berguna untuk menginisialisasi
variabel, mode pin, memulai menggunakan library, dan lain lain. Lc.shutdown
berfungsi untuk mengaktifkan tampilan dengan perintah 0 dan 1. Lc.setIntensity
(0,5); untuk memberikan level intensitas pada modul DOT Matrix.
Lc.clearDisplay digunakan untuk memberi perintah mereset display pada DOT
Matrix.

Void sinvader1a () digunakan sebagai fungsi untuk menentukan array pada


DOT Matrix pertama. Yang mana digunakan for sebagai fungsi perulangan
dengan I sebagai kondisi awal perulangan, dengan i<8 menyatakn kondisi, dan i+
+ merupakan increment.

Praktikum Mikroprosesor 2019 Modul III -7


Modul III Dot Matrix

Void sinvader2a () digunakan sebagai fungsi untuk menentukan array pada


DOT Matrix kedua. Yang mana digunakan for sebagai fungsi perulangan dengan I
sebagai kondisi awal perulangan, dengan i<8 menyatakn kondisi, dan i++
merupakan increment.

Void loop () merupakan fungsi looping pada pemrograman arduino. Yang


mana sinvader1a (); atau DOT Matrix pertama akan aktif dan sebelum sinvader2a
(); atau DOT Matrix kedua aktif akan ada delay selama (delayTime) dan setelah
DOT Matrix kedua aktif maka akan looping kembali ke sinvader1a atau DOT
Matrix pertama dengan delay waktu selama (delayTime).

Praktikum Mikroprosesor 2019 Modul III -8

Anda mungkin juga menyukai