Anda di halaman 1dari 23

Nama : Muhammad Afif Bahrain

Kelas : 3B D-IV TOE


NIM : 1841220025
Matkul : Interface dan Microcontrol
PRAKTIKUM INTERFACING & MIKROKONTROLLER
LED DOT MATRIX

A. TUJUAN
1. Membuat aplikasi system tampilan karakter yang berupa LED Dot Matrix dengan
menggunakan mikrokontroler Arduino.
2. Membuat program untuk menampilkan karakter pada media LED Dot Matrix.

B. DASAR TEORI
Display dot matrik adalah beberapa LED yang disusun membentuk matriks baris dan kolom
yang bervariasi sesuai dengan tipenya. Tipe display dot matrix bermacam-macam, salah satunya
ialah tipe 5x7 atau 8x8, berupa modul jadi atau dibuat sendiri dengan menyusun beberapa LED.
Ukurannya ada yang besar, sedang maupun yang kecil.

Gambar 1. Bentuk Fisik LED Dot Matrik


Gambar 2. Konfigurasi dan skema LED Dot Matrix

Untuk menampilkan (display) dari sebuah program yang dikirim secara paralel.
Misalnya, 8 × 8 matriks LED Anoda bersama-sama dalam baris (R1 - R8), dan katoda
dalam kolom (C1 - C8), jumlah yang diperlukan pin I/O=16.
IC driver : UDN2981A dan ULN2803A
1. UDN2981A : driver ke transistor sekaligus mengatur anoda LED.
2. ULN2803A : driver ke transistor sekaligus mengatur katoda LED.

Gambar 3. Anoda Driver UDN2981A dan Cathode Driver ULN2803A

Contoh rangkaian interface menggunakan driver UDN2981A dan ULN2803A adalah sebagai
berikut .
Gambar 4. Rangkaian interface menggunakan IC driver

Gambar 5. Rangkaian interface tanpa IC driver

(Silahkan Anda ketikkan tambahkan sendiri, jika ada, dasar teori yang berisi tentang
pengertian, cara kerja, dan fungsi dari Komunikasi Serial)
……………………………………………………………………………………………………
……………………………………………………………………………………………………
C. HARDWARE
1. Arduino Uno
2. Breadboard
3. Kabel Jumper
4. LED Dot Matrix
5. Potensiometer 10k Ohm
6. Kabel Data USB

D. RANGKAIAN PERCOBAAN SIMULASI

Gambar 6. Rangkaian Percobaan Interface LED Dot Matrix 5x7

Gambar 7. Rangkaian Interface LED Dot Matrix 8x8


(Silahkan Anda lanjutkan dengan menambahkan gambar rangkaian percobaan simulasi Interface
LED Dot Matrix yang Anda buat sendiri melalui software Proteus/Tinkercad)
……………………………………………………………………………………………………
……………………………………………………………………………………………………

E. LANGKAH PERCOBAAN
1. Buka dan buat project di Proteus.
2. Rangkailah project simulasi Arduino untuk Komunikasi Serial.
3. Buka Visual Studio Code / Arduino IDE / Arduino Genuino.
4. Buat programnya dan jalankan, pastikan tidak ada error.

5. Copy as path file “firmware.hex” pada board Arduino UNO di Proteus

6. Jalankan simulasi rangkaian, Run the Simulation.

Langkah Percobaan pada Hardware Arduino


1. Tancapkan USB serial ke komputer.
2. Pastikan drivernya sudah terinstall dan dikenali dengan benar.
3. Cek driver, lihat port COM dan samakan pada software Arduino IDE.
4. Jalankan Arduino dan buat programnya.

F. PROGRAM
1. Percobaan 1, menampilkan huruf K di Tinkercad.
➢ Hasil
- Program
void setup()
{
//program baris
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
//program kolom
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
}

