Hell Yeah Pointer 3

Rangkaian Dasar Dot Matrik



1. Tujuan [KEMBALI]

    1.Memahami mengenai rangkaian dot matrik dan prinsip kerjanya
    2.Dapat membuat rangkaian dot matrik


2. Alat dan Bahan [KEMBALI]

    1. ATMEGA32
    2. Crystal
    3. Capasitor
    4. Dot Matrix 5x7
    5. Resistor
    6. Button

3. Dasar Teori [KEMBALI]

Dot matrix adalah susunan titik-titik dua dimensi yang digunakan untuk menampilkan karakter-karakter, simbol atau gambar. Dahulu dot matrix digunakan pada printer-printer tua dan banyak perangkat tampilan digital. Pada printer, titik-titik tersebut adalah daerah yang diredupkan. Sedangkan pada display, titik-titik tersebut adalah daerah yang bercahaya. Sebagaimana pada LED atau CRT display cara kerjanya titik-titik yang sebelumnya mati, bercahaya sesuai sesuai obyek yang diinginkan.


Dot matrix banyak digunakan untuk menampilkan informasi pada mesin-mesin, jam, indikator keberangkatan kereta api dan perangkat lainnya yang membutuhkan display sederhana untuk resolusi yang terbatas. Display ini terdiri dari LED yang tersusun secara matrix berbentuk segi empat (bentuk selain segi empat juga ada) sehingga dengan menyalakan/mematikan lampu yang diinginkan, teks atau grafik yang dapat ditampilkan. Pengendali dot matrix mengkonversi instruksi dari decoder ke dalam sinyal elektris yang dapat menyalakan atau mematikan lampu sehingga tampilan yang diinginkan dapat terjadi. 


4. Rangkaian [KEMBALI]





5. Video [KEMBALI]




6. Program [KEMBALI]

#include <mega32.h>
#include <delay.h>
#include <string.h>

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

//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);}   
      }
    
     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);}
      }

      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);}
      }
    
      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);}
      }

      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);}
      }
  
      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);}
      }
    
      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);}
      }

      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);}
      }
      
      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);}
      }
}

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);

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);
  };
 }
}

7. Link Download [KEMBALI]

File rangkaian     ==> Download di sini
Video                  ==> Download di sini
Program              ==> Download di sini


Tidak ada komentar:

Posting Komentar