ISMADHIKE IMARTA YANDA 2110951009

BLOG KULIAH

Menu
  • Home
  • Elektronika
    • Materi
      • tugas 1 sub chapter 14,1
    • Aplikasi
      • Aplikasi detector/Comparator
      • Aplikasi Amplifier
      • Aplikasi LPF -20dB/dec
    • Tugas Besar
      • DISPENSER OTOMATIS
  • PRAK.SISDIG
    • MODUL 1
      • TP 1
      • TP 2
      • LA 1
      • LA 2
    • MODUL 2
      • TP 1
      • TP 2
      • LA 1
      • LA 2
    • MODUL 3
      • TP 1
      • TP 2
      • LA 1
      • LA 2
    • MODUL 4
      • TP 1
      • TP 2
      • LA 1
      • LA 2
  • SISTEM DIGITAL
    • Sub-chapter
      • SUB BAB 7.5
    • Teori, rancangan dan aplikasi sistem digital
      • Soal 7.2
      • Soal 8.2
    • Aplikasi
      • Aplikasi Encoder-decoder
      • Aplikasi Mux-Demux
      • Aplikasi Flip Flop
      • Aplikasi Aritmetik
    • Tugas Besar
      • Smart Cat Cage!!!
  • uP uC
    • Gambar 25. Program Aplikasi INC
    • Gambar 79 Contoh rangkaian aplikasi Port 379H
    • Gambar 15 Rangkaian Memori dan decoder memori
    • Aplikasi Rangkaian dot matrik
    • TUGAS BESAR
    • UTS
      • SOAL 1
      • SOAL 2
      • SOAL 3
  • PRAK.uP uC
    • MODUL 1
      • TP Percobaan 1
      • TP Percobaan 2
      • LA 1
      • LA 2
    • MODUL 2
      • TP Percobaan 1
      • TP Percobaan 2
      • LA 1
      • LA 2
    • MODUL 3
      • TP Percobaan 1
      • TP Percobaan 2
      • LA 1
      • LA 2
    • PROJECT
      • Smart System For Deposit Box

Selasa, 03 September 2024

Rangakaian Aplikasi Dot Matrik


[KEMBALI KE MENU SEBELUMNYA]

DAFTAR ISI
1. Tujuan
2. Alat dan Bahan
3. Dasar Teori
4. Prosedur Percobaan
5. Rangkaian Simulasi dan Prinsip Kerja
6. Video Simulasi
7. Download File

Rangakaian Aplikasi Dot Matrik

1. Tujuan
[Kembali]

Membuat rangkaian dot matrik 5x7 pada Proteus bertujuan untuk:

  1. Menampilkan Karakter atau Simbol: Dot matrik 5x7 biasanya digunakan untuk menampilkan karakter huruf, angka, atau simbol grafis sederhana. Dengan menggunakan mikrokontroler, kita dapat mengirim data yang mengontrol titik-titik LED di dalam matrik ini.

  2. Belajar Pemrograman Tampilan: Dengan merancang dan memprogram rangkaian dot matrik, kita dapat mempelajari bagaimana cara mengendalikan display menggunakan kode, seperti bagaimana mengaktifkan setiap LED dengan pola tertentu untuk menampilkan informasi.

  3. Simulasi Sebelum Implementasi: Proteus memungkinkan simulasi rangkaian elektronik tanpa perangkat keras fisik. Simulasi dot matrik 5x7 di Proteus membantu memastikan bahwa rangkaian dan program bekerja sesuai harapan sebelum memproduksi perangkat fisiknya.

  4. Mengembangkan Proyek Mikrokontroler: Penggunaan dot matrik dalam simulasi ini sering kali menjadi bagian dari proyek berbasis mikrokontroler (misalnya, menggunakan Arduino atau PIC). Proyek-proyek ini bisa melibatkan berbagai aplikasi seperti jam digital, running text, atau penunjuk status.

  5. Pemahaman tentang Teknik Multiplexing: Dot matrik menggunakan teknik multiplexing untuk mengurangi jumlah pin kontrol. Dengan merancang rangkaian ini, kita dapat belajar bagaimana cara mengelola beberapa baris dan kolom dengan cara yang efisien.

  6. Eksperimen Visualisasi Data: Dot matrik dapat digunakan untuk menampilkan data secara visual. Misalnya, rangkaian ini bisa diaplikasikan untuk menampilkan informasi sensor, output dari sistem tertentu, atau bahkan animasi sederhana.


