Anda di halaman 1dari 18

Modul LED Matrix 8x8

http://duniabiner.web.id/index.php?topic=25.0

Ngobrol Dunia Biner


Selamat datang, Pengunjung. Silahkan masuk atau mendaftar. Apakah anda lupa aktivasi email?
Selamanya Masuk

Forum Alternatif

Cari

Masuk dengan nama pengguna, kata sandi dan lama sesi

Berita: Mau replay/jawab atau sekedar kasih komen ?? AYO gabung, registrasi mudah. Seindah ucapan terima kasih mu. Undanglah kawan2mu jd anggota, dan jadilah moderator mereka. !! NEW !! Simpan gambarmu di >> Image Uploader

Home

Bantuan

Cari

Masuk

Registrasi

Ngobrol Dunia Biner Elektronika Mikrokontroler C51 Modul & Aplikasi (Moderator: budi sutomo) Modul LED Matrix 8x8

sebelumnya berikutnya Halaman: [1] 2 3


CETAK

Penulis DhannyDhuzell
Administrator Sr. Member

Topik: Modul LED Matrix 8x8 (Dibaca 3025 kali)


Modul LED Matrix 8x8
pada: Maret 20, 2012, 11:50:22 PM

Modul LED Matrix 8x8x10


Oleh Dhanny Dhuzell (2010-08-10)

Tanpa basa basi kita segera membuatnya.... Lebih lengkapnya adalah begini.
Tulisan: 376 Citra: 0

Bagian-bagian Dasar Terus bagaimana dengan bagian-bagian dasar terpenting dari System ini. Kita dapat membagi system menjadi 3 bagian. Bagian pertama adalah Display. Yakni yang bertanggung jawab dengan menampilkan LED. Bagian ini akan selalu mengacu pada memory 15 byte yang disebut dengan Buffer. Atau dengan kata lain, Display akan selalu menampilkan isi dari Buffer ke LED. tentu saja dengan parameter, Running atau Still. Normalnya adalah still (diam) namun jika dika parameter diubah, maka Display akan berlarian ke kiri. Agar Display dapat lari ke kiri,m maka dubutuhkan parameter tambahan yakni long buffer, atau juga disebut dengan karakter array. Lokasinya bisa

1 of 18

7/20/2013 11:50 AM

Modul LED Matrix 8x8

http://duniabiner.web.id/index.php?topic=25.0

ditujuan pada memory EEPROM. Terus bagian ini juga dilengkapi dengan 1 parameter lagi. Yakni parameter Mode Data Karakter dan Dot. Defaultnya adalah Mode Data Karakter, Yakni data yang diberikan pada buffer adalah data ASCII maksimum 15 karakter. Kemudian bagian LED inilah yang akan menterjemahkan karakter ASCII untuk ditemukan LED mana saja yang hendak dinyalakan seperti pada Table Lookup. Seperti yang sudah dijelaskan di atas, Table Lookup disusun dengan format 7x5. Sehingga dibutuhkan tugas tambahan yakni memnterjemahkan format 7x5 menjadi 5x7. Untuk Mode Dot ini hanya dalam pengembangan. Yakni membutuhkan buffer bit sebanyak 8 x 8 x 10 = 640 bit. Dengan demikian user dapat mengendalikan setiap dot dengan mudah. Dalam mode ini buffer Dot yang dipilih untuk ditampilkan, dan tidak mengenal Mode Running. Kemudian bagian kedua adalah bagian Karakter Array, yang sempat disinggung sebelumnya. Lokasinya bisa ditujukan pada memory EEPROM misalnya. Array memorty ini adalah array karakter "Null Terminated". Karena Null ini sebagai tanda akhiran Array. Bagian ke 2 ini juga dilengkapu dengan Counter yang akan menyuplai karakter2 utk diberikan kepada Buffer di bagian 1. Karakter2 yg diberikan bersusunan dan berurutan. Khususnya untuk keperluan Mode Running. Sedang bagian ketiga adalah bagian Edit. ada banyak cara melakukan edit. Misalnya secara langsung dengan menggunakan Keypad. atau secara remote dengan menggunakan remote kontrol milik TV. Atau menggunakan ponsel sehingga dapat di edit dari jarak yang sangat jauh. Pada bagian ke 3 ini setiap edit yang diberikan oleh user datanya akan ditampilkan pada LED. Bagaimana caranya agar datanya bisa ditampilkan? Pertama LED (bagian 1 ) akan mematikan mode Running. Dan dia akan berubah menjadi Mode Still. Kemudian Bagian 3 ini akan mengupdate isi dari Buffer setiap tombol edit ditekan oleh user. Begitu seterusnya sampai adanya tombol Enter yang menyatakan bahwa edit selesai dan Data yang sudah diberikan oleh Edit kemudian disalin oleh EEPROM di bagian 2.

skema rangkaian idealnya Adapun rangkaian idealnya adalah sebagaimana berikut ini. Klik gambar utk memperbesar...

(a)

(b)

(c)

2 of 18

7/20/2013 11:50 AM

Modul LED Matrix 8x8

http://duniabiner.web.id/index.php?topic=25.0

bagian pertama adalah yang paling esensial. Yakni modul LED itu sendiri. Modul LED ini terdiri dari sebuah papan PCB dengan komponen utama HEF4094 dan blok LED. Perhatikan gambar (a) dan klik untuk memperbesar. Nampak di sana adalah sebuah kotak dengan garis putus-putus. Blok tersebut adalah ilustrasi untuk driver seperti yang digambarkan pada gambar (c), dan bukanlah sebuah modul khusus dengan papan PCB khusus pula. Perhatikan pula jalur data yang didapatkan dari port P1.1. Sinyal Data tersebut menuju pin D milik HEF4094(U1). Dan U1 ini memiliki keluaran serial pin Qs yang digunakan untuk memberikan data pada Pin Data chip selanjutnya, yakni HEF4094(U2). Dan seterusnya saling sambung menyambung sampai pada gambar (b) yang berisi 6 Chip berikutnya. Perhatikan pula Chip U1 adalah untuk mengaktfikan jalur Baris.

