MXLED dikendalikan menggunakan dua buah port, yaitu sebuah Port sebagai port data dan sebuah lagi sebagai port kendali. Baik port data maupun port kendali diterima sebagai message pada WM_USER dengan sinyal pada wParam. Untuk menentukan bahwa sinyal yang diterima merupakan data atau kendali, MXLED akan melihat pada lParam. Jika lParam=2, maka sinyal yang diterima merupakan sinyal untuk data. Sedangkan jika lParam=1, maka sinyal yang diterima merupakan sinyal kendali.
Ada enam buah ukuran yang disediakan oleh MXLED, yaitu 8×16, 8×32, 8×48, 16×16, 16×32, dan 16×48. Untuk setiap ukuran tersebut ada dua pilihan orientasi, yaitu landscape dan portrait.
Sinyal kendali hanya menggunakan bit.0 dan bit.1 saja. bit.0 digunakan untuk mereset counter, sedangkan bit.1 digunakan untuk menaikkan counter.
Sinyal data digunakan untuk menentukan led mana yang menyala dan led mana yang padam. Untuk setiap saatnya, hanya ada delapan buah led yang dikendalikan, yaitu led pada kolom yang sedang aktif. Untuk menentukan kolom mana yang aktif, kita menggunakan counter. Pada saat counter direset, maka kolom 0 aktif. kemudian jika kita memberikan sinyal clock, yaitu sinyal pada bit.1, maka kolom aktif akan berpindah ke kolom 1. Kemudian jika diberikan sinyal clock lagi, maka kolom yang aktif menjadi kolom 2. begitu seterusnya.
Ada dua pilihan sinyal clock, yaitu transisi L ke H atau sebaliknya, yaitu transisi H ke L.
Susunan kolom-kolom LED tergantung dari ukuran maupun orientasi. Untuk orientasi landscape, maka kolom sebelah kiri merupakan kolom bawah dan semakin ke kanan semakin naik. Ini berlaku untuk ukuran 8x. Sedangkan untuk ukuran 16x, maka susunan LED dibagi menjadi dua blok baris. Nomor kolom pertama pada blok baris kedua adalah nomor kolom terakhir blok baris pertama ditambah 1.
Lebih jelasnya adalah sebagai berikut:
16x16
Baris0..7 : 0 1 2 ......15
Baris8..15: 16 17 18 ......31
16x32
Baris0..7 : 0 1 2 ......31
Baris8..15: 32 33 34 ......63
16x48
Baris0..7 : 0 1 2 ......47
Baris8..15: 48 49 50 ......95
Untuk setiap block baris, bit.0 akan mengendalikan LED paling atas, sedangkan bit.7 akan mengendalikan LED paling bawah.
Untuk orientasi portrait, kita membagi LED menjadi kolom atau blok kolom dan baris. Counter akan menentukan baris yang aktif. Baris paling atas adalah baris 0, dan akan aktif jika sinyal reset diaktifkan. Baris aktif akan menaik seiring dengan didapatnya sinyal clock.
Untuk ukuran 8x, kolom 0 adalah kolom paling kiri dan diaktifkan oleh bit.0. Sedangkan kolom 7 adalah kolom paling kanan dan diaktifkan oleh bit.7
Ketentuan untuk ukuran 16x bisa dianalogikan dari posisi pada orientasi landscape.
MXLED disimulasikan untuk bekerja seperti pada sistem matriks yang sesungguhnya. Jika kita mengatur perubahan baris atau kolom aktifnya dengan lambat, maka hanya akan terlihat delapan lampu yang bergerak melompat-lompat. Akan tetapi jika perubahannya cukup cepat, maka perubahan nyala lampu-lampunya akan terlihat mantap tidak berkedip. Jadi simulasi MXLED akan terasa seperti matriks led sungguhan.
Ada enam buah ukuran yang disediakan oleh MXLED, yaitu 8×16, 8×32, 8×48, 16×16, 16×32, dan 16×48. Untuk setiap ukuran tersebut ada dua pilihan orientasi, yaitu landscape dan portrait.
Sinyal kendali hanya menggunakan bit.0 dan bit.1 saja. bit.0 digunakan untuk mereset counter, sedangkan bit.1 digunakan untuk menaikkan counter.
Sinyal data digunakan untuk menentukan led mana yang menyala dan led mana yang padam. Untuk setiap saatnya, hanya ada delapan buah led yang dikendalikan, yaitu led pada kolom yang sedang aktif. Untuk menentukan kolom mana yang aktif, kita menggunakan counter. Pada saat counter direset, maka kolom 0 aktif. kemudian jika kita memberikan sinyal clock, yaitu sinyal pada bit.1, maka kolom aktif akan berpindah ke kolom 1. Kemudian jika diberikan sinyal clock lagi, maka kolom yang aktif menjadi kolom 2. begitu seterusnya.
Ada dua pilihan sinyal clock, yaitu transisi L ke H atau sebaliknya, yaitu transisi H ke L.
Susunan kolom-kolom LED tergantung dari ukuran maupun orientasi. Untuk orientasi landscape, maka kolom sebelah kiri merupakan kolom bawah dan semakin ke kanan semakin naik. Ini berlaku untuk ukuran 8x. Sedangkan untuk ukuran 16x, maka susunan LED dibagi menjadi dua blok baris. Nomor kolom pertama pada blok baris kedua adalah nomor kolom terakhir blok baris pertama ditambah 1.
Lebih jelasnya adalah sebagai berikut:
16x16
Baris0..7 : 0 1 2 ......15
Baris8..15: 16 17 18 ......31
16x32
Baris0..7 : 0 1 2 ......31
Baris8..15: 32 33 34 ......63
16x48
Baris0..7 : 0 1 2 ......47
Baris8..15: 48 49 50 ......95
Untuk setiap block baris, bit.0 akan mengendalikan LED paling atas, sedangkan bit.7 akan mengendalikan LED paling bawah.
Untuk orientasi portrait, kita membagi LED menjadi kolom atau blok kolom dan baris. Counter akan menentukan baris yang aktif. Baris paling atas adalah baris 0, dan akan aktif jika sinyal reset diaktifkan. Baris aktif akan menaik seiring dengan didapatnya sinyal clock.
Untuk ukuran 8x, kolom 0 adalah kolom paling kiri dan diaktifkan oleh bit.0. Sedangkan kolom 7 adalah kolom paling kanan dan diaktifkan oleh bit.7
Ketentuan untuk ukuran 16x bisa dianalogikan dari posisi pada orientasi landscape.
MXLED disimulasikan untuk bekerja seperti pada sistem matriks yang sesungguhnya. Jika kita mengatur perubahan baris atau kolom aktifnya dengan lambat, maka hanya akan terlihat delapan lampu yang bergerak melompat-lompat. Akan tetapi jika perubahannya cukup cepat, maka perubahan nyala lampu-lampunya akan terlihat mantap tidak berkedip. Jadi simulasi MXLED akan terasa seperti matriks led sungguhan.
0 komentar:
Post a Comment