2. Alat dan Bahan [Kembali]
  • Arduiono
  • LED
  • Capacitor

  • Resistor
  • dot matrik


3. Dasar Teori [Kembali]

Dot Matrik

Dot matrik 8x8 adalah satu dot matrik yang berukuran 8 kolom x 8 baris susunan LED. Jadi 1 dot matrik terdapat 35 buah LED seperti gambar 22. Dengan dot matrik 8x8 dapat ditampilkan berbagai macam karakter angka, husuf maupun simbol.

Prinsip kerja dot matrik disini menggunakan proses scanning kolom. Scanning kolom adalah mengaktifkan setiap kolom secara bergantian.

Proses pergantian pengaktifan kolom dari kolom 1 sampai kolom 8 begitu cepat dan berulang-ulang sehingga misalkan huruf "A" yang terdiri dari 8 kolom tampak nyala secara bersamaan. Apabila proses scanning kolom dipelankan maka akan terlihat pergeseran penyalaan kolom per kolom.


Gambar 22 Rangkaian dasar dot matrik

4. Prosedur Percobaan  [Kembali]

Prosedur Percobaan

1. Membuka Proteus dan Membuat Proyek Baru

  • Buka Proteus.
  • Pilih opsi New Project.
  • Beri nama proyek Anda dan tentukan direktori tempat menyimpan proyek.
  • Klik Next dan pilih Create Schematic from Scratch.

2. Menambahkan Komponen Dot Matriks 8x8

  • Cari komponen LED Matrix atau Dot Matrix 8x8 di library Proteus.
  • Tambahkan komponen ke area kerja.

3. Menambahkan Mikrokontroler

  • Pilih jenis mikrokontroler yang akan digunakan (misalnya, Arduino UNO atau PIC).

  • Tambahkan mikrokontroler ke area kerja.

  • Jika menggunakan Arduino UNO:

    • Pilih Arduino UNO dari library.
    • Tempatkan di area kerja.
  • Jika menggunakan PIC atau mikrokontroler lain:

    • Pilih model mikrokontroler yang sesuai dari library.

4. Menambahkan Resistor (Opsional)

  • Jika rangkaian membutuhkan resistor sebagai pembatas arus untuk tiap LED, tambahkan resistor antara pin keluaran mikrokontroler dan dot matrik.

5. Membuat Koneksi

  • Hubungkan setiap baris dan kolom dari dot matrik ke pin digital pada mikrokontroler. Misalnya:
    • Kolom dot matrik terhubung ke pin digital D2 hingga D8 pada Arduino.
    • Baris dot matrik terhubung ke pin digital D9 hingga D15.
  • Pastikan semua pin dihubungkan dengan benar sesuai dengan skema yang diinginkan.

6. Menulis Program (Kode)

  • Jika menggunakan Arduino:
    • Buka Arduino IDE.
    • Tulis kode untuk mengontrol dot matrik 8x8. Kode ini akan mengatur pola bit untuk mengaktifkan LED pada matrik, sesuai dengan karakter atau pola yang diinginkan.
    • Berikut adalah contoh kode sederhana untuk menampilkan huruf A pada dot matrik:
#include <mega32.h>
#include <delay.h>
#include <string.h>

unsigned int i,j,x,y,z;
unsigned int angka;
char urut;
char kolom[8];

//Baris = PORTB
//KOLOM = PORTC