(d) (c)

Keterangan Program Kami akan menjelaskan sat upersatu dengan singkat Prinsip Dasar Dalam dasain kita kali ini adalah menggunakan 10 blok LED 8x8. Sehingga total terdapat 640 buah lampu. Di Surabaya harga blok LED semacam ini sekitar 15-35 ribu rupiah. Dalam penyusunannya adalah berderet, horisontal. Sehingga hasilnya adalah sebuah tampilan LED dengan organisasi 8 baris dan 80 kolom. CPU akan menyalakan lampu-lampu secara bergantian mulai dari deretan baris terbawah selama beberapa saat (sekitar 3-5mS), dan dilanjutnya pada deretan lampu pada beriks berikutnya, juga dalam lama waktu yang sama. Demikian seterusnya sampai semua baris dinyalakan dan diulangi dengan menyalakan mulai baris terbawah kembali. Hasilnya adalah sebuah display yang seolah-olah semua baris menyala secara bersama-sama. Adapun kolom adalah yang menentukan lampu mana yang saat itu hendak dinyalakan. Prosesnya adalah dilakukan dengan cara shifting 4094 yang akan dijelaskan nanti. Setelah CPU sudah menentukan lampu mana yang hendak dinyalakan (melalui kolom dengan shifting). Maka tugas CPU kemudian adalah menetukan Baris mana yang hendak dinyalakannya. Lampu akan segera menyala atau berganti status, begitu sinyal STR diberikan pulsa tinggi.

3 of 18

7/20/2013 11:50 AM

Modul LED Matrix 8x8

http://duniabiner.web.id/index.php?topic=25.0

HEF4094 HEF4094 adaah sebuah shift register 8-bit yang digunaan secara luas untuk keperluan shifting berkecepatan tinggi data serial dengan keluaran data parallel. Belum lgi kemampuan Chip ini yang bisa dicascading untuk menghubungkan beberapa buah 4094 menjadi 1 rangkaian. Dengan tetap menegakkan asas kesederhanaan pengendalian. Yakni untuk mengendalikan 11 buah (atau lebih) HEF4094, kita cukup membutuhkan 3 sinyal, yakni sinyal CP dan STR yang dihbungkan pada semua HEF4094 yang terhubng. Sedang Snyal D yang dihubungkan pada HEF45094 pertama, yang memiiliki keluaran Os untuk dihubngkan pada input D Chip HEF4094 beriktunya. Demikiat terus sambung menyambung di antara 11 buah Chip HEF4094 tersebut. Beberapa kelebihan 4094 ini adalah kemampuannya dalam menggerakkkan sebuah LED secara lagsung tanpa dibutuhkan resistor tambahan untuk mengurang arus LED. Sehingga solusi HEF4094 adalah solusi ideal, yang membuat desain mejadi semakin ringkas karena semakn sedikit komponen yang dibutuhkan. Dalam rancangan kita kali ini. 1 buah HEF4094 digunakan utuk mengakses Baris. Bukan sebuah kebetulan baris LED yang kita gunakan juga dalam bentuk 8 baris sehinggga 1 buah HEF4094 8-bit sudah cukup untuk menangani baris tersebut. Dalma prakteknya, agar arus yang diberikan kepada anoda LED mencukupi, maka pilihan menggunakan transistor eksternal untuk meningkatkan jumlah arus yang bisa diberikan adalah solusi terbaik. Kita menggunakan transistor PNP seperti 2SA1015 (atau BD140) yang dapat melewatkan arus sebesar 500mA lebih merupakan pilihan yang baik karena transisitor dengan kemasan TO-92 ini berharga murah dan sangat mudah ditemukan. Agar tansistor tidak terkunci atau bahkan rusak akibat arus basis yang terlalu besar, maka kita perlu memasang seri sebuah resistor antara output HEF4094-baris dengan basis-Transisitor. Selanjutnya Colektor masing-masing transistor ini bisa langsung dihubungkan pada anoda baris LED.

4 of 18

7/20/2013 11:50 AM

Modul LED Matrix 8x8

http://duniabiner.web.id/index.php?topic=25.0

HEF4094 ini memiliki register Shiift yang digunakan untuk proses Shifting. Kemudian saat pin STR dikenakan pulsa tinggi, maka isi dari register shift tersebut akan segera dipindah ke register Storage yang statusnya bisa dikeluarklan melalui pin keluaran dengan mengangkat status dari pin OE. asdasdasd need update

System Setelah bicara tentang LE, maka kta akan bicara ternatng bagaimana system tersebtu dapat bekerja sehingga membeeutk rungingi text. asdasdasd need update System . Karakter Karakter yang kita gunakan adalah karakter yang mengacu pada ASCII. Dan menggunakan tampilan font yang digunakan untuk display-display matrix 7x5. Font ini bisa kita temui pada tampilan LCD. Dalam hal ini kami membatasi karater yang bisa ditampilkan adalah dimulai dari karakter $20 $7F. Diluar itu akan dibuatkan karakter blank atau karkter yang tidak didefinisikan sebelumnya, atau karakter yang tidak ada maknanya. Dalam program, kami menyusun karakter-karakter tersebut sebagai Table Look-up. Sehingga program akan dapat mengakses bentuk karakter tersebut, yakni lampu mana yang nanti dihidupkan sebagai representasi dari karakter yng diinginkan. karena Tabel Look-up adalah merupakan data yang berada pada memory program maka untuk membacanya cukup dengan menggunakan instruksi seperti "MOVC A,@A+DPTR". Setidaknya ada 5 bagian dari karkter, yang disesuaikan dengan lebar matrix font. Yakni 7 x 5. Jadi setiap karakter menggunaan memory 5 bytes untuk menyimpan 35 titik-titik pembentuk karakter itu. Sedang 5 titik sisanya dibiarkan kosong. Biasanya titik kosong ini digunakan untuk kursor.
Kode: [Pilih] Misalnya untuk karakter huruf A Char: db db db db db 01111110b ;Matrix 7 x 5 00001001b 00001001b 00001001b 01111110b