void loop()
{
//huruf K
//Langkah 1
// baris
digitalWrite(2, 1);
digitalWrite(3, 1);
digitalWrite(4, 1);
digitalWrite(5, 1);
digitalWrite(6, 1);
digitalWrite(7, 1);
digitalWrite(8, 1);
//kolom
digitalWrite(9, 0);
digitalWrite(10, 1);
digitalWrite(11, 1);
digitalWrite(12, 1);
digitalWrite(13, 1);
delay(5);

//Langkah 2
// baris
digitalWrite(2, 0);
digitalWrite(3, 0);
digitalWrite(4, 0);
digitalWrite(5, 1);
digitalWrite(6, 0);
digitalWrite(7, 0);
digitalWrite(8, 0);
//kolom
digitalWrite(9, 1);
digitalWrite(10, 0);
digitalWrite(11, 1);
digitalWrite(12, 1);
digitalWrite(13, 1);
delay(5);

//Langkah 3
// baris
digitalWrite(2, 0);
digitalWrite(3, 0);
digitalWrite(4, 1);
digitalWrite(5, 0);
digitalWrite(6, 1);
digitalWrite(7, 0);
digitalWrite(8, 0);
//kolom
digitalWrite(9, 1);
digitalWrite(10, 1);
digitalWrite(11, 0);
digitalWrite(12, 1);
digitalWrite(13, 1);
delay(5);

//Langkah 4
// baris
digitalWrite(2, 0);
digitalWrite(3, 1);
digitalWrite(4, 0);
digitalWrite(5, 0);
digitalWrite(6, 0);
digitalWrite(7, 1);
digitalWrite(8, 0);
//kolom
digitalWrite(9, 1);
digitalWrite(10, 1);
digitalWrite(11, 1);
digitalWrite(12, 0);
digitalWrite(13, 1);
delay(5);

//Langkah 5
// baris
digitalWrite(2, 1);
digitalWrite(3, 0);
digitalWrite(4, 0);
digitalWrite(5, 0);
digitalWrite(6, 0);
digitalWrite(7, 0);
digitalWrite(8, 1);
//kolom
digitalWrite(9, 1);
digitalWrite(10, 1);
digitalWrite(11, 1);
digitalWrite(12, 1);
digitalWrite(13, 0);
delay(5);
}
- Tinkercad
• OFF

• ON
2. Percobaan 2 menampilkan huruf K di Proteus.
➢ Hasil
- Program
void setup()
{
//program baris
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
//program kolom
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
}

void loop()
{
//huruf K
//Langkah 1
// baris
digitalWrite(2, 1);
digitalWrite(3, 1);
digitalWrite(4, 1);
digitalWrite(5, 1);
digitalWrite(6, 1);
digitalWrite(7, 1);
digitalWrite(8, 1);
//kolom
digitalWrite(9, 0);
digitalWrite(10, 1);
digitalWrite(11, 1);
digitalWrite(12, 1);
digitalWrite(13, 1);
delay(40);

//Langkah 2
// baris
digitalWrite(2, 0);
digitalWrite(3, 0);
digitalWrite(4, 0);
digitalWrite(5, 1);
digitalWrite(6, 0);
digitalWrite(7, 0);
digitalWrite(8, 0);
//kolom
digitalWrite(9, 1);
digitalWrite(10, 0);
digitalWrite(11, 1);
digitalWrite(12, 1);
digitalWrite(13, 1);
delay(40);

//Langkah 3
// baris
digitalWrite(2, 0);
digitalWrite(3, 0);
digitalWrite(4, 1);
digitalWrite(5, 0);
digitalWrite(6, 1);
digitalWrite(7, 0);
digitalWrite(8, 0);
//kolom
digitalWrite(9, 1);
digitalWrite(10, 1);
digitalWrite(11, 0);
digitalWrite(12, 1);
digitalWrite(13, 1);
delay(40);

//Langkah 4
// baris
digitalWrite(2, 0);
digitalWrite(3, 1);
digitalWrite(4, 0);
digitalWrite(5, 0);
digitalWrite(6, 0);
digitalWrite(7, 1);
digitalWrite(8, 0);
//kolom
digitalWrite(9, 1);
digitalWrite(10, 1);
digitalWrite(11, 1);
digitalWrite(12, 0);
digitalWrite(13, 1);
delay(40);

//Langkah 5
// baris
digitalWrite(2, 1);
digitalWrite(3, 0);
digitalWrite(4, 0);
digitalWrite(5, 0);
digitalWrite(6, 0);
digitalWrite(7, 0);
digitalWrite(8, 1);
//kolom
digitalWrite(9, 1);
digitalWrite(10, 1);
digitalWrite(11, 1);
digitalWrite(12, 1);
digitalWrite(13, 0);
delay(40);
}
- Proteus

➢ Keterangan
Kita dapat membentuk huruf K. Tetapi karena perhitungan delay yang tidak selalu benar,
membuat lampu tidak bisa menyala secara bersamaan.
3. Percobaan 3, menampilkan huruf A di Proteus.
➢ Hasil
- Program
void setup()
{
//program baris
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
//program kolom
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
}