void nyala_led()//fungsi untuk menyalakan baris
{
     if (angka==0)
      {
      if (urut==0){urut=~(0x3E);}
      if (urut==1){urut=~(0x51);}
      if (urut==2){urut=~(0x49);}
      if (urut==3){urut=~(0x45);}
      if (urut==4){urut=~(0x3E);}
      if (urut==5){urut=~(0x00);}
      if (urut==6){urut=~(0x00);}
      if (urut==7){urut=~(0x00);}  
      if (urut==8){urut=~(0x00);}  
      }
   
     else if (angka==1)
      {
      if (urut==0){urut=~(0x00);}
      if (urut==1){urut=~(0x21);}
      if (urut==2){urut=~(0x7F);}
      if (urut==3){urut=~(0x01);}
      if (urut==4){urut=~(0x00);}
      if (urut==5){urut=~(0x00);}
      if (urut==6){urut=~(0x00);}
      if (urut==7){urut=~(0x00);}
      if (urut==8){urut=~(0x00);}  
      }

      else if (angka==2)
      {
      if (urut==0){urut=~(0x27);}
      if (urut==1){urut=~(0x49);}
      if (urut==2){urut=~(0x49);}
      if (urut==3){urut=~(0x49);}
      if (urut==4){urut=~(0x31);}
      if (urut==5){urut=~(0x00);}
      if (urut==6){urut=~(0x00);}
      if (urut==7){urut=~(0x00);}
      if (urut==8){urut=~(0x00);}  
      }
   
      else if (angka==3)
      {
      if (urut==0){urut=~(0x22);}
      if (urut==1){urut=~(0x41);}
      if (urut==2){urut=~(0x49);}
      if (urut==3){urut=~(0x49);}
      if (urut==4){urut=~(0x36);}
      if (urut==5){urut=~(0x00);}
      if (urut==6){urut=~(0x00);}
      if (urut==7){urut=~(0x00);}
      if (urut==8){urut=~(0x00);}  
      }

      else if (angka==4)
      {
      if (urut==0){urut=~(0x0C);}
      if (urut==1){urut=~(0x14);}
      if (urut==2){urut=~(0x24);}
      if (urut==3){urut=~(0x7F);}
      if (urut==4){urut=~(0x04);}
      if (urut==5){urut=~(0x00);}
      if (urut==6){urut=~(0x00);}
      if (urut==7){urut=~(0x00);}
      if (urut==8){urut=~(0x00);}  
      }
 
      else if (angka==5)
      {
      if (urut==0){urut=~(0x72);}
      if (urut==1){urut=~(0x51);}
      if (urut==2){urut=~(0x51);}
      if (urut==3){urut=~(0x51);}
      if (urut==4){urut=~(0x4E);}
      if (urut==5){urut=~(0x00);}
      if (urut==6){urut=~(0x00);}
      if (urut==7){urut=~(0x00);}
      }

      else if (angka==6)
      {
      if (urut==0){urut=~(0x1E);}
      if (urut==1){urut=~(0x29);}
      if (urut==2){urut=~(0x49);}
      if (urut==3){urut=~(0x49);}
      if (urut==4){urut=~(0x46);}
      if (urut==5){urut=~(0x00);}
      if (urut==6){urut=~(0x00);}
      if (urut==7){urut=~(0x00);}
      if (urut==8){urut=~(0x00);}  
      }
   
      else if (angka==7)
      {
      if (urut==0){urut=~(0x41);}
      if (urut==1){urut=~(0x42);}
      if (urut==2){urut=~(0x44);}
      if (urut==3){urut=~(0x48);}
      if (urut==4){urut=~(0x70);}
      if (urut==5){urut=~(0x00);}
      if (urut==6){urut=~(0x00);}
      if (urut==7){urut=~(0x00);}
      if (urut==8){urut=~(0x00);}  
      }

      else if (angka==8)
      {
      if (urut==0){urut=~(0x36);}
      if (urut==1){urut=~(0x49);}
      if (urut==2){urut=~(0x49);}
      if (urut==3){urut=~(0x49);}
      if (urut==4){urut=~(0x36);}
      if (urut==5){urut=~(0x00);}
      if (urut==6){urut=~(0x00);}
      if (urut==7){urut=~(0x00);}
      if (urut==8){urut=~(0x00);}  
      }
     
      else if (angka==9)
      {
      if (urut==0){urut=~(0x30);}
      if (urut==1){urut=~(0x49);}
      if (urut==2){urut=~(0x49);}
      if (urut==3){urut=~(0x4A);}
      if (urut==4){urut=~(0x3C);}
      if (urut==5){urut=~(0x00);}
      if (urut==6){urut=~(0x00);}
      if (urut==7){urut=~(0x00);}
      if (urut==8){urut=~(0x00);}  
      }
}