Char: db db db db db db

db 01110000b ;Matrix 5 x 7 10001000b 10001000b 11111000b 10001000b 10001000b 10001000b

Perhatikan bit-bit 1 di dalam box di atas, yang membentuk huruf "A". Ada 2 contoh model menyimpanan karakter dalam ROM. Yang pertama adalah

5 of 18

7/20/2013 11:50 AM

Modul LED Matrix 8x8

http://duniabiner.web.id/index.php?topic=25.0

karakter dibuat miring untuk mengemat memory. Sementrara contoh yang ke 2 adalah karakter yang disusun tegak untuk tujuan kemudahan dan performance. Dalm program kami, kmi menggunakan contoh menyimpanan yang pertama untuk kemudian melalu iprogram sususan bit-bit tersebut akan diubah menjadi susuan tegak seperti yang ke dua sehingga dapat denga mudha dtampilkan pada LED. DAlam hal in mksudnya adalah byte-1 adalah adalah menympan element kolom pertama, byte 2 menyimpn element kolom ke 2 dan seterusnya sampai byute-5 menyimpan element kolom ke 5 dari huruf A. Dalam program kami Tabel-tabel Loop-up in dapat ditumi di modul "Char.inc".

System.Stream Stream karena terjadi perubahan proses yang terus menerus dalam jumah besar. Yakni bagaimana sebuah karakter hendak ditampilkan pada media LED dengan menggunakan Shoft Register semacam ni. maslaah timbul karena kita tidak mengirimkan kan karakter dengan cara eleemt kolom. karena yang ditampilkn atau diyalakan lampunya dalah pada bagian baris. Sementara kita tidak menyusun data berdasar baris, karena hal itu akan sngat memborosolkan memory. Justru kita menysusn bit-bit karkter tersebut dalam bentuk kolom. Akhirnya bentuk kolom tersebtu vbia program haru sdiubah kemabli mejdi bentuk baris agar program dapat memidhkan data langsung kepada HEF4094. Dengan melakukan Stream setiapproses penyalaan lampu baris, maka tidak dibutuhkaan sebuah RAM yang besar untuk menyimpaninformasi titik/ampu untuk setiap barisnya. Bukannkah tujuannn adalah skesederhanaan rangkaian yang harus kita pentingkan. Penggunaan RAM eksternal dengan ukuran besar untuk meyimpan insformas titik-titik atau lampu saat proses penyalaa lampu ini akan sangat embatu progam dalam melaukan ugas. Cukup dilakukan sekali menterjemana karakter dari Table look-up dan kemudan rutin cshiftng tinggal menggunanan memory bris untuk melaukan tugasnya. Namun sebuah RAM eksternal memiliki pin yang panyak dengan komneksi yang tidakgampag. belum lgi haragay yag sangat mahal. Ditambah dibtuhkan perlaatan lain yakni sebauh Latch. Dan pada kesimpulan akhir biaya yang ditambahkan untuk RAM eksternal in itidak sebandig denga peningkatanb unjuk kerja yang kan kita dapatkan,. Membuta kami berkesimpulan cuku mengoptimalkan program, dan membuang pilihan untuk menggnaan RAM eksternal ini. asdasd

System.Shifting Sifting dilakuakn dengan mengirimkan data barsi masing-masing karakter. Mulai dari karakter yang paling pertama (sebeah kiri), yakni 5 kali sifting (5-bit). kemduain ditambah dengan separator (blan k 1-bit). Dan diikuiti karakter berikutnya. Demikian seterunya sampai ternjadi 80 kali shifting. Jika saat itu Display dalam mode Running Text maka shifting akan ditambahakanlagi denganhitung shiftng yang saat itu ada. Baru emudian melakukan 8-kalu Shiofting untuk menghidupkan lampu baris mana yang henda dinyalakan. 8-bit baris ini adlaah yang paling penting dilakuak pada akhir shftng.

6 of 18

7/20/2013 11:50 AM

Modul LED Matrix 8x8

http://duniabiner.web.id/index.php?topic=25.0

Selanjutnya proses selanjutnya adalah memberikan pulsa pada STR. Dan lampu menyalalah. Karakter yang hendak dishftng aalah karakter-krakter yang tersimpan pada memory buffer. Dalam program yang kami buat ada setidaknya 15 byte beffer untuk menampung 15 karkter dlam display. Termasuk untuk kelebihan saat shfting terjadi pada mode running text.
Kode: [Pilih] SendChar6bit: Clr ;--MOV MOV ADD Clr SUBB JC JZ CJNE Clr JC MOV Sjmp F0 R7,A A,#80 A,Shift C A,ClockCtr SendChar6bit_X SendChar6bit_X A,#6,$+4 C SendChar6bit_0 R6,#6 SendChar6bit_1

SendChar6bit_0: MOV R6,A SetB F0