void loop()
{
//huruf K
//Langkah 1
// baris
digitalWrite(2, 0);
digitalWrite(3, 1);
digitalWrite(4, 1);
digitalWrite(5, 1);
digitalWrite(6, 1);
digitalWrite(7, 1);
digitalWrite(8, 1);
//kolom
digitalWrite(9, 0);
digitalWrite(10, 1);
digitalWrite(11, 1);
digitalWrite(12, 1);
digitalWrite(13, 1);
delay(20);

//Langkah 2
// baris
digitalWrite(2, 1);
digitalWrite(3, 0);
digitalWrite(4, 0);
digitalWrite(5, 0);
digitalWrite(6, 1);
digitalWrite(7, 0);
digitalWrite(8, 0);
//kolom
digitalWrite(9, 1);
digitalWrite(10, 0);
digitalWrite(11, 1);
digitalWrite(12, 1);
digitalWrite(13, 1);
delay(20);

//Langkah 3
// baris
digitalWrite(2, 1);
digitalWrite(3, 0);
digitalWrite(4, 0);
digitalWrite(5, 0);
digitalWrite(6, 1);
digitalWrite(7, 0);
digitalWrite(8, 0);
//kolom
digitalWrite(9, 1);
digitalWrite(10, 1);
digitalWrite(11, 0);
digitalWrite(12, 1);
digitalWrite(13, 1);
delay(20);

//Langkah 4
// baris
digitalWrite(2, 1);
digitalWrite(3, 0);
digitalWrite(4, 0);
digitalWrite(5, 0);
digitalWrite(6, 1);
digitalWrite(7, 0);
digitalWrite(8, 0);
//kolom
digitalWrite(9, 1);
digitalWrite(10, 1);
digitalWrite(11, 1);
digitalWrite(12, 0);
digitalWrite(13, 1);
delay(20);

//Langkah 5
// baris
digitalWrite(2, 0);
digitalWrite(3, 1);
digitalWrite(4, 1);
digitalWrite(5, 1);
digitalWrite(6, 1);
digitalWrite(7, 1);
digitalWrite(8, 1);
//kolom
digitalWrite(9, 1);
digitalWrite(10, 1);
digitalWrite(11, 1);
digitalWrite(12, 1);
digitalWrite(13, 0);
delay(20);
}
- Proteus

4. Percobaan 4, menampilkan angka terakhir di NIM Anda di Proteus.


➢ Hasil
- Program
void setup()
{
//program baris
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
//program kolom
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
}

void loop()
{
//huruf K
//Langkah 1
// baris
digitalWrite(2, 1);
digitalWrite(3, 1);
digitalWrite(4, 1);
digitalWrite(5, 1);
digitalWrite(6, 0);
digitalWrite(7, 0);
digitalWrite(8, 1);
//kolom
digitalWrite(9, 0);
digitalWrite(10, 1);
digitalWrite(11, 1);
digitalWrite(12, 1);
digitalWrite(13, 1);
delay(20);

//Langkah 2
// baris
digitalWrite(2, 1);
digitalWrite(3, 0);
digitalWrite(4, 0);
digitalWrite(5, 1);
digitalWrite(6, 0);
digitalWrite(7, 0);
digitalWrite(8, 1);
//kolom
digitalWrite(9, 1);
digitalWrite(10, 0);
digitalWrite(11, 1);
digitalWrite(12, 1);
digitalWrite(13, 1);
delay(20);

//Langkah 3
// baris
digitalWrite(2, 1);
digitalWrite(3, 0);
digitalWrite(4, 0);
digitalWrite(5, 1);
digitalWrite(6, 0);
digitalWrite(7, 0);
digitalWrite(8, 1);
//kolom
digitalWrite(9, 1);
digitalWrite(10, 1);
digitalWrite(11, 0);
digitalWrite(12, 1);
digitalWrite(13, 1);
delay(20);

//Langkah 4
// baris
digitalWrite(2, 1);
digitalWrite(3, 0);
digitalWrite(4, 0);
digitalWrite(5, 1);
digitalWrite(6, 0);
digitalWrite(7, 0);
digitalWrite(8, 1);
//kolom
digitalWrite(9, 1);
digitalWrite(10, 1);
digitalWrite(11, 1);
digitalWrite(12, 0);
digitalWrite(13, 1);
delay(20);

//Langkah 5
// baris
digitalWrite(2, 1);
digitalWrite(3, 0);
digitalWrite(4, 0);
digitalWrite(5, 1);
digitalWrite(6, 1);
digitalWrite(7, 1);
digitalWrite(8, 1);
//kolom
digitalWrite(9, 1);
digitalWrite(10, 1);
digitalWrite(11, 1);
digitalWrite(12, 1);
digitalWrite(13, 0);
delay(20);
}
- Proteus
5. Percobaan 5, buatlah program untuk menampilkan karakter pada display LED Dot Matriks
menggunakan IC Driver (contohnya: menggunakan IC MAX 7219).
6. Percobaan 6, menampilkan Nama/NIM Anda dengan metode scanning/text running di
Proteus.
Tugas tambahan mencoba program berikut.
G. ANALISIS HASIL PERCOBAAN

(Silahkan Anda tulis ulang program (source code/script) Anda disini dan menambahkan gambar
hasil rangkaian percobaan simulasi pada Proteus/Tinkercad, buatlah analisis pengamatan yang
Anda alami selama melakukan percobaan)
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………

H. KESIMPULAN
Setelah melakukan percobaan di atas, buatlah kesimpulan pengamatan yang Anda alami selama
melakukan percobaan)
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………

Anda mungkin juga menyukai