Sabtu, 10 Juli 2010

Mengenal dot matrix 7x5

Dot matrix adalah titik titik yang membentuk sebuah matrix dimana titik titik tersebut adalah led, Jadi untuk membentuk sebuah dot matrix 7x5 dibutuhkan 35 buah led. Inilah bentuk fisik dari dot matrix disebut sebelumnya.












Dot matrix biasanya digunakan untu membuat running teks atau untuk membuat counter atau pencacah pada bangjo atau traffic light. Biasanya dot matrix yang digunakan untuk membuat alat2 tersebut digunakan lebih dari satu dot matrix. berikut merupakan scematic dari susunan led-nya
























Untuk menyalakan dot matrix ini dengan cara menyalakan satu per satu pada setiap kolomnya atau lebih keren disebut dengan metode scanning. Supaya karakter yang ditampilkan pada dot matrix dapat terlihat utuh maka proses scanning ini harus berlangsung dengan sangat cepat.

Aplikasi

Dalam aplikasi ini hanya menggunakan satu buah dot matrix saja (maklum baru belajar). Rangkaiannya seperti dibawah ini.
















Kemudian program buat ATMega8 sebagai ini dibawah berikut.

$regfile = "m8def.dat"
$crystal = 8000000

Config Portc = Output
Config Portd = Output

dress Alias Portc
Data_ Alias Portd

Dim Lima As Byte
Dim Tujuh As Byte
Dim N_lima As Byte
Dim N_tujuh As Byte
Dim A As Byte
Dim B As Byte
Dim C As Byte
Dim D As Byte
Dim E As Byte
Dim F As Byte
Dim G As Byte
Dim Digit As Byte

N_lima = 0
N_tujuh = 0


Do


C = 33
For E = 0 To 33

For B = 0 To 4

For A = 0 To 4

Lima = Lookup(a , Alamat)
Adress = Lima

D = A + C
Tujuh = Lookup(d , Wahyu)
Data_ = Tujuh
Waitms 1

Next
Waitms 1


Next
Decr C

Next





Loop


Alamat:
Data &B111101
Data &B111011
Data &B110111
Data &B101111
Data &B011111

Wahyu:
'u
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000
Data &B01111110
Data &B00000001
Data &B00000001
Data &B00000001
Data &B01111110
Data &B00000000
'y
Data &B01110000
Data &B00001000
Data &B00001111
Data &B00001000
Data &B01110000
Data &B00000000
'h
Data &B01111111
Data &B00001000
Data &B00001000
Data &B00001000
Data &B01111111
Data &B00000000
'a
Data &B00111111
Data &B01001000
Data &B01001000
Data &B01001000
Data &B00111111
Data &B00000000
'w
Data &B01111110
Data &B00000001
Data &B01111111
Data &B00000001
Data &B01111110
Data &B00000000
Data &B00000000
Data &B00000000
Data &B00000000

Program tersebut akan membuat dot matrix menampilkan "nama saya" sekali kali nebeng, secara geser ke kiri. Dalam program tersebut proses scanning terjadi pada potongan program

For A = 0 To 4

Lima = Lookup(a , Alamat)
Adress = Lima

D = A + C
Tujuh = Lookup(d , Wahyu)
Data_ = Tujuh
Waitms 1

Next

Pada potogan program tersebut terdapat rumus D = A + C, rumus ini digunakan untuk menggeser karakter yang ditampilkan oleh dot matrix sebanyak satu kali kearah kiri. pada potongan program tersebut proses scanning hanya untuk 5 kolom saja, jika proses ini hanya diulangi sekali saja maka karakter yang ditampilkan tidak akan terlihat karena terlalu cepat, oleh karena itu proses ini juga diulang ulang sebanyak 5 kali supaya tampilan dapat dilihat dengan jelas, sehingga program menjadi

For B = 0 To 4

For A = 0 To 4

Lima = Lookup(a , Alamat)
Adress = Lima

D = A + C
Tujuh = Lookup(d , Wahyu)
Data_ = Tujuh
Waitms 1

Next
Waitms 1

Next

kemudian ditambah lagi dengan satu looping for....next yang digunakan untuk menggeser karakter yaitu.

C = 33
For E = 0 To 33
.
.
.
.
.
Decr C
Next

nilai awal variabel c digunakan untuk menentukan jumlah perulangannya. trust me it work ,semoga bermanfaat.

wasallam



4 komentar:

  1. salam kenal mas??mantap nih mas aplikasinya,boleh saya minta code programnya mas,saya masih belajar jadi bingung dengan potongan program yg gak tertulis. klo boleh email saya mas diyon_1988@yahoo.com

    BalasHapus
  2. mas aq pengen belajar yang pke bahasa C....
    punyak literatur g?

    BalasHapus
  3. salam kenal mas, saya lagi belajar bikin running text, saya juga sudah berhasil coba-coba pake program punya mas, saya lagi ada kesulitan ketika pake ic shift register nih mas, mohon bisa kasih sedikit aja referensi mas buat programnya, saya udah coba gagal terus, terima kasih

    BalasHapus
  4. ada tutorial dengan bahasa c gan? :)

    BalasHapus