System.Buffer Buffer in i kedudukannya adah sangat penting. Karena isi buffer inilah yang selalu dtampulkan pada Display. Jika kta emgubah isis dari bufer ini. maka Display aka segera berbah. Buffer ini adalah data yang berformata ASCII. hal ini karena rutin Shifting-lah yang melakukan konvfersi dari ASCII ke lamp baru setiap 3-5 mS. Kami mengunakan memory RAM yang terdapat pada AT89C51 untuk dguakan sebagai buffer. Dengan demikian model pengaamat langsung dan tidak langsung dapat dikenakanpada buffe rini. System.EEPROM Kita membtukan media menyimpanan yag tidka menguap. Memory tidak meguap hanya disedikan oleh AT89C5, hanya dalam bentuk ROM program yang harus diakses melalu programmer. Sehingga tidak menggkin menggunakan space memeory tersebut dari program. Tentu jatuhklah pilihan kita pada sebuah ROM eksternal yakni AT24C04. Chip ini mimiliki kapasitas 512 Bytes, yang dirasas cukup untuk menampung sejumlah karaktyer yag dita butuhkan. Chip AT24C04 ini dapat dibaca dan dihapus dengan mudah memlaui porogram dngn menggunakan protolkol IIC (Inter Integrated Cuircuit). Tidak dibutuhkan tegangana Vpp lain, kecualai tegangan Vcc 5 Volt. Dan cukup digunakan 2 buah kabel untuk mengkontrol nya. hal ini cukup hemat dalam penggunaaan Port. Dalam prakternya chip EEPROM pada system yang kami buat ini, dapat diganti-ganti dengan chip yang ukuruannya lebih besar atau lebih kecil sesua deng selera. asdasd Protokol IIC

7 of 18

7/20/2013 11:50 AM

Modul LED Matrix 8x8

http://duniabiner.web.id/index.php?topic=25.0

IIC adalah protokol canggih yang dapat menghubungkanbeberaa chip IC di dalam satu system PCB dengan koneksi yang sangat sederhna untuk menghepmat biaya progduksi dan mengembangannya. Dalmahal in cukup dibtuhkan 2 kabel saja untuk menyelenggarakan protrokol ini. Yakn kabel SDA dan SCL. SDA digunakna sebagai jaur data 2 arah. Sedang SCL digunanauntuk meentukan validitas data yang ditentukan dengan clock yang konstamn. Prinsip kerja nya mirirp dengan komunikasi serial shincronous. yangs ealalu membuthkan Clk. Dengan masig-masing menggunakan shoft register maka data yang diterima maupun yang dikiri akan selalu berbenetuk serial. namun dalam protokol IIC ada beberapa atura dasar yang harus diikuti oleh program aplikasi yang meggunakan protkol ini. 1. proses START 2. Pegriman Slave Address 7-bit + 1 bit Statu Read/Write 3. Pengiriman Alamat 4. Pengrianan data 5. Pengirima STOP [hide] Setiap Chip dengan kemampuan IIC, selau memiiki alamat Slave yang sudah ditentukan oleh pabrik. Misalnya untuk AT2 C04 mememiliki iSlave ddress 1010xxxd yang selalu diberikan pada AT24C04. Begitu dia merespon alamat ini, maka chip akan segera ,elaksanakan perintak yang diberika kepadanaya. Semenyata "xxx" adalah alamat atas untuk AT24C04. Mengingat chip ini memmeiik memory lebih dari 256 bytes. Semeatra "d" penunjuk arah data, apakah dikirim ke chip atau dibaca dari Chip. STRAT perlu dikirikan untukmemluia protokol ini. Dan diakhiri dengan STOP. Penjelasan lebih lanjut ttg IIC baca pada Modul IIC [/hide]
Edit Terakhir: Mei 27, 2012, 10:17:55 PM oleh DhannyDhuzell

Like

Tweet

DhannyDhuzell
Administrator Sr. Member

Re:Modul LED Matrix 8x8


Jawab #1 pada: Maret 20, 2012, 11:57:13 PM