void main(void)
{
PORTA=0x00;
DDRA=0x00;

PORTB=0x00;
DDRB=0xFF;

PORTC=0x00;
DDRC=0xFF;

PORTD=0x00;
DDRD=0x00;

y=0;
PORTC=~(0xFE);

while (1)
                   
{
angka=9;
kolom[0]=~(0xFE);
kolom[1]=~(0xFD);
kolom[2]=~(0xFB);
kolom[3]=~(0xF7);
kolom[4]=~(0xEF);
kolom[5]=~(0xDF);
kolom[6]=~(0xBF);
kolom[7]=~(0x7F);
kolom[8]=~(0x8F);

for (z=0;z<10;++z)
{
  //for (x=0;x<10;++x) //untuk menggeser (non aktif)
  //{  
    for (i=0;i<100;++i)
    {
    y=x;
        for (j=0;j<8;++j)
        {
        //angka=0;
         PORTC=kolom[j];
         urut=y;
         nyala_led();
         PORTB=urut;
         delay_ms(1);
         y=y+1;
        //PORTC=kolom[j+1];    
            if (y==8)
            {
            y=0;
            }      
        }
    PORTC=~(0xFE);
    }
   //}
//PORTB=0xFF;
angka=angka-1;
delay_ms(1000);
  };
 }
}

Unggah kode ke Arduino UNO dalam Proteus dengan memilih file hex dari hasil compile di Arduino IDE.
7. Menambahkan Sumber Tegangan
  • Hubungkan sumber tegangan virtual dari Proteus ke pin Vin dan GND mikrokontroler (jika diperlukan).

8. Simulasi

  • Klik tombol Run di Proteus untuk menjalankan simulasi.
  • Lihat apakah LED pada dot matrik menyala sesuai dengan pola yang diinginkan (misalnya, huruf A).
  • Jika ada kesalahan, periksa kembali koneksi atau kode yang digunakan.

9. Observasi dan Analisis

  • Amati pola nyala LED pada dot matrik 8x8.
  • Jika sesuai dengan karakter atau pola yang diinginkan, percobaan berhasil.
  • Jika hasil belum sesuai, lakukan debugging baik di bagian koneksi maupun program hingga rangkaian berfungsi dengan baik.

10. Modifikasi (Opsional)

  • Setelah percobaan berhasil, coba tampilkan pola atau karakter lain dengan mengubah kode atau menambahkan fitur seperti animasi.

5. Rangkaian Simulasi dan Prinsip Kerja [Kembali]




Kaki reset pada AT Mega berguna untuk mengulangi proses pembacaan program pada AT Mega, (AT Mega terlebih dahulu diberi program yang sudah dibuat di CV AVR).

Kaki XTAL1 dan XTAL2 dihubungkan ke crystal yang gunanya untuk memberikan clock ekstenal yang stabil nilainya. dan kaki kaki pada PORT B dan PORT C digunakan sebagai output yang akan ditampilkan ke DOT Matrix 8x8. Jadi rangkaian tersebut sudah diisi dengan program untuk menampilkan angka desimal dimulai dari 9 sampai 0, dan setelah sampai ke 0 akan terjadi looping, mengulang dari angka 9 lagi.

6. Video Simulasi [Kembali]




7. Download File [Kembali]

download file [html]
download file [dot matrix]
download file [listing]
download file [rangkaian]
- September 03, 2024
Kirimkan Ini lewat EmailBlogThis!Bagikan ke XBerbagi ke FacebookBagikan ke Pinterest

Tidak ada komentar:

Posting Komentar

Posting Lebih Baru Posting Lama Beranda
Langganan: Posting Komentar (Atom)
  • SOAL 1
    [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Tujuan 2. Alat dan Bahan 3. Dasar Teori 4. Prosedur Percobaan 5. Rangkaian Si...
  • Gambar 79. Contoh Rangkaian Aplikasi Port 379H
    [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Tujuan 2. Alat dan Bahan 3. Dasar Teori 4. Prosedur Percobaan 5. Rangkaian Si...
  • Gambar 25. Program Aplikasi INC
    [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Tujuan 2. Alat dan Bahan 3. Dasar Teori 4. Prosedur Percobaan 5. Rangkaian Si...

Cari Blog Ini

Mengenai Saya

ismadhike imarta yanda
Lihat profil lengkapku

Laporkan Penyalahgunaan

Arsip Blog

  • Oktober 2024 (3)
  • September 2024 (3)
  • Agustus 2024 (2)
  • Juni 2024 (1)
  • Mei 2024 (4)
  • Maret 2024 (8)
  • Juli 2023 (5)
  • Juni 2023 (20)
  • Mei 2023 (3)
  • April 2022 (6)
Gambar tema oleh lobaaaato. Diberdayakan oleh Blogger.