(lanjutan) [hide] System.Streaming 2 Ini adalah hal yang paling rumit dilakuakn, seklaigus paling menentukan. EEPROM haya digunaan saat mode runing text. Setiap 6 kal shifting, program akan meng-update isi buffer untuk diisi data dari memory EEPROM. Yakn i dengan menambahkn nili pointer EEPROM, untuk menunjuk nilai offset berikutnya. Kemudain program akan menyalin 15 byte ke dalam buffer. Hasilnya solah-olah karakter berlalrian ke kiri degan ampilanyang tak terpurutus-[putus. Padaha sesungguhnya pinter EEPROM inilah yang mengambil peranan penting. tentang Modul LED C51 adalah komputer dengan memory terbatas, dan waktu proses yang juga terbatas maka diputuskan untuk melakukan stream secara terus menerus, setiap akan menampilkan data pada LED. Jadi

Tulisan: 376 Citra: 0

8 of 18

7/20/2013 11:50 AM

Modul LED Matrix 8x8

http://duniabiner.web.id/index.php?topic=25.0

dengan memanfaat resource yang ada.

System.KeyPad Stream karena terjadi perubahan proses yang terus menerus dalam jumah besar. Yakni bagaimana sebuah karakter asdasd

System.ModeEdit Stream karena terjadi perubahan proses yang terus menerus dalam jumah besar. Yakni bagaimana sebuah karakter asdasd

Saya lengkapi pada update berikutnya. Tapi aneh sampai sekarang belum update juga

Download : Running Text desain 2 : c51_project_runtext_desain2.zip.htm kode di modifikasi dari desain-1 yang di sana terdapat source kode lengkap kap kap. Sementara desain ini adalah perbaikan sedikit. Kalau anda memahami sedikit alur porogramnya maka tidaklah sulit untuk memahani apa isi di desain-2 ini. Tapi kalo ada yg memaksa mendapatkan source kode, maka silahkan email saya. Kalo hati saya lagi baik, maka akan saya berikan itu source kode. Halaman ini memiliki rating yang cukup tinggi. Aneh.. masalah-masalah yang ditemui pembaca khusus dalam artikel ini, klik di sini

9 of 18

7/20/2013 11:50 AM

Modul LED Matrix 8x8

http://duniabiner.web.id/index.php?topic=25.0

modul_matrix_faq.htm [/hide] http://www.youtube.com/watch?v=VYPU1MbNwME#

Permintaan contoh kode langkap bahasan ini hanya diberikan melalui PM .. itu kalo suasana hati lagi baik .. paling disukai yang punya minat tinggi untuk belajar assembler. download all :: http://duniabiner.web.id/zips/rt_2b.zip

Kutip Isi artikel dalam halaman ini , milik Dhany Dhuzell. Isi dalam halaman ini adalah terbuka. Tidak ada larangan bagi yang menyalin halaman ini, dengan satu catatan, yakni Barang siapa yang mengubah isinya dan kemudian mengganti dengan namanya sendiri atau nama oramg lain, lebih-lebih dilakukan untuk diperdagangkan tanpa se-ijin pemilik artikel atau pemilik situs, adalah merupakan tindakan pelanggaran hak cipta yang dapat dituntut secara hukum. Dan tindakan tersebut dapat saya laporkan pada Rois Suryo, Mbah Marijan,atau Mbah Surip

Edit Terakhir: April 06, 2013, 02:30:59 PM oleh DhannyDhuzell

budi sutomo
Global Moderator Full Member

Re:Modul LED Matrix 8x8


Jawab #2 pada: April 14, 2012, 12:40:34 PM

klo sendainya ...rakternya ditambah lg 10... kira2 mikronya mampu gk mas?


Tulisan: 104 Citra: 2

DhannyDhuzell
Administrator Sr. Member

Re:Modul LED Matrix 8x8


Jawab #3 pada: April 15, 2012, 10:13:55 PM

Kutip dari: budi sutomo pada April 14, 2012, 12:40:34 PM klo sendainya ...rakternya ditambah lg 10... kira2 mikronya mampu gk mas?

10 of 18

7/20/2013 11:50 AM

Modul LED Matrix 8x8

http://duniabiner.web.id/index.php?topic=25.0

Tentu bisa...Tapi harus ubah sedikit misalnya jumlah buffernya.. yang tadnya 15 bytes menjadi 30 byes.. trus harus mulai menggunakan C52 atau S52, stack di pindah ke Upper.
Tulisan: 376 Citra: 0

Untuk kawan-kawan ini sejatinya kode yang update bellum di rilis. nanti akan ane rilis kok dan ente sekalian bisa mengedit untuk digunakan sesuai dengan kebutuhan... Tapi nanti ya ... Re:Modul LED Matrix 8x8
Jawab #4 pada: Oktober 18, 2012, 10:07:42 PM

luthfan
Newbie

Tulisan: 18 Citra: 0 Selamat bergabung Gan

salam, mas tanya, saya mencoba membuat modul led matrixnya, tapi knapa nyalanya ga membentuk huruf sama sekali, hanya garis-garis saya menggunakan led yang saya susun sendiri, yang baris kumpulan anoda dan yang kolom kumpulan katodanya, mohon bantuannya, terima kasih. Re:Modul LED Matrix 8x8
Jawab #5 pada: Oktober 19, 2012, 12:51:23 PM

DhannyDhuzell
Administrator Sr. Member

Kutip dari: luthfan pada Oktober 18, 2012, 10:07:42 PM salam, mas tanya, saya mencoba membuat modul led matrixnya, tapi knapa nyalanya ga membentuk huruf sama sekali, hanya garis-garis saya menggunakan led yang saya susun sendiri, yang baris kumpulan anoda dan yang kolom kumpulan katodanya, mohon bantuannya, terima kasih.

Tulisan: 376 Citra: 0

Itu sudah benar .. yakni pengaturan baris dan kolom .. ane gak ngerti kode yang ente pake yang bagaimana .. sbb sebaiknya untuk uji coba memang harus di uji 1 per satu. Re:Modul LED Matrix 8x8
Jawab #6 pada: Oktober 19, 2012, 08:57:32 PM

luthfan
Newbie

Tulisan: 18 Citra: 0 Selamat bergabung Gan

code yang saya pake, hasil download Running Text desain 2 yang di sini mas, kan ada beberapa tahapan untuk uji. test 1 - test 4 dan yg terakhir test jadi. tapi baru sya coba test1 saja lampu nyala membentuk 4 garis dengan spasi padam. berhenti tidak bergerak dan saya telusuri saya coba tanpa driver bisa jadi, hanya saja huruf terbalik, yang padam membentuk huruf. Klo ada file listcodenya saya minta mas, biar saya bisa edit untuk karakter fontnya. Trims........
Edit Terakhir: Oktober 19, 2012, 09:23:33 PM oleh luthfan

DhannyDhuzell
Administrator Sr. Member

Re:Modul LED Matrix 8x8


Jawab #7 pada: Oktober 20, 2012, 04:05:58 PM

Kutip dari: luthfan pada Oktober 19, 2012, 08:57:32 PM code yang saya pake, hasil download Running Text desain 2 yang di sini mas, kan ada beberapa tahapan untuk uji. test 1 - test 4 dan yg terakhir test jadi. tapi baru sya coba test1 saja lampu nyala membentuk 4 garis dengan spasi padam. berhenti tidak bergerak dan saya telusuri saya coba tanpa driver bisa jadi, hanya saja huruf terbalik, yang padam membentuk huruf. Klo ada file listcodenya saya minta mas, biar saya bisa edit untuk karakter fontnya. Trims........

Tulisan: 376 Citra: 0

11 of 18

7/20/2013 11:50 AM

Modul LED Matrix 8x8

http://duniabiner.web.id/index.php?topic=25.0

Wah ane menduga sangat mungkin ini karena driver LED anda terbalik ... kode ini dibuat beberapa tahun yang lalu dan sudah diuji berkali-kali .. dan tidak menemukan masalah. Sekarang kawan-kawan malah lebih suka pake AVR .. yang kode nya juga sudah ane share ... PENGUMUMAN ... !!! bagi yang penasaran dengan source code nya .. silahkan download di sini .. Selamat berekperiment dan sampaikan pertanyaan di sini jika menemukan masalah .. dan sebisa mungkin ane jawab ..
Edit Terakhir: April 06, 2013, 02:33:07 PM oleh DhannyDhuzell

budi sutomo
Global Moderator Full Member

Re:Modul LED Matrix 8x8


Jawab #8 pada: Oktober 31, 2012, 01:22:30 PM

Tulisan: 104 Citra: 2

sy gk mudeng2 ya mas led matrix ini cara kerjanya..apa pada dsarnya hanya penggeseran ram aja..llu setiap pegeseran ram dikirim ke led...??

DhannyDhuzell
Administrator Sr. Member

Re:Modul LED Matrix 8x8


Jawab #9 pada: November 04, 2012, 12:48:53 AM

Kutip dari: budi sutomo pada Oktober 31, 2012, 01:22:30 PM sy gk mudeng2 ya mas led matrix ini cara kerjanya..apa pada dsarnya hanya penggeseran ram aja..llu setiap pegeseran ram dikirim ke led...??

Tulisan: 376 Citra: 0

Kalo pergeseran sih udah pasti .. karena kita menggunakan Shift Register Serial-In Pararel-out. Namun yang digeser sejatinya hanya lah yang di register dalam Shift-register tersebut. Data akan bergeser setiap ada data baru yang dimasukkan pada salah satu ujungnya. Sedangkan di RAM hanya tempat menampung karakter apa yang hendak ditampilkan... Namun kalo untuk desain yang rumit yang menggunakan RAM eksternal berukuran besar.. Isi dalam RAM adalah informasi setiap titik pada matrik... CPU tidak perlu membuat logika untuk mengeser bit... tapi dapat langsun memanipulasi bit-bit data yang ada di RAM. Misalnya untuk membuat karakter indah atau gambar atau simbol-simbol unik. Dan saat CPU hendak menampilkan baris yang ditentukan, CPU tinggal menyalin isi baris dalam RAM ke Shift register... Jadi untuk menampilkan 1 baris hanya dibutuhkan satu proses, CPU dapat langsung men shift sebanyak 80 kali (untuk 10 blok LED) Namun sekali lagi ... desain di atas tidak begitu .. krn targetnya adalah kesederhanaan. Jadi CPU akan sibuk untuk mengkonversi karakter apa yang hendak ditampilkan kemudian dicari data titik nya.. kemudian di berikan pada proses shofting sebnyak 5 kali shift, dan ditambah kolom separasi 1 titik. Proses ini diulang sampai 15 karakter yang hendak ditampikan selesai di shift. (memang sedikit/banyak menjadi lebih ribet). Jadi untuk menampikan 1 baris dibutuhkan banyak proses. Sederhana, ribet, rumit, terbatas. Re:Modul LED Matrix 8x8
Jawab #10 pada: November 21, 2012, 11:08:23 AM

luthfan
Newbie

12 of 18

7/20/2013 11:50 AM

Modul LED Matrix 8x8

http://duniabiner.web.id/index.php?topic=25.0

Tulisan: 18 Citra: 0 Selamat bergabung Gan

mas Dhanny, gmana cara ngrubah input teksnya dari keypad menjadi input teks dari keyboard ps2, trima kasih

DhannyDhuzell
Administrator Sr. Member

Re:Modul LED Matrix 8x8


Jawab #11 pada: November 21, 2012, 03:15:27 PM

Kutip dari: luthfan pada November 21, 2012, 11:08:23 AM mas Dhanny, gmana cara ngrubah input teksnya dari keypad menjadi input teks dari keyboard ps2, trima kasih

Tulisan: 376 Citra: 0

Maksudnya yang mana nih Keypad apa Keyboard ??

luthfan
Newbie

Re:Modul LED Matrix 8x8


Jawab #12 pada: November 22, 2012, 12:37:48 PM

Tulisan: 18 Citra: 0 Selamat bergabung Gan

maksudnya, modul LED Matrix 8x8 di atas kan menggunakan keypad untuk input teksnya, nah kalau input teksnya diganti dengan keyboard PS2 bagaimana source codenya, trimakasih Re:Modul LED Matrix 8x8
Jawab #13 pada: November 22, 2012, 07:34:55 PM

JokoTingkir
Newbie

Kutip dari: luthfan pada November 22, 2012, 12:37:48 PM maksudnya, modul LED Matrix 8x8 di atas kan menggunakan keypad untuk input teksnya, nah kalau input teksnya diganti dengan keyboard PS2 bagaimana source codenya, trimakasih

coba kode ini di analisis gan :


Tulisan: 39 Citra: 0 Main Serong
Kode: [Pilih] ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' =================================================================================== Program: ATPCKBD.BAS Author: Dusko Djuricin E-mail: djdusko@eunet.yu This program demonstrates how to interface AT PC keyboard to 8031 microcontrollers Program was originally written and tested for ATMEL 89C2051. For keyboard interfaci uses only two I/O lines with two pull up resistors. At the output, through serial c it sends ASCII code of pressed key. Other used I/O lines are not necessary. Complete description of PC keyboard operation, could be found at the following addr http://www.geocities.com/SiliconValley/Bay/8302/keybrd.htm#1 ===================================================================================

Dim B1 As Byte , B2 As Byte , N As Byte , Status As Byte , Key As Byte Dim Caps As Bit , Caps_lock As Bit , Ctrl As Bit , Alt As Bit , Tmp As Bit Dim Temp As String * 1 Declare Sub Tx_byte(b1 As Byte) Declare Sub Rx_byte

13 of 18

7/20/2013 11:50 AM

Modul LED Matrix 8x8

http://duniabiner.web.id/index.php?topic=25.0

Declare Sub Kbd_status Kbd_data Alias P1.1 ' connected with 4K7 pull up resistor Kbd_clk Alias P1.0 ' connected with 4K7 pull up resistor Buzzer Alias P3.7 ' for details see BASCOM51 documentation Res_sw Alias P3.5 ' optional output (see code) Dim Dim Dim Dim Dim Dim Dim Dim Frequency As Const 2048 Duration As Const 50 L_shift As Const &H12 R_shift As Const &H59 Ctrl_key As Const &H14 Alt_key As Const &H11 Caps_key As Const &H58 Scroll_key As Const &H7E

'---------------------------[Beginning of Program]------------------------------Reset Kbd_clk ' disable the Keyboard Waitms 100 Do Tx_byte &HFF ' reset the Keyboard and wait Rx_byte ' till the Keyboard answer with If B1 = &HFA Then Exit Do ' acknowledge byte If B1 = &HAA Then Exit Do ' or Power On Self Test OK code Loop Print Print Print Print Print Print

"*** AT PC Keyboard Interface ***" " author: Dusko Djuricin" " E-mail: djdusko@eunet.yu" "********************************"

' KBD LED: Status.0 - Scroll Lock, Status.1 - Num Lock, Status.2 - Caps Lock Status = 2 ' initially Num Lock On Kbd_status Do ' KEY variable will hold ASCII value of pressed key Key = 0 ' initial value Rx_byte ' read scan code from PC keyboard into B1 Select Case B1 Case Ctrl_key: Set Ctrl ' mark that CTRL key is pressed B1 = 0 Case Alt_key: Set Alt ' same as above but for ALT key ... B1 = 0 Case L_shift: Set Caps ' same as above but for Left SHIFT key ... B1 = 0 Case R_shift: Set Caps ' same as above but for Right SHIFT key ... B1 = 0 Case &HE0: ' extended codes are not handled! B1 = 0 Case &HF0: ' BREAK CODE is detected (key depressed) Rx_byte ' read again to see which key is depressed If B1 = L_shift Then ' and keep tracking flags... Reset Caps Elseif B1 = R_shift Then Reset Caps End If If B1 = Ctrl_key Then

14 of 18

7/20/2013 11:50 AM

Modul LED Matrix 8x8

http://duniabiner.web.id/index.php?topic=25.0

Reset Ctrl Elseif B1 = Alt_key Then Reset Alt End If B1 = 0 Case Caps_key: ' in a case of CAPS LOCK key Caps_lock = Caps_lock Xor 1 ' there must be calculated status of it's LED Status = Status Xor 4 Kbd_status ' and then we must send it to keyboard B1 = 0 Case Scroll_key: ' I use combination of Ctrl + Alt + ScrLock Tmp = Ctrl And Alt ' keys to generate reset signal... If Tmp = 1 Then Reset Res_sw ' ...for my host controller Status = Status Xor 1 ' (Scroll Lock LED will lit and buzzer beeps) Kbd_status Sound Buzzer , Duration , 512 Waitms 100 Sound Buzzer , Duration , 512 Waitms 100 Sound Buzzer , Duration , 512 Waitms 100 Set Res_sw Status = Status Xor 1 ' turn off Scroll Lock LED Kbd_status End If B1 = 0 Case Else: ' handling of "printable" characters If B1 > 131 Then ' this program handles only lower part B1 = 0 ' of ASCII code table (with exception of End If ' function keys - see lookup table) If Caps = 1 Then Key = Lookup(b1 , With_shift) ' one table is for SHIFT + key combination Else Key = Lookup(b1 , No_shift) ' and another is for key WITHOUT SHIFT End If If Caps_lock = 1 Then If Caps = 0 Then ' if CAPS LOCK was ON and there is no Temp = Chr(key) ' SHIFT + key combination, then convert Temp = Ucase(temp) ' pressed key into upper case letter Key = Asc(temp) End If End If End Select If B1 <> 0 Then Sound Buzzer , Duration , Frequency ' beep Print Chr(key); ' and print pressed key End If Waitms 10 ' dummy delay ... Loop '-----------------------[Receive Byte from Keyboard]---------------------------Sub Rx_byte Set Kbd_clk ' enable Keyboard mov {n},#0 jb Kbd_clk,*+0 ' wait CLK to become zero ' START bit jnb Kbd_data,L_cont ' if START bit is zero continue sjmp .L_error ' if not exit via error label ' DATA bits !L_cont: Incr N ' this is counter of received bits acall zero2one mov a,{b1} ' prepare buffer mov c,Kbd_data ' read DATA bit

15 of 18

7/20/2013 11:50 AM

Modul LED Matrix 8x8

http://duniabiner.web.id/index.php?topic=25.0

rrc a ' read it into the buffer mov {b1},a ' store buffer value mov a,{n} cjne a,#8,L_cont ' if it isn't last bit repeat ' PARITY bit acall zero2one mov a,{b2} ' prepare buffer mov c,Kbd_data ' read ODD PARITY bit rrc a ' store it into the buffer ' STOP bit acall zero2one mov c,Kbd_data ' read STOP bit rrc a ' store it into the buffer rrc a ' now align bits to right... rrc a rrc a rrc a rrc a rrc a anl a,#3 ' extract valuable bits and mov {b2},a ' store to buffer ' check STOP bit anl a,#2 jz .L_error ' PARITY checking mov a,{b1} mov c,psw.0 ' this is EVEN PARITY rlc a anl a,#1 xch a,{b2} anl a,#1 xrl a,{b2} jz .L_error sjmp .L_end L_error: ' exit in case of an error Waitms 1 ' wait end of transmission mov a,#0 mov {b1},a L_end: Reset Kbd_clk ' stop the Keyboard End Sub '------------------------[Transmit Byte to Keyboard]---------------------------Sub Tx_byte(b1 As Byte) B2 = 8 Reset Kbd_clk ' break the Keyboard Delay ' (safety reasons) Delay Delay Delay Delay Delay Reset Kbd_data ' request to send Set Kbd_clk ' enable the Keyboard ' START BIT acall zero2one ' DATA BITS mov a,{b1} !L_tx_data: rrc a mov Kbd_data,c acall zero2one djnz {b2},L_tx_data ' PARITY BIT mov a,{b1} ' calculate parity bit

16 of 18

7/20/2013 11:50 AM

Modul LED Matrix 8x8

http://duniabiner.web.id/index.php?topic=25.0

mov c,psw.0 ' this is Even parity cpl c ' and Keyboard needs Odd parity mov Kbd_data,c ' send parity bit acall zero2one ' STOP BIT Set Kbd_data ' send stop bit acall zero2one ' KBD ACK BIT acall zero2one Reset Kbd_clk ' stop the keyboard End Sub '------------------[ASM Subroutine wait for falling edge]----------------------!zero2one: jnb Kbd_clk,*+0 ' wait till CLK rise jb Kbd_clk,*+0 ' now wait till CLK fall down ret '------------[Subroutine for sending LED status to the Keyboard]---------------Sub Kbd_status: Tx_byte &HED Rx_byte Tx_byte Status Rx_byte End Sub '---------------------[Scan Code to ASCII conversion table]--------------------' Here are two lookup tables, one for handling ordinary keys and other for ' handling combination of SHIFT + key. I gave (under block remark) same tables ' written as strings, so matching with ASCII codes could be easier. ' ' Note that function keys (F1 to F12) are coded as one byte. F1 is coded as 129, ' F2 gives 130, F3 gives 131 and so on. This was OK for my application and it is ' because of simplicity. ' ' Gray keys are not handled (INS, DEL, HOME, ARROWS etc)! These keys returns ASCII ' value of appropriate key on numeric keypad (HOME will give 7, END gives 1, etc). ' ' Pressing of Num Lock key have no effects. Num Lock LED is always ON and serves ' as indicator that controller is turned on (if the keyboard is connected). ' ' Keyboard mapping is for ordinary 101 keys keyboard (standard US layout). ' No_shift: '( Data "" Data "F9" , "" , "F5" , "F3" , "F1" , "F2" , "F12" , "" , "F10" , "F8" Data "F6" , "F4" , "TAB" , "`" , "" , "" , "LAlt" , "LSh" , "" , "LCtr" , "q" Data "1" , "" , "" , "" , "z" , "s" , "a" , "w" , "2" , "" Data "" , "c" , "x" , "d" , "e" , "4" , "3" , "" , "" , " " Data "v" , "f" , "t" , "r" , "5" , "" , "" , "n" , "b" , "h" Data "g" , "y" , "6" , "" , "" , "" , "m" , "j" , "u" , "7" Data "8" , "" , "" , "," , "k" , "i" , "o" , "0" , "9" , "" Data "" , "." , "/" , "l" , ";" , "p" , "-" , "" , "" , "" Data "'" , "" , "[" , "=" , "" , "" , "Caps" , "RSht" , "Enter" , "]" Data "" , "" , "" , "" , "" , "" , "" , "" , "" , "" Data "BkSp" , "" , "" , "1" , "" , "4" , "7" , "" , "" , "" Data "0" , "." , "2" , "5" , "6" , "8" , "ESC" , "NumLck" , "F11" , "+" Data "3" , "-" , "*" , "9" , "ScrLck" , "" , "" , "" , "" , "F7" ') Data 0 Data 137 , 0 , 133 , 131 , 129 , 130 , 140 , 0 , 138 , 136 Data 134 , 132 , 9 , 96 , 0 , 0 , 0 , 0 , 0 , 0 , 113 Data 49 , 0 , 0 , 0 , 122 , 115 , 97 , 119 , 50 , 0 Data 0 , 99 , 120 , 100 , 101 , 52 , 51 , 0 , 0 , 32

17 of 18

7/20/2013 11:50 AM

Modul LED Matrix 8x8

http://duniabiner.web.id/index.php?topic=25.0

Data Data Data Data Data Data Data Data Data

118 , 102 , 116 , 114 , 53 , 0 , 0 , 110 , 98 , 104 103 , 121 , 54 , 0 , 0 , 0 , 109 , 106 , 117 , 55 56 , 0 , 0 , 44 , 107 , 105 , 111 , 48 , 57 , 0 0 , 46 , 47 , 108 , 59 , 112 , 45 , 0 , 0 , 0 39 , 0 , 91 , 61 , 0 , 0 , 0 , 0 , 13 , 93 0 , 92 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0 48 , 46 , 50 , 53 , 54 , 56 , 27 , 0 , 139 , 43 51 , 45 , 42 , 57 , 0 , 0 , 0 , 0 , 0 , 135

With_shift: '( Data "" Data "F9" , "" , "F5" , "F3" , "F1" , Data "F6" , "F4" , "TAB" , "~" , "" , Data "!" , "" , "" , "" , "Z" , "S" , Data "" , "C" , "X" , "D" , "E" , "$"

"F2" , "F12" , "" , "F10" , "F8" "" , "LAlt" , "LSh" , "" , "LCtr" , "Q" "A" , "W" , "@" , "" , "#" , "" , "" , " "

luthfan
Newbie

Re:Modul LED Matrix 8x8


Jawab #14 pada: November 28, 2012, 07:35:39 AM

Tulisan: 18 Citra: 0 Selamat bergabung Gan

contoh yang menggunakan bahasa Asm nya ada gak gan? karena modul 8x8x10 diatas menggunakan asm. trims

Halaman: [1] 2 3

CETAK

sebelumnya berikutnya
Ngobrol Dunia Biner Elektronika Mikrokontroler C51 Modul & Aplikasi (Moderator: budi sutomo) Modul LED Matrix 8x8

Lompat ke: ===> Modul & Aplikasi

ayo

'SMF 2.0.4 | SMF 2011, Simple Machines Enotify by CreateAForum.com' XHTML RSS WAP2 Halaman dibuat dalam 0.427 detik dengan 21 queri.

18 of 18

7/20/2013 11:50 AM