LED matrix is the number of LEDs arranged in columns and rows. Those LEDs are then used to display images or text that usually displayed with certain animation effects. Therefore, the LED matrix is often referred to as the Running Text or Moving Sign.

Arrange LEDs as matrix

MXLED is a simulator of the circuit matrix of LEDs. With this simulator, we can try to program the LED matrix controllers even without the hardware. MXLED made LED matrix by arranging the LEDs on the vertical lines and horizontal lines. We must provide the number of rows of horizontal lines (we make eight lines). Then, we also make as many vertical lines of columns. Arrangement of vertical lines and horizontal images are as follows:

Vertical and Horizontal Line
Vertical and Horizontal Line

Lines of vertical and horizontal are not connected. Then, at each meeting point between the vertical and horizontal lines, attach a LED by connecting its anode to the horizontal lines and its cathode to the vertical lines. Installation of these LEDs are as shown below:

Installation of LEDs
Installation of LEDs

By installing LEDs as above, the light up LED is the LED where the anode is connected to the horizontal lines which is high (1) and the cathode is connected to the vertical lines which is low (0). There is only one low vertical line at a time, while other line must be kept high. This low vertical line we refer to as the active column. Unlike the vertical lines, horizontal lines consisting of eight lines may has high or low value without having to pay attention to the other horizontal lines.

Horizontal Control

To give the voltage on this horizontal line, we can not directly connect it to port. This is caused by the need for large electrical currents. Therefore, horizontal lines are the powered using a PNP transistor as shown below:

The power supply for the horizontal lines
The power supply for the horizontal lines

Each horizontal line given a transistor like the picture above. In this way, to make the horizontal lines can give the current to the LED, then the base must be low state (0). Meanwhile, if the base was given a high state, then the line could not provide current to the LED.

Vertikal Control

As horisontol lines, vertical lines can not be controlled directly using the port. This is caused by the large amount of current that must be sunk into the ground. Therefore, we can use the NPN transistor to sink current from these vertical lines. Way of installation is as shown below:

Vertical line current sink
Vertical line current sink

Each vertical line is controlled using a transistor as shown above. If the base was given a high condition (1), then the line (column) will be an active line. Conversely, if the base were given the condition of low (0), then the line becomes inactive column.

As already mentioned above, there is only one column that should be active, while the other columns must be inactive. There are many ICs that output works like that. One of the cheapest is the 4017.

Columns control using IC 4017
Columns control using IC 4017

Too bad that this IC only has 10 outputs. Thus, we can only make the controls to 10 columns πŸ™

Relax, we can use other tricks to extend the control capabilities of this 4017. The trick is to make the block columns. The columns are grouped into block of columns. Each block columns consists of 10 columns. The columns in each block columns are numbered from 0 to 9. So, column 0 is the column 0 of block 0, column 10 is the column 0 of block 1, column 21 is column 1 of block 2, and so on.

Each base of the column with the same number are combined into one and is controlled by an output of 4017. For example, the base of the column 0 is connected to the base of the column 10, column 20, column 30, and so on. Then the bases which have become one, controlled by the Q0 of 4017.

Block Columns
Block Columns

From the picture above, we can see that although the base of column 0 and column 10 are controlled concurrently, but the column that can sink current is only the column with the active block. Seen that way of controlling the “column” or “block columns” is the same. If the number of block columns is only a few, then the controlling block of columns can be done directly using the port of the microcontroller. However, if the number of block columns is quite a lot, then the block columns can also be controlled using the other 4017. So, we develop a multilevel 4017, ie 4017 units (control column) and 4017 tens (the controlling block of columns). And if the number of block columns more than 10, then we can make the next level, ie 4017 level in the hundreds.

To cascade 4017 as above, is by connecting the carry output of 4017 units level as the input clock for the 4017 of tens level. And if there is 4017 of hundreds level, then the carry output of 4017 of tens level is used as the input clock for the 4017 of hundreds level. And so on. While the reset input of all of 4017 are combined into one. Thus, the overall control system only requires two lines for columns control, ie the input clock (clock input for 4017 of unit level) and the reset input (composite of all reset of 4017). Thus, the preparation of the LED matrix is exactly the same as the MXLED simulation.

Power Current Calculation

From the explanations above, we can see that there are three kinds of transistors viewed from the position. First is the row controller transistor, second is the column (unit) controller transistor, third is the column block (tens) controller transistor. Of course this calculation assuming that the number of columns are not more than 100 columns.

Calculation of the row controller transistor current

If each LED using a current of I, then the total maximum amount of current through the line control transistor is I x number of columns. For example, if each of our LEDs designed to use 5mA current and the number of columns are 30 columns, then the row controller transistor should be able to drain 5 x 30 = 150mA current.

The next question is, what is the value of collector resistor of the transistor?

To answer these questions, we should see the path of current from the power supply to get to the ground. First, the power supply current enter the PNP transistor through the emitter to the collector. Then passes through the collector resistor, then continues to enter into LED, enter into the collector of column controller, then enter the collector of the block columns controller.

If the power supply used is 5V, how much is the clamp voltage across the resistor? The voltage across the resistor is 5V – V on LED – VCE line controller tansistor – VCE of column controller transistor – VCE of column block controllers transistor. LED clamp voltage is typically about 1.7 V, but there are some types of LEDs which have a clamp voltage of up to 3V. While VCE transistors in saturation state is typically around 0.3 V. We assume that we use a regular LED with a clamp voltage of 1.7 V. Thus, the voltage across the resistor pin is 5 – 1.7 – (3 x 0.3) = 2.4 V.

Once we know the clamp voltage at the collector resistor of the line controller transistor, to calculate the magnitude of the resistor is R = V / I = 2.4 V / 150mA = 16 ohms. Too bad that we might be difficult to obtain this value of 16 ohms. So we can use a slightly lower value, eg 15 ohms, so that the LED current will be slightly higher, or use a little higher, for example 18 ohms, so that the LED current will be slightly lower.

Things should be kept on the LED matrix design like this is, that these calculations is the calculation of the current if the scanning is running. If scanning is not running, then a current of 150mA will be entered on one LED alone ❗ And currents of this magnitude would likely destroy the LED. So, we must take precautions so that the current should only flow if scanning process has been running. A little good news is, if we use the MCS-51 as a controller, so when the reset (the scanning process is not running) port is always in a state of high. So, if the base of line controller transistor is connected to the MCS-51 port, so it can be sure that the current will not flow to the LEDs on the reset state. However, you must ensure that the program will not hang. Because if the program hangs and stops the scanning process, then it means disaster for your LED matrix. And if you are not sure that your program can run smoothly, then you can reduce the LED current so that even if the scanning process is not running, current flows are still small enough to be able to be borne by one LED.

To calculate the base resistor value of the line controller transistor, we only consider the transistor to work as a transistor switch, which is so current that flows is the saturation current. With the calculation of the collector current of 150mA, then we can use the C9012 transistor that has a current gain of about 150. We can take a value of 100 to make it more secure. With the gain of 100 and the collector current of 150mA, then the base current should be about 1.5 mA. Clamp voltage at the base resistor is approximately 5V – VBE, where VBE is about 0.7 V. Thus, the clamp voltage at the base resistor is about 4.3 V. Thus, the base resistor value is 4.3 V / 1.5 mA = 2K8. And again that this value is not available values. So we could slightly reduce the value to the nearest number of available, namely 2k7.

Calculation of the column controller transistor current

Column controller will sink as much current number of rows in that column. And we have determined that the number is eight lines. If we have determined that the LED current is 5mA, then the maximum current to be sunk by the column controller transistor is 8 x 5mA, which is 40mA. With the value of this, we simply use the C9013 transistor to control the column. The Gain of C9013 transistor is also about 150. And as before, we take saver value to 100 only. With the gain of 100 and the collector current of 40mA, then the base current in the column controller transistor is 0.4 mA.

Clamp voltage at the base resistor of the column controller transistor is the output voltage of 4017 minus 2x the VBE voltage. If we use a 5V power supply, then the output voltage of 4017 is approximately 4.8 V. Thus, the clamp voltage at the base resitor is about 4.8 – 2 x 0.7 = 3.4 V. Thus, the base resistor value of the column controller transistor is 3.4 V / 0.4 mA = 8K5. And again, this value is not available values. So, just use the 8K2.

Calculation of the block columns controller transistor current

The block columns controller transistor will sink as much current in the column controller transistor x 10, which is 10 x 40mA = 400mA. From the datasheet, C9013 has a maximum collector current of 500mA. So, we can still use the C9013 to controll block columns.

Clamp voltage at the base resistor of the block columns controller transistor is the voltage used to control this transistor reduced by 1x VBE. If we also use 4017 to control the block column, then the clamp voltage across the base resistor of the block columns controller transistor is approximately 4.8 – 0.7 = 4.1 V. Thus, the value of the base resistor of the block columns controller transistor is 4.1 V / 4mA = 1K.

That’s it. Happy trying ❗

286 thoughts on “Designing LED Matrix Circuit

    1. @yitno: ya iyalah, masa ya iya dong πŸ˜› transistor pengendali kolom sesuai dg jumlah kolom, transistor pengendali blok kolom sesuai dg jumlah blok kolom, dan transistor pengendali baris sesuai dg jumlah baris ❗

  1. mo nanya klo dot matriks ny pake port serial gmn n terhubung lwt PC (komputer) n bisa diubah lewat program delphi gmn bs gx……tq

    1. Klo mau dikendalikan lewat port paralel, itu gampang karena pengendalian baris bisa dilakukan melalui port data. Sedangkan pengendalian kolom yang hanya membutuhkan reset dan clock bisa dilakukan melalui port control. Akan tetapi klo mau lewat port serial, tentu saja kita membutuhkan komponen tambahan yg akan menangani komunikasi serial. Dan saya sarankan, komponen tambahan itu sebaiknya pake mikrokontroler saja. Jadi, PC (program delphi) berkomunikasi dg mikrokontroler. Dan mikrokontroler itu yg harus menangani proses menampilkan datanya. Lihat Menampilkan gambar pada LED matriks menggunakan simulator dan Teks Berjalan pada Matriks LED. Walopun kedua link tersebut tidak membahas komunikasi serial, tetepi link tersebut membahas pengendalian matriks led mennggunakan mikrokontroler.

  2. Makasih… info yg sangat bermanfaat…
    kebetulan saya lagi belajar Mikrokontroller, terutama soal perancangan Led Matrix…

    Oh ya,saya sering hunting buku2 mikrokontroller di Gramedia, tp rasanya belum pernah nemu buku karya mas Sulhan..?
    Nyari dimana ya..?

    1. @Acuy: lebih gampang klo cari lewat toko buku online. coba aja search pake kata kunci judul buku ditambah namaku, Insya 4JJI ketemu toko-toko buku online yg jual. Atau coba langsung pesen di web site penerbit

  3. klo proses memprogram nyala LED (dot matrixnya)ke mikrokontroler gmn y?n proses menampilkan datanya atau mengirimkan data nyala dari PC ke dot matrix gmn y?……tq

  4. ASKUM & LAM KNAL mas, membuat text berjalan/running text dgn IC 4017 bisa gak dan di butuhkan komponen apa saja?

    1. @huda: Rangcangan Matriks LED pada artikel ini adalah rancangan hardware yg cara kerjanya sama dengan simulator MXLED. Komponen apa saja yg dibutuhkan? ya jelas LED, transistor PNP maupun NPN, IC4017, dan resistor. Berapa jumlahnya masing2? ya tinggal dihitung aja berdasarkan penjelasan di atas ❗
      Trus bagaimana membuat running text dg hardware tersebut, ya tinggal liat aja pada artikel Teks Berjalan pada Matriks LED.

  5. Mas salam kenal, mau tanya mas punya gak skema rangkaian otomatis dengan menggunakan LDR. kalo ada kiranya berkenan mengirimkannya ke Email saya…

  6. Salam kenal mas… maaf baru kasih komentar, terima kasih atas program simulasinya yang sangat baik bagi pemula, saya sedang belajar matrix Led menggunakan mikro kontroler at89s51 menggunakan simulator, sedangkan secara hardware belum. Tapi sebelum ke matrix led saya mau belajar PWM runing led tolong mas pentunjuk softwarenya ? terima kasih sebelumnya…

    1. @I Gede: PWM running LED? gimana tuh maksudnya? apa running LED yg intensitas cahayanya bisa diatur? klo gitu maksudnya, kita harus melakukan scanning pada port yang ada LEDnya. Kecepatan scanning tergantung berapa tingkat intensitas yg diinginkan dan kecepatan perubahan nyala LED. Misal, ada 10 tingkat intensitas, terus kecepatan maximal perubahan nyala LED adalah 10x/detik, maka kecepatan scanning minimal adalah 100Hz. Data nyala LED disimpan pada buffer yg jumlahnya sebanyak jumlah intensitas (misalnya 10 byte). Setiap kita mengganti bentuk nyala LED, kita harus mengisi seluruh buffer. Sebagai contoh, kita akan menyalakan semua LED (8 LED) tetapi dengan intensitas masing2 adalah 10%, 20%, 30%, 50%, 70%, 80%, 90%, 100%, maka kita harus mengisi ke 10 buffer tersebut seperti berikut (1=nyala 0=padam):

      NoBuf   Data 
        0   11111111
        1   01111111
        2   00111111
        3   00011111
        4   00011111
        5   00001111
        6   00001111
        7   00000111
        8   00000011
        9   00000001

      Kemudian data2 pada buffer tersebut harus dikirimkan ke port dengan kecepatan 100Hz. Perhatikan bahwa LED yg menyala 10% hanya menyala 1x, yg menyala 20% menyala 2x, dan seterusnya.

    2. ya betul mas.. led yang intensitasnya bisa diatur yang dimaksud,terima kasih mas petunjuknya, saya sudah terbayang tinggal dicoba aja, mudah-muadah berhasil

    1. @IGede: Downloader pake usb itu harus menggunakan mikrokontroler jg, dan mikrokontroler yg digunakan biasanya ATMega8. Jd, klo mo bikin downloader usb, maka kita harus punya downloader untuk ATMega8 dulu. Saranku sih klo memang butuh downloader yg pake usb, mendingan beli yg uda jadi aja, banyak ko beli lewat internet. Ato klo mo sabar nunggu, beli ke aku jg bisa. Tp nggak janji kapan bisanya πŸ˜€

    2. wex, klo aku yg jual sih pasti murah, sayangnya aku ga bisa janji kapan jualnya πŸ˜› mendingan beli ya mahal aja, dijamin sekarang sudah ada, mungkin sekitar 100-150rb. ato kalo yang lebay bahkan bisa lebih mahal lagi πŸ˜€

    3. I Gede Sapta, sebenernya banyak sekali alternatif untuk mendapatkan downloader usb, misalnya, gunakan SDownldr.exe yg ada sebagai bundle dari Micro.exe yg menggunakan port paralel. Nah, untuk bisa menggunakannya melalui usb, beli saja usb to lpt yang banyak dijual di toko2 komputer

  7. salam kenal mas, makasih bnyak atas infonya, saya dapet tugas bikin modul dot matrix 8×4 dengan port paralel, tp saya msih bingung karna masih belajar,tolong dong mas gmana gmbar rangkaiannya, and cra menghubungkan pada port parallelnya, makasih banyak mas

    1. Matriks 8×4? lha gampang banget kan? buat aja dg cara seperti dijelaskan di atas. trus pengendali baris yg jumlahnya 8 langsung dihubungkan dg port data yg jg 8, sedangkan pengendali kolom yg jumlahnya 4 dikendalikan dg port control yg jumlahnya cuma 3. Nah, krn pengendali kolom kurang 1, maka kita tidak bisa menggunakan port control untuk mengendalikan kolom secara langsung. Dan kita tetep bisa menggunakan 4017 seperti penjelasan di atas. Kemudian kita menggunakan port control untuk mengendalikan reset dan clock dari 4017 tersebut. Sebenernya pertanyaan ini sudah terjawab pada komentar di atas.

  8. budiono……………maz saat saya jalan can program Micro V7 kenapa ya muncul kotak dialog “simulatorIn.dll”not found…mohon diberi penjelasan dan jalan keluarnya maz………

  9. Tanya lagi mas, dalam praktek rangkaian led matrik butuh
    pengendali kolom,baris dan matrik .Saya mengamati listing program runingtex pada deklarasi terdapat colomR equ r0 port
    ctrl equ p1 portData equ p0 yg saya tanyakan p0 apa untuk pengendali kolom p1 untuk pengendali baris terus untuk pengendali matrik port apa?

    1. Mengendalikan matriks itu ya mengendalikan kolom dan baris. Jd hanya disediakan pengendali kolom dan pengendali baris. Pengendalian baris melalui PortData, dan pengendalian kolom melalui PortCtrl. Perhatikan bahwa ResetCol dan NextCol ditempatkan pada PortCtrl. ResetCol dihubungkan dg Reset 4017 dan NextCol dihubungkan dg Clock 4017.

  10. mas bisa nggak membuat led matrix dengan menggunakan ic eprom seri 39sf020a kalau bisa gimana skemanya dan cara memprogamnya???? tolong mas di balas….

    1. @soleh: Maksudnya eprom untuk mengendalikan matriks led tanpa mikrokontroler? tentu saja bisa. Akan tetapi itu tidak lebih mudah jg tidak lebih murah jika dibandingkan dg yg menggunakan mikrokontroler. Pertama, untuk mengendalikan eprom dibutuhkan counter. Sedangkan untuk menjalankan counter dibutuhkan sumber clock. Jd jumlah chip justru lebih banyak jika tanpa mirkokontroler. Kedua, proses mengisi datanya ke eprom untuk bisa menghasilkan gambar yg sesuai jg jauh lebih sulit ketimbang proses pembuatan program pengendalian mikrokontroler.

    2. makasih mas atas informasinya,o ya mas harga mikrokontroller yang paling murah seri berapa sih

    3. @soleh: waduh, ko tanya harga ke aku sih, mangnya aku jualan mikrokontroler πŸ˜› biasanya harga2 gitu sih tergantung yg jual, ga selalu sama. tp AT89S51/AT89S52 itu sudah tergolong sangat murah. sekitar 12-15rb aja.

    4. oy mas AT89S51 kock ada dua sih. satu yang kakinya sedikit satunya lagi yang kakinya banyak..pakainya yang mana mas????

    5. download programnya dimana? ya ampun, usaha dikit kenapa sih? lah tinggal klik di kategori mikrokontroler terus lihat-lihat disitu artikel yang mana yang mau dilihat, atay lihat semua juga boleh.Untuk AT89S51 memang ada beberapa pilihan kemasan, ada PDIP (bukan partainya Megawati ya)–40 pin, PLCC–44 pin, dan TQFP–44 pin. Tapi untuk eksperimen sih biasanya paling mudah pakai PDIP. Nah, kalau yang jumlahnya 20 pin PDIP, itu pasti bukan AT89S51 tp AT89C2051 atau AT89S2051. Tentang mau pakai x51 atau x2051 itu ya tergantung kebutuhan, berapa jumlah port yang dibutuhkan, juga berapa besar kode programnya. Lebih jelasnya, lihat sendiri datasheetnya.

    6. pak sulhan aku dah dpt mikron nya tapi yang AT89C51 bisa gak buat led matrix atau seven segment????kalau bisa downloadernya gimana terus mrogamnya pakai softwarenya pak sulhan bisa gak??

  11. mas sulhan saya bikin 7 segmen dari led yang tiap segmennya itu terdiri dari 29 buah led ,pertanyaannya :untuk di gabungkan ke suatu rangkaian jam digital apakah harus menaikan daya led atau merubah rangkaian tersebut mas?…..makasih atas infonya…biar tidak keliru tolong rumusnya

    1. @kamal: menaikan daya led? maksod loh? klo menurutku sih setiap segment itu harus dikendalikan oleh transistor. Nah, basis dr transistor ini yg dikendalikan oleh port mikro.

  12. boleh minta rangkaian display matriks & perintah dari mikrokontroler Atmega 89S51 untuk menjalankan lampu led tersebut ,,,, klo nya bisa kirim ya gan k email saya

    1. @surya: Atmega kok 89S51 sih? itu bukan at mega, itu keluarga MCS-51 πŸ˜› Dan kebetulan, contoh-contoh tentang matriks led di website ini menggunakan MCS-51, tinggal ambil saja source-nya di linknya. Baca perlahan dari atas hingga bawah, pasti ketemu linknya. Ambil sendiri ya, ga usah aku kirim-kirimkan lewat email.

    1. @ Dido
      Kedua buku, baik terbitan 2006 maupun 2008 itu sama, hanya beda cover. Buku tidak membahas LED matrix, hanya dibahas di sini. Meski demikian, dasar pengetahuan LED matrix, yaitu 7 segment, dibahas di buku.



    1. Pake shift register tentu saja bisa, tp bukan cara yg cerdas, kenapa?

      Pertama, shift register itu akan menggeser apa saja yg ada padanya. Jd, kita harus menginisialisasi isinya terlebih dahulu

      Kedua, jika ada 100 kolom, bisa dihitung berapa banyak IC yg digunakan. Sementara dg menggunakan 4017 kita cuma butuh 2. Penghematan baik dr sisi jumlah komponen maupun kerumitan PCB

    1. @muslih: lha itu di atas kan uda ada. Tentu saja skema yg ditunjukkan bukan skema yg lengkap, tp untuk mendapatkan skema lengkapnya kan seharusnya sudah cukup hanya ditunjukkan begitu saja. jika diperlukan, muslih bisa lihat datasheet 4017

    2. Ya makasih mas sulhan, yang mau saya tanyakan kalau driver baris itu langsung dari keluaran AT89S51 bisa gak ya mas?

    3. Ya makasih mas sulhan, rencana saya mau pakai 74HC164, berhubung ada yang lebih simpel pakai 4017 aja, jadi setiap blok kolom di pasang 1 transistor lagi ya, terus yang untuk kendali baris itu bisa langsung dari keluaran AT89S51 ya mas?

  14. kalau misal led matrik 8*100 itu menggunakan 2 IC 4017 untuk mengendalikan kolom, untuk mengendalikan blok kolom berarti harus ada 1 lagi IC 4017 begitu mas maksudnya gambar gambar diatas?

    1. kalau menggunakan 32 kolom penyambungannya blok kolom 0= 0-10-20-30, blok kolom 1= 1-11-21-31, blok kolom 2= 2-12-22, blok kolom 3= 3-13-23, blok kolom 4= 4-14-24, blok kolom 5= 5-15-25, blok kolom 6= 6-16-26, blok kolom 7= 7-17-27, blok kolom 8= 8-18-28, blok kolom 9= 9-19-29.
      Apakah begitu mas cara penyambungannya?

    2. Gini muslih, jadi, setiap kolom itu dikendalikan oleh sebuah 4017 yang keluarannya ada 10 buah dengan nomor 0 hingga 9. Blok kolom 0 adalah kolom 00 hingga kolom 09, blok kolom 1 adalah kolom 10 hingga 19, blok kolom 2 adalah kolom 20 hingga 29, gitu seterusnya. Oleh karena itu, setiap kolom dg nomor satuan sama, dikendalikan secara bersamaan oleh sebuah keluaran dari 4017 yg memiliki nomor sama. Jadi, kolom 0, 10, 20, 30, dst dikendalikan oleh keluaran 0 dari 4017 tingkat pertama. Coba perhatikan baik2 penjelasan di atas.

    3. Klo 3 blok berarti cuma maksimal 30 kolom. klo 32 kolom butuh 4 blok, bisa dengan 10, 10, 10, 2 atau bisa jg dibuat 8, 8, 8, 8. Klo pin yg dipake oleh mikrokontroler untuk keperluan lain tidak banyak, kita bisa menggunakan 8 pin sebagai pengendali kolom ditambah 4 pin pengendali blok kolom. Ditambah 8 pin pengendali baris, kebutuhan total cuma 20 pin. Masih ada 12 pin untuk keperluan lain.

    4. seperti kata mas sulhan “kita bisa menggunakan 8 pin sebagai pengendali kolom ditambah 4 pin pengendali blok kolom. Ditambah 8 pin pengendali baris, kebutuhan total cuma 20 pin. Masih ada 12 pin untuk keperluan lain.” berarti tidak menggunakan 4017, begitu maksudnya ?

    5. Ya benar, ga usah pake 4017. Tp tentu saja matriks led yg dihasilkan jd berbeda dg simulasi MXLED. Jd klo mo nyoba contoh2 yg dibuat untuk MXLED perlu ada sedikit modifikasi pada programnya.

    6. Kalau untuk taraf belajar enakan pakai yang ya mas? pakai 4017 atau langsung dari pin mikrokontroler?

    7. Bukan masalah pake 4017 ato tidak, tp contoh2 itu menggunakan PortData untuk pengendali baris sementara pengendali kolom hanya menggunakan 2 pin yaitu ResetCol dan NextCol. 4017 itu hanya salah satu contoh implementasi hardware. Mana yg lebih mudah untuk belajar antara pake 4017 dan tidak, sebenernya ya sama mudahnya, hanya saja berbeda cara memrogramnya. Yg jelas jika pake 89S51/52, maka tanpa pake 4017 artinya penghematan dari sisi hardware. Sedangkan jika pake 2051, maka jumlah port tidak mencukupi jika ga pake 4017.

    8. kalau untuk keluaran 4017 tingkat satuan itu untuk kolom 0-9, kalau untuk kolom 10-19 berarti basis di paralel dengan 0-9 dan seterusnya……apa begitu mas?

    9. kalau untuk blok kolom sudah jelas mas terdiri dari 10 kolom, basis kolom 0 diparalel dengan basis kolom 10,20,30 dari keluaran Q0 tingkat satuan, maksud saya itu apakah basis transistor kolom 1 di paralel dengan basis transistor kolom 11,21,31 dari keluaran Q1 tingkat satuan, kemudian keluaran Q2 untuk kolom 2,12,22, Q3 untuk kolom 3,13,23 juga tingkat satuan…. dst, yang masih bingung itu mas ????

    10. Alhamdulillah sudah bisa jalan mas, nyalanya terbalik teksnya padam, solusinya gimana mas ??

    11. syukurlah uda jalan. sebenernya aku mo kasih tau klo ada 0..9 tu artinya dari 0 hingga 9, begitu juga 10..19 tu artinya dari 10 hingga 19. syukurlah uda ngerti sendiri. klo masalah kebalik nyala dan padamnya ya tinggal dibalik aja kan? gitu aja ko repot πŸ˜€ perintah untuk membalik itu pake cpl. jd sebelum data dikirim ke PortData, datanya dibalik terlebih dahulu menggunakan cpl

                mov   PortData,@ColomR


                mov   A,@ColomR
                cpl   A
                mov   PortData,A

      bisa juga dg membalik konstanta2nya ❗
      selain itu, untuk menghindari gambar yg membayang, maka pada perpindahan kolom aktif semua led harus dimatikan sebelum kolom aktif dipindahkan. jadi, kita juga harus membalik:

                mov   PortData,#0          ;matikan semua led


                mov   PortData,#255        ;matikan semua led
    12. ya mas sudah saya tambahi cpl, sekarang sudah terbalik nyalanya, tinggal textnya saja yang menyala, tapi led yang lain kok masih menyala redup, bagaimana cara membuat konstanta?

    13. mas saya sudah merubah

      mov PortData,@ColomR


      mov A,@ColomR
      cpl A
      mov PortData,A

      tapi kok di depan & di belakang teksnya lednya nyala semua mas, tolong pencerahannya

  15. Mantap banget tuh mas pembahasannya. Mas, sy mau nanya apakah dimungkinkan untuk mengendalikan LED MATRIX menggunakan pesan SMS?bagaimana suatu karakter isi pesan SMS dapat terbaca oleh MC, dan MC tersebut mengolah isi pesan SMS dan selanjutnya MC mengeluarkan perintah utk menampilkan text (yg tentunya sesuai dengan isi pesan SMS) melalui port outputnya dan setelah itu menampilkan isi pesan SMS ke rangkaian LED MATRIX. Mungkin MAs dapat memberikan sedikit pencerahannya….


    1. MAs Sulham saya mau bertanya. Apakah dimungkinkan pengendalian LED MAtrix dapat melalui pesan SMS? bagaimana suatu isi karakter pesan SMS dapat diolah oleh MC dan ditampilkannya melelui port output ke LED MATRIX ? jadi misalkan ketika kita mengetikan pesan SMS yg isinya “HALLO” pesan SMS tsb nantinya akan diolah MC dan ditampilkan ke LED matrix. mungkin blok diagrmanya sbagai berikut :

      HP(tx)(GSM Network)H(rx)RS232MC==>Driver=>ledMTRX

      moga ajah mas Sulham dapat memberikan pencerahannya……

    2. @irfan: matriks led itu layar yg universal, jd dipake buat nampilin apa aja jg bisa. tp klo pertanyaannya gimana caranya nampilin sms ke matriks led, maka ini diluar pembahasan di sini, karena yg lebih menonjol pada pembahasan tersebut adalah protokol pembacaan sms, bukan teknik menampilkan data pada matrisk led ❗

  16. Mas Sulham, saya mw nanya lg nih. Gmn yah caranya mengetahui pin baris dan kolom pada dot matrix 7×5 pasalnya ketika sya liat
    pada skematiknya terdapat 5 pin utk kolom dan 7 pin untuk baris, nah ternyata pas saya membeli matrix 7×5 ternyata saya lihat terdapat 14 pin.
    saya jadi bingung nentuin mana pin2 utk baris dan kolomnya. mungkin dapat diliat skema gambarnya dibawah ini :

    ||||||| <===PIN
    ||||||| <===PIN

    Saya sangat mengharapkan sekali pencerahannya dari Mas Sulham, mohon maaf saya bertanya seperti ini karena saya bner2 NEWBIE banget.


    1. @irfan: aku jg belum pernah make matriks yg uda jd πŸ˜€ tp bisa dicari pake avo meter. coba aja bolak-balik pin2nya satu2, pasti ketemu πŸ˜€

  17. malem om sulhan mau nanya
    1. untuk simulasi mxled nya kok gak bisa tampilkan tulisan kaya yang di program hanya geser ke kanan terus apa ada yang salah ya
    2. listing running text itu mampu untuk berapa karakter
    3. mohon dikirim gambar lengkap dong
    4. bukunya mas sulhan ok bgt q dah beli cuma kok gak bisa urut contoh habis dari jam ke motor steper balik lagi ke jam digital
    thanks bgt

    1. @sukino:
      1. sudah download Microcontroller Project versi terbaru kan? baca helpnya, terus coba demonya dari yang pertama hingga yang terkahir.
      2. listing yang ada di website ini? itu untuk ukuran 32 kolom. berapa karakter? kalau maksudnya berapa karakter yang tampak, itu tergantung seberapa lebar karakternya, kalau lebarnya 6 kolom, berarti cukup 5 karakter. tapi kalau cuma 5 kolom, bararti cukup 6 karakter. tapi biasanya tulisan itu akan ditampilkan dengan bergeser ke kiri, jadi bisa untuk menampilkan tulisan yang panjangnya tak terbatas.
      3. seharusnya bisa menyusun gambar lengkap dari keterangan di sini. kalau belum bisa, artinya kamu belum benar-benar paham. cobalah terlebih dahulu berusaha untuk memahaminya. aku sendiri tidak punya gambar yang lengkap πŸ˜€
      4. maksod loh ❓ πŸ˜•

  18. pak sulhan aku dah beli buku lewat online di bookstore.com atau apa ya lupaaa…. nanti kalau dah dapat bukunya aku tanya2 sambil online bisa ya….

  19. mas sulhan tutorialnya mantab… apa juga menerima kursus mikrokontroler ya???? lagi pingin belajar nih… trima kasih..

    1. ok deh.. saya pelajari bukunya dulu kalo gitu. kalo ada yang kurang jelas nanti saya tanya di blog ini..

  20. Mas Sulhan, saya udah membaca buku Anda dan emang bagus juga tuh buku Anda πŸ˜€ top marketop deh….. ! Mas Sulhan saya mempunyai beberapa pertanyaan seputar perancangan rangkaian dot matrix. Saya sekarang mau merancang rangkaian dot matrix, tetapi saya mau menggunakan mikrokontroler BS2P40 (basic stamp) dan bahasa pemogramannya menggunakan bahasa basic dan compailer nya ‘basic stamp editor v2.5’. Setelah saya baca2 ttg arsitektur MCS AT8S51 dan BS2P40 ternyata mempunyai sistem port yg berbeda. Jika At8S51 menggunakan sistem port P0-P3 sehingga pengiriman data melalui 8 bit pin tersebut (pararel). Sedangkan kalau mikro Basic Stamp itu menggunakan sistem PIN, dimana data 8 bit bisa dikirim dalam satu waktu secara serial tidak seperti mikro Atmel yang paralel 8 bit tiap pin.Dengan kata lain untuk tampilan ke dot metrixnya harus ada buffering data terlebih dahulu, sehingga dari data Basic Stamp harus disimpan terlebih dahulu di buffer, baru di tampilkan. Maka dari itu mungkin dibutuhkan rangkaian buffer, sehingga data yang tersimpan bisa langsung ditampilkan di dot metrik.

    AT8S51 : P0 –>8 pin kirim hexa 31h –> 00110001b –> 8 bit langsung terkirim ke dot metrik yang ada 8 pin juga.

    Basic Stamp BS2P40 = 1 pin untuk kirim data 31h –> terus harus terhubung ke 8 pin. Gimana caranya ?
    berarti ada 7 pin yang tidak terhubung ke dot metrik.

    Nah, maka dari itu harus dibuat rangkaian buffer data, sehingga 1 pin di basic stamp masuk ke rangkain buffer yang outputnya 8 pin lalu di kirim ke dot metrik yang 8 pin juga.Yang menjadi pertannyaan saya :
    1. apakah dalam pembuatan rangkaian buffer (driver) dot matrix apakah masih bisa menggunakan IC 4017?

    2. Bagaimana cara membuat data tabel (seperti di buku Anda) dengan menggunakan dalam pemograman BS24P0?

    Semoga Mas Sulhan dapat memberikan pencerahan saya lagi supaya saya lebih memahami lagi.

    1. sebenernya saya tidak ngerti pemrograman basic stamp, tapi jika BS2P40 hanya bisa melakukan pengiriman port 1 bit saja, maka buffer yg digunakan adalah shift register misalnya menggunakan 74HC595 kemudian menggunakan perintah SHIFTOUT. keluaran dari 74HC595 inilah yg digunakan untuk mengendalikan baris matriks led. Akan tetapi sistem yg tidak bisa mengirimkan data secara paralel seperti ini sebenarnya memang tidak cocok untuk mengendalikan matriks led.

  21. mas Sulhan ikutan donk..
    Ane mo buat tampilan matrik tapi dikontrol langsung melalui port komputer.. gmana ya.. bisa ga..???

    1. Khurey, komputer kan jauh lebih hebat ketimbang mikrokontroler, ya tentu saja bisa lah. coba gini aja, buat rangkaian matriks led ini, terus pengendalian barisnya bisa dilakukan melalui lpt port data, sedangkan pengendalian kolom, yaitu reset dan next bisa dilakukan melalui lpt port control

    2. ada aplikasi software untuk menjalankannya ga…seperti buatan VB /lainnya, tolong kasih tahu gmana komunikasi kontrolnya dan pinout lpt portnya.
      Thank’s atas balasannya..

    3. Sebenernya teknik pengendalian matriks led dg pc atau mikrokontroler ya sama saja. Jika bisa mengendalikan dg mikrokontroler, tentu jg akan bisa mengendalikan dg pc. Pinout lpt sudah banyak yg membahasnya, jg tentang bagaimana protokolnya. Sedangkan mengendalikan matriks led, sebenernya hampir sama dg mengendalikan seven segment, hanya lebih rumit. Jadi aku sarankan untuk belajar mengendalikan seven segment dulu sebelum mengendalikan matriks led. Klo perlu penjelasan mengenai bagaimana mengendalikan seven segment, Khurey bisa baca buku saya tentang mikrokontroler.

  22. Mas Sulhan, ane mau nanya donk?
    Ane kan lagi nyoba bikin display dot matrix 5X8.
    Ic yg ane pke 74hc573 ama uln2803. cra buat ngegeser karakternya gmn ya?

    1. kalau cuma sekedar 5×8 seharusnya tidak perlu tambahan 74hc573. untuk membuat tampilan pada matriks led, pertama kita harus menyiapkan buffer untuk tampilan. ada dua proses yang terpisah yang terlibat di dalamnya, pertama adalah proses menampilkan isi buffer ke matriks. kedua adalah proses mengisi buffer. sebaiknya baca dulu buku “Mudah dan Menyenangkan Belajar Mikrokontroler” agar lebih tau detil teknik menampilkan dengan sistem multiplex. penggunaan uln2803 mungkin akan sedikit membuat rangkaian jadi lebih ringkas, tapi sayangnya harganya menjadi jauh lebih mahal (sekitar 5000) jika dibandingkan dengan menggunakan transistor C9013 yang satunya cuma sekitar 200 dan jika dikalikan 8 cuma 1600.

    2. Klo pke transistor bknnya mesti pke heat sink biar gak jebol?
      Trs gmn cara biar bisa geser perkolom?
      Abis di kmpus cmn ada 74hc573, tadinya mau pke yg shift register langsung kyk 74ls164. tp gak ad πŸ˜€
      Mohon Bantuannya?

    3. transistor C9013 kuat sampe 500ma, sedangkan penggunaan untuk menyalakan led itu tidak besar. perhatikan bahwa uln2803 jg hanya kuat sampe 500ma saja, dan jika digunakan pada arus max jg pasti panas.
      tidak perlu pake shift register jg. untuk mengendalikan baris langsung saja misalnya dari port1 (8) sedangkan untuk kolom menggunakan port3 (5). ingat bahwa baik baris maupun kolom harus dikuatkan dg transistor.
      gimana geser kolomnya? sudah saya bilang, itu menggunakan 2 proses yg terpisah. silakan pelajari konsep kotak hitam dan konsep toko yg saya jelaskan di buku. Andiko bisa beli bukunya melalui toko buku online, atau coba pinjam di perpustakaan, semoga ada. jika perpustakaan tidak ada, coba usulkan untuk mengadakan buku itu.

  23. Mas Sulham, untuk membuat skema rangkaian dotmatrix seperti di postingan di atas pake program apa sih?? mohon pencerahan terang nya πŸ˜€


  24. mas .untuk buat running text hanya dengan IC 4017 bisa gak .trus klau bisa tolong kasih skemanya ?

    1. 4017 hanya digunakan untuk membantu membuat rangkaian drivernya. pengontrolan selanjutnya tetap membutuhkan mikrokontroler atau PC

    1. mas tlong saya dong, saya mau bkin led metrix tp yang g usah pke aurdino!mas punya PCB nya g mas?

    2. joe, jangankan pcb, skema lengkap aja ga ada πŸ˜› ayolah joe, ga usah ngoyo bisa bikin, yg lebih penting itu mengerti konsepnya. klo uda bisa memahami konsepnya, bikin matriks led itu guampang buanget. oia, apa joe uda baca Mudah dan Menyengangkan Belajar Mikrokontroler? Sebelum memahami matriks led, sebaiknya pahami dulu seven segment ❗

  25. mas saya mau tanya nih,cara tk memasang transistor pengendali kolom vertikal dan horizontal gimana caranya mas?BCE transistor tu nymbungnya kemana z?trus pke transistor no berapa?mhon bantuannya mas………………

    1. mas kalaau mau merangkai ic4017 lebih dari 1 gimana mas?minta cara merangkai ic4017 tingkat puluhan mas…….

    2. joe, jika joe tidak bisa membaca penjelasan di artikel ini dg teliti, maka saya benar2 ragu bahwa joe akan mampu untuk membuat pengendalian matriks led.

      pertama, tentang penyambungan transistor. jelas2 di atas telah digambarkan bagaimana menyembungkan pengendali baris maupun pengendali kolom. dan transistor apa yg digunakan tentu saja tergantung kebutuhan arusnya. akan tetapi pada bagian perhitungan arus jg sudah diberi contoh transistor yg bisa digunakan baik untuk pengendali baris (C9012) maupun pengendali kolom (C9013).

      kedua, tentang bagaimana merangkai 4017 untuk puluhan, jelas2 sudah dijelaskan di bagian pengendali vertikal. Perhatikan pada paragraf terakhir bagian ini.

    3. harap maklum mas saya masih pemula bgt nh,saya juga mau tanya,apa itu arus jepit?trus juga saya mau tanya apa itu artinya kondisi rendah (0)dan tinggi (1) mksudnya apa ntu mas?tlong penjelasanya nih tank”s………

    4. segala sesuatu itu ada prasyaratnya. sebagai contoh, jika ada anak lulusan SD tiba2 bertanya tentang logaritma, tentu kita tidak akan memberitahukan kepadanya apa itu logaritma, kita hanya akan bilang kepadanya, “km belajar yg giat ya, nanti di smu pasti km akan tau logaritma”. jika joebae bahkan belum tau apa itu kondisi rendah dan kondisi tinggi, itu sebagai pertanda bahwa joebae belum lulus prasyarat untuk bisa membuat pengendali matriks led. jadi maafkan saya jika saat ini saya hanya bisa bilang “joe belajar yg rajin ya, pelajari dasar2 teknik digital dulu hingga joe benar2 memahaminya”. hanya itu yg bisa saya katakan, dan maaf bahwa di forum matriks led ini tentu bukan tempat yg sesuai untuk belajar dasar2 teknik digital. doakan saja agar saya bisa meluangkan waktu untuk membahas dasar2 teknik digital πŸ™‚

  26. aslm.
    mas tolongin ane.
    ane mau buat led matrik 16×54 mgunakan atmega16, lengkap dengan tampilan jam digital(RTC), mohon bantu skematik nya ya.
    di email ya mas. trims.. πŸ™‚

    1. wa alaikum salam,
      maaf saya tidak menjawab permintaan rancangan yg bersifat kepentingan pribadi dan tidak membahas permasalahan yg bersifat umum yg tidak bisa digunakan untuk pembelajaran secara umum.
      jika memang mul butuh bantuan yg bersifat pribadi, mintalah bantuan secara profesional langsung ke imel saya.

  27. mas berarti kalau mw membuat led matrix itu minimal kita menggunakan 2 IC4017,benar g mas?1 penendali vertikal dan 1 lagi pengendali horizontal benar g mas?

    1. tidak ada batasan seperti itu, dan pengendali vertikal tidak membutuhkan 4017 karena langsung dikendalikan dari port. plis deh joe

    2. kalau penendali vertikal tdk membutuhkan 4017,basisnya kemana mas?saya masih bingung nih.plizzzz deh mas…..

    3. maf mas mungkin saya mank lum memenuhi persyratan seperti yang mas sebutkan di ats,tp saya punya prinsip kalau kita mw belajar,pasti kita bisa.karna manusia tdk di lahirkan dalam keadan lngsung bisa, semuanya dari belajar mas.

    4. pengendali vertikal langsung dihubungkan ke port mikrokontroler.

      saya salut dengan tekad joe untuk belajar, tapi belajar tidak hanya membutuhkan tekad. belajar membutuhkan urutan langkah2 yg harus dilalui. klo joe bener2 ingin belajar matriks led, joe harus belajar pengendalian seven segment secara multipleks dulu. saran saya, bacalah buku “Mudah dan Menyenangkan Belajar Mikrokontroler” terlebih dahulu. di buku itu ada dasar2 mikrokontroler. ada jg penjelasan tentang tinggi(1) dan rendah (0) yg joe belum tau. jg ada dasar2 pengendalian seven segment sebagai dasar sebelum mempelajari matriks led. tp ingat, jangan tergesa2 untuk bisa mengendalikan matriks led. kuasai dulu dasarnya sebelum melangkah ke tingkat yg lebih tinggi.

      jika joe suka cerita silat, mungkin joe pernah melihat seorang murid baru yg bukannya diajari jurus2 silat, tetapi malah setiap hari disuruh mengambil air dari sungai. sang guru melakukan itu sama sekali bukan karena menganaktirikan murid itu, tetapi ingin menanamkan dasar yg kuat bagi murid itu untuk menjadi pendekar silat yg tangguh.

      saya bukannya keberatan untuk ngajari joe matriks led, tp jika joe memang ingin belajar matriks led pada saya, tolong joe ikuti petunjuk saya, joe harus mengambil air dari sungai sebelum mendapatkan jurus2 silat dari saya πŸ˜‰

  28. untuk penerapan hardware itu tidak sama dengan simulator, kalau ditampilkan dihardware itu nyalanya terbalik dengan simulator, itu disebabkan apa? kalau membuat hardware biar sama dengan simulator apanya yang harus dirubah? minta bimbingannya mas….

    1. simulator itu bisa dibolak-balik, lihat di konfigurasi. trus klo yg dihardware ini terbalik, uda ada yg nanyain di atas tuh, plis deh, klo mo nanya, liat dulu apa uda ada yg nanya apa belum.

  29. mas sulhan udah kucoba nih udah jadi n udah aku balik karakternya yang nyala bukanya yang padam ,, tapi masih ada masalah pak selain karakter yang nyela harusnya kan mati tapi masih nyala agak redup,, apaakah di delaynya to di perhitungan arusnya pak,,

    1. lha itu di atas ini kan udah ada yg nanya, tak suruh liat komentar di atas, yaudah, biar romadi ga kesulitan nyarinya, langsung klik ini aja πŸ˜€

    2. ini yakin hardwarenya uda sama perisis dan modif softwarenya jg ga ada yg keliru?
      pertama, coba kosongkan semua bufferdisplay, isi semuanya dg data padam, apa semua lampu jg padam dan bukannya aga nyala sedikit?

    3. yah cuma beda transistor,, untuk kendali baris dengan A684 n kendali kolomnya saya pake uln 2003 soalnya udah ada n bloknya pake D400.

    4. ih, romadi ini ga memperhatikan. untuk mengetahui yg salah di hardware apa di software, coba untuk membuat tampilannya padam, di contoh ada prosedur ClearDisplay untuk memadamkan tampilan. Nah, pada saat pertama kan prosedur itu dipanggil. Coba tambahkan delay yang aga lama setelah prosedur itu dipanggil agar kita bisa memperhatikan saat semua led harusnya padam, apakah benar2 padam atau menyala redup. klo saat itu lampu benar2 padam, maka kesalahan ada pada software, tapi klo saat itu nyala redup, maka kesalahan ada pada hardware.

    5. uda aku koreksi tuh, oia nti klo komen yg terkait dg komen lain, tolong klik balas ya, biar aku ga pake mindah2 πŸ˜€

    6. karang udah mendingan pak sulhan,, setelah saya edit programnya yang semula PortData di isi 255 saya ganti 0ffh tapi masih ada sedikit bayangan ,, munculnya 5 kolom sebelum karakter aslinya muncul,, jadi sebelum tulisan muncul bayangan udah muncul duluan lebih cepat 5 kolom.,,
      gimana nih solusinya?

    7. pak sulhan dotmatrixnya udah beres, tapi pengen nambahin lg,, kalo interfacing dengan keyboar gimana yah mas byar mudah ngganti2 tulisanya,,

  30. Pa Sulhan kalau mau beli buku yg bapa tulis, di toko buku online mana,saya sudah cari tapi belum ketemu ,tolong informasikan dan apakah saya bisa beli kepenerbitnya,terimakasih

  31. halo mas…..nama saya gary sya masih pemula di bidang mikrrokontroler…..saya udah berhasil buat led matrix….dan sudah berhasil buat text berjalan ..yang jadi masalah adalah….saya cuma bisa buat text nya berjalan dari kanan ke kiri saja….saya ga tau buat text nyya berjalan dari kiri ke kanan atau dari atas ke bawah…..saya merangkai lednya menggunakan ic 4094…yang saya susun setiap baris (7 led) saya buat satu ic 4094 jadi saya punya 20 baris jadi ada 20 ic 4094 mas dan saya juga pake bahasa c…..kira kira perintahnya apa ya mas di buat agar text nya bisa kita buat berjjalan dari kiri ke kanan maupun dari atas ke bawah….dll/…
    makasi h mas sulhan….oya…bukunya keren saya udah beli kmren dari gramedia…1 lagi mas ada bukunya mas ga yang membahas tentang mikrokontroler tapi pakai bahasa C codevision AVR..?

    1. maaf, sepertinya konsep yg gary bikin sama sekali berbeda dg konsep yg saya ajukan di sini. konsep saya tidak menggunakan shift register, karena hal ini lebih hemat dan praktis (menurut saya). akan tetapi untuk masalah animasi sebenernya terpisah dg masalah scanning led. jadi dalam membuat program, sebaiknya kita memisahkan tugas yg berbeda untuk bisa bekerja secara independent. perhatikan bagaimana saya membuat contoh menampilkan data di seven segment. ada sebuah tempat yg dipakai bersama berupa buffer (analogi konsep toko). bagian yg melakukan scanning akan menampilkan apapun isi buffer tanpa peduli siapa yg mengisinya. dan bagian yg mengisi buffer, dia akan mengisi buffer sesuai dg apa yg seharusnya tampil, tapi dia sendiri tidak peduli isinya akan ditampilkan oleh siapa atau bahkan tidak peduli isinya benar2 akan ditampilkan atau tidak.
      tentang buku mikrokontroler, saat ini baru ada 1 buku mikrokontroler yg telah terbit. (ada 2 buku lg yg siap terbit tetapi belum saya urus proses penerbitannya)

    2. yg satu tentang komputasi numerik, seperti bagaimana melakukan perhitungan log, sin, cos, dll dalam bahasa assembly. yg satunya lg tentang multithreading pada mikrokontroler.

  32. mas kalau mw blajar dsar2 led matrix,porum tanya jwab nya d mana?sbenarnya saya ingin beli buku karya mas,cuma saya sulit mendapatkannya mas,tlong d bntu mas.tank’ssss

  33. Gan…sya mo bwat proyek dot matrix
    tapi saya bingung mo ngerangkai dot matrixnya gmn?
    bs minta tolong bantuannya untuk panduan.
    dot matrix 7x5x8

  34. mohon bantuan nya dari smua yg ada di sini … sy ingin merakit runing led utk papan merk usaha sy ,, tp sygk tau belanja perlengkapanya dimana , tolong buat yg dah pernah rakit mohon infonya…

    1. memang apa bedanya baris dan kolom? cuma beda istilah, kolom itu vertikal, dan baris itu horisontal. lha tinggal diputar saja kan beres.

  35. mengapa pada jalur digunakan pnp transistor dan pada kolom digunakan npn transistor? apakah untuk jalur dan kolom dapat digunakan transistor yg sama ( pnp atau npn saja )

    1. Alasannya adalah karena arus mengalir dari baris menuju kolom. Jika pada kolom kita menggunakan npn, maka emitor pada Ground dan arus masuk dari kolektor. Untuk mengaktifkannya, kita harus membuat tegangan basis lebih tinggi dari emitornya. Dan karena emitor bedara pada Ground, maka hal itu akan mudah saja. Sedangkan jika kita menggunakan pnp, maka kolektor pada Ground dan arus masuk melalui emitor. Untuk mengaktifkannya, kita harus membuat tegangan basis lebih rendah dari emitor. Akan tetapi tegangan emitor sudah cukup rendah. Dengan demikian akan sulit untuk mengaktifkannya. Jadi, lebih mudah menggunakan npn pada kendali kolom ketimbang menggunakan pnp. Alasan untuk baris adalah serupa dangan ini, hanya keadaannya yang terbalik.

  36. bagaimana kalau dot matrix bukan terbuat dari susunan LED, melainkan terbuat dari susunan lampu ( bohlam ) yg bekerja pada 12V? Jadi kaki emitor ( pnp transistor ) di supply dengan 12Vdc Apakan rangkaian dapat bekerja?

    1. Boleh saja LED diganti dengan lampu pijar, akan tetapi setiap lampu harus diseri dengan sebuah dioda untuk membuat lampu tersebut bekerja dalam satu arah saja. Hanya saja, penggunaan LED lebih menghemat listrik. Jika sebuah LED untuk setiap titik dirasa terlalu kecil, kita bisa menambah jumlah LED untuk setiap titiknya sebanyak yang kita inginkan.

  37. pengen melakukan hobby praktek elektronika lagi, setelah sekian puluh tahun tidak pegang solder dan kode2 elektronika…..idenya bagus….mohon bimbingannya….

  38. salam kenal mas.
    saya mw tanya ni mas, saya mw membuat running text tp mash bingng cara mengendalikan display dot matrikny.saya mw tanya klo saya menggunakn transistor untuk driver baris kira2 tipe apa yang pas dan shift register apa kira2 yang pas untuk driver kolomnya?
    o ya keluaran dari driver baris jika menggunakn IC shift register perlu dikasih tahanan gk sebelum di sambungkan ke dot matrik…
    saya menggunakn dot matrik 5×7 sebanyak 7 blok.
    ato mungkin mas punya usul lain saya sangat mengharapkan bantuannya.

  39. pertanyaan mengenai Ic4017…. pin 14 tentunya mendapat clock dari micro. bagaimana dengan pin 15..apakah cukup dihubungkan dengan Negatif ( low )

    1. Pin 15 adalah pin reset. Di atas sudah dijelaskan bahwa semua pin reset digabung menjadi satu dan tentu saja dikendalikan oleh mikrokontroler juga.

  40. mau nanya mas,kalau saya buat 48kolom kok led nyala semua padahal 40kolom masih normal tulisannya.mohon penjelasannya,trim’s

    1. Bagaimana cara menyusun 48 kolomnya? Apa blok kolom juga diatur dengan 4017 dengan cara seperti seolah mau membuat 50 kolom tetapi blok terakhir hanya berisi 8 kolom? Cobalah untuk mengirim sinyal next secara perlahan sementara semua baris diaktifkan. Seharusnya akan terlihat bahwa kolom menyala secara bergantian dari kolom pertama hingga kolom terakhir.

    2. saya jg pernah 40 kolom normal, tp sy mencoba 48 mnjadi menyala semua, itu pakai 89s51, setelah sy ganti 89s52 untuk 48 kolom nmenjadi normal

    3. ok,sebenarnya semua telah saya coba mulai dari 8kolom perblok sampai saya coba yang gak pake 4017.kalau Rudi pernah sprti itu akan saya coba.saya tertarik ketika pakai simulator bisa sampe 96kolom di buat 48×16,membuat tulisan itu diam danberjalan seolah-olah 48×16.trimakasih

    4. Oh iya, betul sekali. Saya ingat waktu itu Rudi pernah menanyakan mengapa untuk 48 kolom menggunakan simulator bisa bekerja, tetapi pada rangkaian yang sesungguhnya yang menggunakan AT89S51 mengalami error. Kalau Slamet juga menggunakan AT89S51 untuk 48 kolom, maka permasalahannya berarti sama dengan Rudi, yaitu bahwa AT89S51 hanya memiliki RAM sebanyak 128 Byte yang akan kurang jika digunakan untuk 48 kolom. Oleh karena itu, program mengalami stack overflow. Dan solusinya memang menggunakan mikrokontroler yang memiliki RAM lebih besar, yaitu AT89S52 dengan RAM 256 Byte.

  41. konsul lagi mas…
    saya mau membuat matrik led 8×32. saya menggunakan 2 buah 4017.
    sambungannya sbb:
    trasistor pengdali horstl -> P0.0-P0.7 mikrontrlr
    ic 4017 counter:Q0-Q9 -> transistor pngdali vertkl
    clock (pin 14)-> P1.1 mikrontlr
    clock enable(pin13)-> GND
    semua reset(pin15)-> P1.0 mikrontlr
    out carry(pin12)-> clock 4017 pengendali blok kolom,dan
    Q0,Q1,Q2,Q3,(4017 pengendali blok klm)->transtr blok klm 1,2,3 dan 4
    apakah sambungan ini sudah benar, mohon bimbingannya….
    terima kasih.

    1. konsul lagi mas…
      saya mencoba praktekan http://www.sulhansetiawan.com/menampilkan-gambar-pada-led-matriks-menggunakan-simulator ,membuat matrik led 8×10 menggunakan 1 buah 4017.
      sambungannya sbb:
      (+)trasistor pengdali horstl -> P0.0-P0.7 mikrontrlr
      ic 4017 counter:Q0-Q9 -> (-)transistor pngdali vertkl
      clock (pin 15)-> P1.0 mikrontlr
      clock enable(pin13)-> GND
      semua reset(pin14)-> P1.1 mikrontlr
      apakah sambungan ini sudah benar, mohon bimbingannya….
      kenapa hasilnya nyala semua.. terlihat sih pergerakan dari nyala lampunya,seperti hasil contoh sebenarnya
      terima kasih.

    2. KHUREY, reset dan clock dihubungkan kemana itu sesuai softwarenya. Sedangkan contoh pada link tersebut itu tidak dirancang untuk berukuran 8×10, tetapi untuk 8×32. Penyesuaian konstanta DispWidth menjadi 10 tidak akan langsung menyesuaikan seluruh programnya.

    3. o.. bukannya rutin program tetap berjalan, tidak mempengaruhi panjang/ lebarnya susunan led matriknya.led matriknya kan hanya sebagai output saja..
      O.ya..Aku masih belum paham ni mas Sulhan cara kerja clock 4017, bukankan clock 4017 itu tergantung dari program clocknya micro. Kalau riset 4017 untuk meriset rutin q0-q9 atau gmana ni?
      ni saya upload videonya hasil yg lalu http://www.youtube.com/watch?v=QL7RndFVa6A&feature=youtu.be
      makasih mas Sulhan

  42. assalam..

    mas, saya baca artikel mas tentang buat LED MATRIK,saat ini saya ingin membuatnya dengan resolusi 8*32, dengan menggunakan IC 4017 juga seperti artikel yang ada di blok.

    seperti penjelasan mas untuk 10 kolom mempunyai pengaturan kendali blok kolom 1, artinya jika da 32 kolom mempunyai 4 blok kondali kolom 4.

    jadi jumLah pin yg dipakai untuk mikrokontroler adalah

    8 pin —-> kendali baris
    4 Pin —> kendali blok kolom
    8 pin —-> Kendali kolom

    yg saya bingung adalah pengendali blok kolom yg ada 8 pin itu dihubungkan ke rangkaian mana?

    boleh minta kirimkan skematik lengkap untuk rangkaian LED Matriknya mas?…

    Mohon Bantuannya


    1. Pengendali blok kolom yang 8 pin dihubungkan ke mana? Wah, kalau yang itu saya juga ikutan bingung. Soalnya setelah saya baca lagi dari atas sampai ke bawah, perasaan saya tidak pernah menyebutkan penggunaan pin-pin mikrokontroler seperti itu. Atau jangan-jangan ferry nando membaca dari artikel lain, kemudian ditanyakan di sini? πŸ˜›

  43. mas…sya sudah praktekan serialdownloader ke lampu led berjalan,begitu juga dengan seven segment satu digit dan berhasil diterapkan ke aslinya(bukan simulator)
    tapi untuk huruf berjalan pada matrik led kok tidak berhasil,maksudnya proses download berhasil tapi diterapkan ke matrik led aslinya tidak berhasil.padahal pada simulator sudah oke,proses download sudah succes…dan untuk hardware saya sudah buatkan matrikled 20 baris 8 klom,dg ic at89s51 dan ic 4017 sebagai counternya.apakah mikron at89s51 tidak cukup ram-nya sehingga harus pakai at89s52 atau salah di listing progrm.sedangkan di download sudah ada ket. succes…
    mohon sarannya…terima kasih.

    1. mas…saya sdh download listing progrm led matrik dan succses…tapi setelah di aplikasikan ke rangkaian sebenarnya kok tidak tampil/gagal.oh, ya..saya pakai at89s51 dan 4017, apakah bisa digunakan untuk listing progrm led matrik (yoko chans..)yang dari mas sulhan soalny ram-ny kan cuma 128 byte?atau ada kesalahan di rangkain?sedangkan praktek untuk variasi led berjalan dan sevent segment satu digit sudah berhasil.kenapa untuk huruf berjalan pada led matrik tidak bisa ya, padahal rangakain system minimum kan sama?dimana letak kesalahannya mas…

    2. Coba perhatikan teori bagaimana scanning matriks dilakukan. Perhatikan pada bagian scanning matriks tersebut, apakah sudah sesuai dengan hardware atau belum. Perhatikan bagaimana baris diaktifkan, apakah aktif tinggi atau aktif rendah. Sesuaikan antara program dengan hardware.

  44. mas kalau 4017 itu ada 10 keluaran, jadi per blok kolom ada 10 kolom, kalo dibuat 8 keluaran bisa tidak mas?, jadi per blok kolom ada 8 kolom, saya mencoba untuk driver kolom menggunakan IC ULN2803 itu cuma 8 keluaran, untuk dot matriknya 8x8x4 jadi 8 baris x 32 kolom untuk 4017 satuan saya buat 8 keluaran, blok kolomnya 8 kolom, saya buat 8,8,8,8 untuk kendali blok kolom ada 4 keluaran, setelah jadi tampilannya seperti ada spasi menyalanya mas

    1. 4017 bisa dibuat modulo dengan menghubungkan keluaran Qmodulo ke reset. Misalnya kita mau membuat modulo 8, maka hubungkan Q8 ke reset. Akan tetapi karena reset ini juga dibutuhkan dalam pengendalian, maka cara menghubungkannya harus menggunakan gerbang OR. Jadi, reset dikendalikan oleh keluaran gerbang OR, kemudian masukan gerbang yang satu dihubungkan ke Q8, dan masukan lainnya digunakan sebagai input reset bagi modulo 8 ini (dihubungkan ke port mikro).

    2. berarti harus menambah 1 IC lagi untuk gerbang OR nya, begitu mas? untuk keluaran Q8 dihubungkan ke reset tingkat satuan apa puluhan mas? untuk IC gerbangnya apa 74xx ….?

    3. Gerbang O bisa menggunakan IC (lebih bagus) tapi juga bisa menggunakan dioda dan resistor. Q8 mana yang dihubungkan ke reset? Tentu saja Q8 dari 4017 yang akan dibuat modulo 8.

    4. kalo di buat modulo 8, jadi untuk 8×32 membutuhkan berapa IC 4017 mas?, apa juga tetap 2 IC 4017 ? ada gambar untuk OR yang pakai dioda dan resistor mas?

    5. 32 adalah 8 x 4. Apakah membutuhkan 2 buah 4017? Itu tergantung desain, Kalau memang hanya menginginkan pengendalian dengan 2 buah port, yaitu clock dan reset saja, maka itu harus menggunakan 2 buah 4017. Gambar gerbang OR dengan dioda? banyak sekali yang membahasnya di internet. Ini salah satunya.

    6. ok mas terima kasih bimbingannya, untuk clock 4017 untuk blok kolom berubah tidak mas? apa masih tetap dihubungan dengan carry 4017 tingkat satuan

    7. sudah jalan mas tapi setiap 8 kolom menyala membayang tulisan yang ditampilkan, tapi kalau tulisan hilang juga ikut hilang, gimana mengatasinya mas?

  45. mas sulhan ,,, saya bikin dengan kolom sejumlah 130,,, tapi ketika dispwidth saya isi nilai 130 eror,,, n saya coba kasih nilai 100 jadi n rangkaian berjalan lancar,, kira2 gimana yah?

    1. Perhatikan jumlah pemakaian ram, untuk 89s51 jumlah ram hanya 128, sedangkan 89s52 jumlah ramnya 256. coba jalankan menggunakan simulator dan perhatikan Max SP. Jika nilai yang ditunjukkan lebih besar dari kapasitas ram, maka itu menunjukkan pemakaian ram lebih besar dari kapasitas. Hanya sebagai pertimbangan, teknik matriks LED pada contoh yg saya berikan menggunakan ram sebanyak 2x jumlah kolom. Jadi jika menggunakan 130 kolom, berarti pemakaian ram untuk matriks ada 260 yang jelas lebih banyak dibanding kapasitas 89s52 sekalipun.

    2. Solusi pertama, jangan menggunakan buffer terlalu banyak. Pada contoh, saya menggunakan buffer sebanyak 2x jumlah kolom adalah untuk memudahkan dalam membuat animasi. Solusi kedua, gunakan mikrokontroler yang memiliki ram lebih banyak, misalnya atmega8 memiliki ram sebanyak 1024 byte. Atau boleh juga dengan menambahkan ram external. Tentu saja program contoh harus dirombak untuk disesuaikan dengan mikrokontroler yang digunakan.

    3. Pelajari baik-baik, pahami baris per barisnya, temukan mana buffer yang digunakan untuk proses scanning dan mana buffer yang hanya digunakan untuk pembuatan animasi. BufferDisplay adalah untuk keperluan scanning, jadi itu harus tetap ada. Sedangkan BufferHidden, itu hanya digunakan untuk pembuatan animasi, yang ini boleh dibuang. Tetapi harus diingat bahwa jika buffer ini dibuang, maka teknik pembuatan animasinya juga berbeda. Cobalah untuk memahami konsep pembuatan animasinya dari contoh yang ada.

    4. saya masih bingung pak,, untuk BufferHidden pakah cuca di gunakan untuk animasi morphing / hilangnya teks per titik ? terus jika di buang apakah tulisan masih bisa tampil bergeser?

  46. Mas saya coba membuat rangkain dot matrix yg sudah di jelaskan diatas… saya menggunakan Micro at89s51, dan pengendali led matriknya Tr.c9012/c9013. Membuat program asm mengunakan HB2000, downloadernya ISP software.. hasilnya cuma bisa tampil aja, belum bisa bergerak bergantian/berjalan. Saya ingin coba terapkan menggunakan 4017 tapi mohon bantuannya ni mas tlong tambahkan isi programnya… thank’s
    tampilan angka 8
    ORG 0h
    MOV R2,#090h

    Awal : MOV R5,#005h
    MOV DPTR,#Angka
    MOV R1,#0FEh
    Ulang: CLR A
    MOV P0,A
    RL A
    MOV A,R1
    MOV P1,A
    RL A
    MOV R1,A
    RL A
    ACALL Delay
    DJNZ R5,Ulang
    SJMP Awal ;——————————————————–

    ;sub routine delay
    Delay: DJNZ R2,Delay
    Angka: DB 036h,049h,049h,049h,036h


    1. Ok…
      saya sudah coba program running text.m51 kenapa ga bisa tampil di matrik led yg ada disimulator micro project. Settingannya da saya set seperti yg diprogram, di port-port yg ada.

    2. Untuk bisa menggunakan simulator dengan benar, coba baca terlebih dahulu helpnya dan cobalah semua demonya dari demo yang pertama hingga demo yang terakhir. Jangan langsung membaca pada demo yang ingin dilihat saja, karena petunjuk mengenai penggunaannya dijelaskan secara urut dari demo yang pertama. Pertanyaan seperti ini sudah sangat sering ditanyakan. Mungkin karakter orang Indonesia memang begini, tidak suka dengan proses dan hanya mau to the point.

    3. Bisa aja mas Sulhan. sarannya sudah. tapi kenapa ya proses simulasinya satu-satu lednya menyala walaupun diset speed simulasinya jadi tidak berbentuk hasilnya. ma’af mas terlalu banyak bertanya… maklum baru pendalaman materi dotmatrik dan juga menggunakan aplikasi micro project.
      terimakasih sebelumnya nih..

    4. Kalau begitu, saya yakin membacanya kurang teliti. Cobalah untuk klik pada menu Option, kemudian klik pada Update Display untuk membuang tanda centangnya. Seharusnya Simulation Speed akan non aktif jika Update Display tidak dicentang.

    5. Ok.. mas Sulhan saya sudah bisa.. bisa ga mas mengganti bentuk hurufnya. apa bentuk fontnya bisa dirubah dengan mengganti file karakternya gimana caranya ya.. untuk sementara saya tinggal coba prktekkan ke hardwarenya..
      thank’s mas

    6. Saya mau coba led matrik 8×10 dari hasil program runing text. aku coba rubah DispWidth menjadi 10 hasinya masih sama tolong bantu solusinya. Makasih mas Sulhan

    7. Mengganti bentuk font? Ubah saja file Karakter.bmp kemudian kompilasi lagi Karakter.bmp tersebut dengan ImgTable.exe.
      Tentang bagaimana ImgTable.exe mengubah dari file bmp menjadi konstanta gambar, baca saja di sini dan sini. Ah, Khurey ini benar-benar tidak mau usaha sendiri, padahal materi mengenai matriks LED di blog ini hanya ada beberapa post saja, tapi harus saya yang selalu menunjukkan linknya.
      Masalah 8×10, sudah saya katakan bahwa contoh itu tidak dirancang untuk 8×10. Terus bagaimana agar bisa bekerja di 8×10? Itu juga sudah saya katakan bahwa jumlah barisnya bahkan tidak mencapai 200 baris. Sebuah ukuran yang sangat kecil di dunia pemrograman. Please, coba pelajari dengan baik jika Khurey memang ingin bisa.

    8. Mas sulhan hasil simulasi softwarenya berhasil tampil, kenapa saya coba di hardwarenya tampil nyala berantakan.
      apanya yg salah..saya sudah susun seperti yg diatas..

    9. nyoba yang 8×32 mas… jadi hasilnya berantakan tapi terlihat hasilnya berbayang yg kurang terang itu, tapi yg nyala terang cuma kedip2 aja.
      Input tegangan transistor baris (9013)5v sudah saya coba diatas 5v terang semua terliha kedip2..
      input kolom Tr (9012)Gnd
      pin 1,2,3,4,5,6,7,9,10,11 output led melalui tr9012
      pin 8 gnd
      pin 12 tidak di gunakan
      pin 13 gnd
      pin 14 clock micro P1.1
      pin 15 reset micro P1.0
      pin 16 +5v
      mohon koreksi mas Sulhan

    10. Jadi, 4017 itu digunakan sebagai pengendali baris apa pengendali kolom? ko dihubungkan ke 9012?
      Ada berapa 4017 yang dipake?

    11. 4017 itu digunakan sebagai pengendali kolom. 4017nya ada 4, keempat2nya pin 14 clock di jadi satu ke input micro P1.1
      pin 15 reset ke micro P1.0 juga sama, iya mas Sulhan aku da terlanjur pasang tr9012nya seharusnya 9013 bukanya sama2 sbagai switching beda NPN PNP. kemungkinan bisa pengaruh ke TRnya mas..

    12. Ok.. hardware sudah jelas tampil sekarang mas Sulhan setelah saya tukar TRnya, Tampil nyalanya kebalikan.. aslinya berlogika aktif High “1” saya rubah softwarenya aktif low “0”.
      kalau hardwarenya mengikuti dari softwarenya berlogika High. Yg mana perlu di koreksi sebelah mana mas Sulham.

    13. Coba Khurey perhatikan dengan lebih seksama, baca juga komentar-komentar yang lain. 32 kolom hanya membutuhkan 2 buah 4017 jika semuanya mau dikendalikan dengan 4017. 2 buah 4017 bisa mengendalikan hingga 100 kolom. Sedangkan 4 buah 4017 akan sanggup mengendalikan hingga 10000 kolom. Khurey harus menggunakan logika untuk bisa memahaminya, termasuk bagaimana cara membalik logika agar kendali baris bisa aktif rendah atau aktif tinggi.

      Membalik logika dalam bahasa assembly untuk Mcs-51 adalah Cpl A dan hanya register A yang bisa dikenai perintah Cpl ini. Kapan dilakukan pembalikan? Tentu saja sebelum dilakukan pengiriman ke Port yang berfungsi untuk mengendalikan baris. Sebenarya pertanyaan begini sudah ada di komentar-komentar yang lain, jika saja Khurey bersedia membaca komentar yang lain πŸ™

    14. Ok mas Sulhan…
      Mas Sulhan saya coba 8×32 menggunakan 2/4017 tapi kenapa tampilnya terbagi 3 terus tulisannya jadi bertumpuk2 dari contoh running text

    15. Mas Sulhan tampil tulisannya terbagi 4 (8×32), hasil simulasinya normal..
      saya Menggunakan 2x 4017; pengendali kolom dan pengendali blok
      output kendali kolom 4017 melalui R masuk ke basis 9013 (dari Q0-Q9)
      output kendali blok 4017 melalui R masuk ke basis 9013, sehingga emiter keseluruhan kendali kolom (Tr 0-9) terhubung ke grd.
      karena led matriknya 8×32 jadi kendali bloknya ada 4
      Apakah seperti itu mas Sulhan..
      ‘No. ni masih aktif 0888-0690-xxxx

    16. Mas sulhan sepertinya blok kolom dibawah 10 tidak bisa menggunakan 4017, seharusnya dikontrol langsung diport mikro..
      untuk kontrol blok kolom (/10kolom)bagaimana program next colomnya? mohon bantuan untuk memahaiminya mas…

    17. Di atas sudah dijelaskan bahwa clock untuk 4017 tingkat yang lebih tinggi diambilkan dari pin carry. CLock untuk blok kolom diambilkan dari carry kolom.

    18. WOWW….. OK.. BERHASIL..
      terimakasih Mas Sulhan, sudah dibimbing membuat dotmatrik…
      Mas sulhan ada contoh efek tulisan atau gambar ga ya… selain yg ada di web mas Sulhan

    19. Contohnya kan cukup satu saja. Kalau ada contoh yang lain, pasti gambarnya juga akan menunjukkan identitasku, jadi tidak mungkin saya membuat contoh gambar yang merupakan gambarnya Khurey. Langkah selanjutnya adalah Khurey mencoba membuat gambar sendiri, kemudian dengan bantuan ImgTable.exe diubah menjadi tabel gambar. Selamat mencoba ❗

    20. maksudnya efek seperti tulisan/ gambar bergerak kanan kiri. kalau tulisan bergerak dari tengah-tengah programnya gimana mas Sulhan.

  47. mas” numpang sharing nih ,

    aku anak Smk petra nah ini aku ada tugas akhir yang harus bikin sebuah produk,dan ini lagi merencanakan buat runing display LED atau Dotmatrix, kira” lebih gamapang dan bagus mana memakai LED atau dot matrix?

    kalau dot matrik 5×7 saya pakai 10 dotmatrrix dan membutuhkan banyak port untuk program dot matrixnya , tetapi jika menggunakan LED saya ingin memakai 10×14 tetapi jumlah bit nya lebih dari 8 padahal satu port hanya berisi 8 bit,

    kira” saya harus bagaimana agar tugas saya ini selesai?

    thx atas informasinya

    1. 10×14? ini barisnya yg 10 apa kolomnya yang 10? lebih enak barisnya yang 14 saja sehingga kolomnya 10. pas dengan ukuran 4017. 14 = 16-2, jadi bisa menggunakan 2 port dimana port yang satunya hanya menggunakan 6 bit saja. sisanya yang 2 bit bisa digunakan untuk clock dan reset bagi 4017.
      “Tapi saya menginginkan barisnya yang 10 dan kolomnya yang 14”, mungkin begitu yang diinginkan Bima. OK, itu tidak masalah, baris dan kolom itu sebenarnya bisa dipertukarkan semau kita. Dalam perancangan hardware, kita bisa merancang seolah-olah kolomnya yang 10 dan barisnya yang 14, tetapi pada pemasangan lampunya, kita putar 90 derajat sehingga kolom menjadi baris dan baris menjadi kolom. Nah, tugas terakhir adalah menyesuaikan program pengatur scanningnya (dalam interupt) bagaimana mengirimkan data-data di buffer display ke matriks LED. Dan pada bagian pengatur animasinya, aturlah bagaimana cara mengisi buffer display sehingga menghasilkan tampilan yang benar. lihat Menampilkan Gambar pada Led Matriks menggunakan Simulator untuk mengetahui bagaimana tampilan matriks LED dan bagaimana data disimpan di buffer.

  48. salam pak sulhan,
    maaf ni mau nanya,, saya sudah baca beberapa komen2 diatas dan maaf jika saya terlewat dan ahirnya bertanya hal yang sama.

    tolong advise cara pengontrolan blok kolom. saya ada 15 kolom dan pakai 1 buah 4017, dan dua buah transistor untuk bloknya.

    blok 1 saya pasang pada portC.0 dan blok 2 saya sambung ke portC.1 atmega 8.

    saya hanya dapat menampilkan scroll texnya pada 10 kolom saja.

    terimakasi sebelumnya.

    1. 15 kolom menggunakan satu buah 4017. berarti hanya Out0 hingga Out4 dari 4017 yang mengendalikan 2 basis transistor, sedangkan Out5 hingga Out9 hanya mengendalikan 1 basis transistor, apakah begitu?
      Blok dikendalikan menggunakan port, bukan menggunakan 4017 tingkat lebih tinggi. Jadi pada pemrogramannya, scanning harus benar2 dihitung dengan benar. Urutannya adalah begini, pertama adalah kirim reset ke 4017 dan aktifkan blok1, blok2 non aktif. Lakukan proses scan dengan mengirim sinyal clock ke 4017 sebanyak hanya 10x. Setelah itu blok yang aktif harus dipindah ke blok2. Kembali lakukan scan dengan mengirim sinyal clock, tetapi hanya 5x saja. Setelah itu harus diulangi dari awal lagi, yaitu kirim sinyal reset dan aktifkan blok 1 dan blok 2 nonaktif.

    1. pak sulhan saya sudah dapat simulatornya, cuma masih bingung cara pakainya.
      darimana dapatnya WM_USER dan wParam. trus bagaimana kita memberikan pulsa clocknya, dan dimana kita beri bit.0 sampai bit.7 itu.

      maaf saya cerewet nanyanya.

    2. Ya, semuanya free, yaitu dengan mendownload Microcontroller Project. Setelah itu, coba buka file helpnya, baca dengan perlahan agar bisa memahaminya. Di situ ada 4 demo, yaitu demo VLED, demo SSLED, demo MXLED, dan demo sprintf. Memang Adex ingin mempelajari matriks LED yang tentu saja membutuhkan MXLED, tetapi jika Adex hanya membaca demo untuk MXLED, maka Adex seperti anak sekolah yang tiba-tiba masuk kelas 3 tanpa melalui kelas 1, jadi pasti banyak hal yang tidak dipahami.

  49. pak sulhal mohon petujuk lagi,, saya masih bingung.
    ini progam scan punya saya,

    void scroll(char a,char b,char c,char d,char e)
    short int count=6;

    di bagian mana yang harus saya koreksi,
    mohon bantuannya.

    1. maf pak sulhan, saya belum berhasil selesaikan project dot matrix saya yang menggunakan atmega8, saya sudah coba sesuaikan interruptnya seperti yang ada di contoh ini. saya konversi ke atmega8, tapi setelah dijalankan nyala lampunya tidak bentuk karakter tapi hanya bergeser satu kolom satu kolom dengan data sesuai alamat character ( YCcorp ).

      mohon saran pak.

    2. yang penampilan tidak dalam bentuk karakter tapi bergeser satu satu sesuai nilai data pada address data (YCcorp), solusinya gimana pak,,

  50. sori pak,, bukunya masih dijual ga?, trus kalau boleh tau kisaran harganya brapa,, dan transaksinya gimana?


  51. pak pada source yang telah saya liat, apakah,
    nextcol=clock u/4017
    portdata=data pengontrol baris
    portctrl=blok kolom
    apakah begitu,,

    kalau ia, saya bingung kenapa pengontrol blok cuma satu,, padahal untuk 32 kolom dengan satu 4017 harusnya ada 4 pengontrol blok.

    lalu fungsi
    cycle time dan delay time untuk apa?

    mohon bimbing saya pak,,

    1. Perhatikan rancangan di atas, jika lebih dari 10 kolom, maka dibutuhkan blok kolom. Blok kolom ini juga dikendalikan menggunakan 4017. Clock dari pengendali blok kolom diambil dari Carry 4017 dari tingkat di bawahnya. Jadi keseluruhan pengendali tetap hanya ada 2 buah, reset dan clock.
      Ada yang lupa saya sertakan dalam program tersebut, yaitu keterangan bahwa program tersebut dirancang untuk menggunakan kristal 11,0592MHz. Perhatikan di bagian awal program, itu akan mengatur interupsi timer0 untuk dipanggil pada interval 3600Hz. CycleTime digunakan untuk menghitung agar sebuah bendera OneCycle diset setiap 10mdetik. Sedangkan DelayTime adalah konstanta untuk mengatur kecepatan animasi.

  52. jadi portctrl itu untuk apa pak,,
    berati kurang cocok diterapkan pada hardware saya ya? karena saya hanya menggunakan 1 4017 dan kontrol langsung bloknya dari pin micro..

    maaf ni pak,, ada solusi yang lebih gampang ga, yang kemarin saya masih bingung kalau melakukan 2 kali scan dengan jumlah cloc yang berbeda.

    mohon saran,,,,

    1. Cobalah baca programnya baik-baik, hitung berapa baris itu, apakah jumlah baris sebegitu terlalu sulit untuk dipahami?
      Sebagai tambahan petunjuk, proses scanning seluruhnya dilakukan hanya dalam interupsi timer yang hanya berjumlah 16 baris.
      Dalam bahasa c, #define PortCtrl P1 itu akan menyebabkan semua PortCtrl diganti dengan P1. Tidak ada kewajiban kalau kita membuat define seperti itu maka minimal kita harus menuliskan PortCtrl walau hanya satu kali saja. Tidak ada aturan seperti itu.
      Dalam belajar pemrograman, tidak ada solusi lebih gampang selain memahami setiap baris perintah. Belajar hanya satu buah contoh program, tetapi 100% memahami setiap barisnya, adalah jauh lebih baik dari membaca 1000 contoh program tetapi hanya mengerti bagaimana keseluruhan program itu berjalan tanpa mengetahui bagaimana detil aksinya.

  53. mudahan pak sulhan tidak bosan memberi bimbingan kpd saya,,,
    terimakasi banyak sudah mau menerangkan semua yang sudah saya tanyakan.

  54. salam pak sulhan,,
    trima kasih buat pelajaran yang kemarin.

    saya mau minta tips ni,, saya ingin buat dot matrix 7 baris X 75 atau 80 kolom. designya apakah bisa dibuat seperti kemarin.

    trus untuk program, banyak gak yang harus dirubah.

    mohon sarannya.

    1. program dasarnya ga berubah, yang berubah adalah dalam membuat animasinya. misalnya animasi untuk bergeser ke atas, biasanya yang digeser 8 bit, harus dibuah yg digeser menjadi 7 bit. pergeseran biasanya dari bit 0 di bufferhidden masuk ke bit 7 dari bufferdisplay, sekarang diubah dari bit 0 bufferhidden masuk ke bit 6 bufferdisplay, dan lain-lain.

    2. untuk shift up nya saya tidak ambil pak saya hanya buat moving text nya saja.
      berati untuk scning kolomnya tidak perlu dirubah pak,,??

    3. Ass. mas sulhan mohon bantuannya lagi ni…
      saya membuat tampilan dot matrix sukses tapi saya cuma bisa sampai 35×8, sudah sya pelajari programnya tapi belum bisa jg.
      mohon solusi untuk bantu program penambahan baris lebih dari 35

  55. pak micro yang dipakai pada projec pak sulhan (at89s51) yang atmel punya ya,, berati bisa ya di program dengan downloader saya.

    1. Clock untuk 4017 tentu saja dikendalikan oleh kontroler yang mengatur matriks LED. Jika menggunakan mikrokontroler, maka baik clock maupun reset dihubungkan ke port mikrokontroler dan dikendalikan oleh mikrokontroler tersebut.

  56. salam pak sulhan, project saya sudah berjalan animasi gambar keatas normal. tapi textnya kok gesernya ke kanan ga kekiri kenapa pak ya?
    mohon saran, makasi.

    1. Teksnya gesernya ke kanan, apa bentuk hurufnya juga terbalik? kalau iya, berarti pemasangan hardwarenya terbalik. perlu dilakukan pembalikan pada proses scanning buffer, atau baliklah hardwarenya. Tetapi membalik hardware lebih merepotkan ketimbang membalik software.

    2. trimakasih pak responnya,,ia memang bentuknya terbalik juga trus kenapa yang geser ke atas tidak berubah. mohon sedikit saran untuk membalik softwarenya. makasi.

    3. Kalau mau membalik pada arah vertikal, maka pasang bit 0 pada baris paling bawah bit 7 pada baris paling atas, maka geser ke atas justru akan ke bawah. Bagaimana membalik secara software? Pahami dulu cara kerja yang sekarang. Jika sudah paham, akan mudah untuk membuat yang terbalik.

  57. Kalau menggunakan variabel ~xarray sebagai ganti ~array,menyisipkan programnya diletakkan dibagian mana ya Mas?.maksudnya saya menggunakan Ram External 24c–,sudah saya buat secara garis besar seperti ini:
    Yang saya tanyakan,disisipkan dimana pemanggilan sub program tersebut?.trimakasih

    1. Sebenarnya ~xarray itu untuk RAM external yang ditempatkan pada port 0 untuk A/D dan port2 untuk A8-A15, bukan untuk I2C. Mau menggunakan I2C untuk buffer matriks LED atau untuk penyimpan data saja? kalau untuk buffer, itu tidak bisa karena akses ke I2C itu tergolong sangat lambat. Sedangkan yang dibutuhkan untuk buffer matriks LED harus yang aksesnya cepat. Tetapi bisa saja digunakan untuk perhitungan alamat variabel pada I2C, karena ~xarray hanya akan menghitung angka-angka alamat yang bisa digunakan untuk penempatan variabel.

    2. Trus kalau Ram ext yang aksesnya cepat apa mas? Atau jalau menghilangkan buffer Hidden,supaya kolom bisa lebih banyak, perintah ini diganti dengan apa?
      cjne ColomR,#BufferHidden,justNextCol

    3. RAM yang biasa digunakan untuk MCS-51 diantaranya adalah 6264 dengan kapasitas 8K Byte. Harganya juga lumayan murah, sekitar 15 ribu. Tetapi jika hanya untuk memperbanyak jumlah kolom, saya rasa tidak perlu terlalu banyak. Coba saja untuk menggunakan mickrokontroler yang memiliki RAM lebih banyak (sekitar 1K Byte). Coba gunakan mikrokontroler dari STC yang memiliki internal RAM external (aksesnya seperti RAM external, tetapi langsung ditanam di dalam chip).
      Untuk membuang BufferHidden, tidak hanya dilakukan dengan mengubah satu atau dua baris saja, karena semua prosedur animasi juga harus diubah. Dan animasi tanpa adanya BufferHidden ini akan cukup menyulitkan dalam perancangannya.

    1. LedMatriks.c sudah saya coba dan berjalan dengan benar. Jika Led menyala semua, baik di simulator maupun prakteknya, maka kesalahan bukan pada LedMatriks.c. Mungkin setingan simulatornya belum benar, mungkin susunan hardwarenya juga belum benar.

  58. jadi kesimpulannya .. kerja 4017 ialah apabila setelah mengekseksi 1 blok kolom dia berpindah ke kolom berikutnya oleh 1 transistor kendali blok kolom … kemana aja mas ko absen di fb hehehe

  59. teks nya sudah berjalan normal tapi secara keseluruhan text nya kaya bergertar gitu…ngeliatnnya pusing ..he..he kenapa ya mas…terimakasih

  60. Mas,saya modif software ini dengan tampilan animasi gambar bergerak sesuai keinginan,akan tetapi pusing membuat tabel konstantanya.pertanyaannya bisa gak ya dengan software Ulead Giif animator di convert datanya menggunakan imgtable.exe?

    1. Imgtable.exe hanya menerima file bmp. Kalau hasil dari software Ulead tersebut adalah file bmp, mungkin bisa, tapi kalau hasilnya selain bmp, berarti tidak bisa.

  61. Terima kasih software-nya, sangat membantu saya dalam pemula mikrocontroler, mau tanya mas, untuk micronya menggunakan seri AT89C51 bisa gak ya? kemudian untuk register menggunakan 4094 ( 8 bit) , karena saya nemu diinternet untuk rangkaian tersebut lebih simple , kira2 contoh program punya mas Sulhan bisa gak diaplikasikan dalam rangkaian yang saya maksudkan tadi, tks , salam kenal

    1. Salam Kenal,
      Memakai AT89C51 bisa, tetapi jumlah kolomnya tidak bisa banyak. Untuk AT89C52, maksimal kolom sekitar 100 kolom saja. Jika menggunakan AT89C51, saat simulasi mungkin tidak ada error, tetapi akan menjadi error jika di rangkaian sesungguhnya. Itu karena RAMnya terlalu sedikit. Rancangan saya tidak menggunakan 4094 tetapi menggunakan 4017. Apa 4094 lebih sederhana? Itu relatif, tergantung siapa yang menyebutnya. Kalau menurut saya, 4017 lebih sederhana.

    2. Terima kasih penjelasannya, untuk konsep yang dipakai dalam rangkaian running text sesuai rekomaendasi sebaiknya menggunakan apa mas? biar sesuai dengan hasil simulasinya, dan untuk pengatur dari baris ( anoda ) 0 s/d 7 apakah juga menggunakan 4017?, terus susunan port nya bagaimana?, maaf untuk pembelian buku disolo stock habis , sehingga saya baru pesan lewat online, moga2 bukunya segera datang

  62. Maaf mas,kalau misal agar desain pcb lebih rapi nggak pakai blok kolom,tapi 4017 dikaskade? misal 100kolom pakai 4017 10 biji.

    1. Boleh saja begitu, tetapi cascade dengan cara seperti itu tidak sesederhana cascade dengan cara blok kolom. Pertama, 4017 itu salah satu keluarannya pasti ada yang H, dan 9 keluaran yang lainnya selalu L. Jadi tidak mungkin membuat seluruh keluarannya L. Hal ini mengakibatkan hanya 9 dari keluaran 4017 pertama yang bisa dipakai, dan hanya 8 dari keluaran 4017 berikutnya yang bisa dipakai. Kedua, penggabungan tiap-tiap 4017 membutuhkan beberapa tambahan gerbang logika.

      Penggabungan itu sendiri dilakukan dengan menggabung seluruh clock dan reset. Kemudian enable clock dari 4017 pertama dihubungkan dengan NOT dari Q9 dari keluarannya sendiri. Dengan demikian, saat reset, 4017 pertama bisa menerima clock, tetapi setelah keluaran mencapai Q9 (keluaran terakhir), maka clock akan didisable.

      Enable clock dari 4017 kedua dihubungkan dengan Q9 dari 4017 pertama yang di-AND-kan dengan NOT dari Q9 keluarannya sendiri. Dengan demikian, 4017 kedua ini hanya akan menerima clock selama Q9 dari dirinya belum H dan saat Q9 dari 4017 pertama sudah H. Dengan cara yang sama, enable clock dari 4017 ketiga dihubungkan dengan Q9 dari 4017 kedua yang di-AND-kan dengan NOT dari Q9 dirinya sendiri.

      Keluaran dari 4017 pertama yang digunakan adalah Q0 hingga Q8, sedangkan keluaran dari 4017 berikutnya hanya menggunakan Q1 hingga Q8. Jadi, untuk 100 kolom membutuhkan lebih dari 10 buah 4017 ditambah sebuah NOT dan sebuah AND untuk setiap 4017.

    2. Trimakasih banyak ilmunya,berarti 4017 yg kedua yang saya coba ini belum saya hubungkan dengan Q9 4017 yg pertama dan seterusnya.

  63. pak, saya coba bikin dot matrik pake LED warna merah (5mm) 64 x 8, saya sudah make perhitungan resistor dan transistor seperti diatas, ada masalah sedikit yaitu nyalanya ga rata, contoh pada huruf L : kolom pertama redup namun kolom 2,3,4,5 nyalanya terang… ini kenapa ya pak?

    1. Saya juga buat juga seperti itu,jika satu kolom nyala semua, led nyala agak redup.tapi kalau dalam 1 kolom cuma nyala 2 atau 3, nyala normal.saya atasi port kolom saya ganti hef4094 dan dikuatkan dengan tr 9012.tentu dengan sedikit modif programnya.

  64. salam kenal dari saya putra sumatera utara
    mas saya orang awam di bidang ELECTRONIC apalagi tiory dan perhitungan transistor dan Resistor,seperti yg di ats,tapi saya ingin sekali tau tentang CARA perakitan LED Matrik ini,mohon bantuan nya mas
    Dengan Gambar Saya Agak Lebih Cepat Nangkap,
    Bolehkah Saya Meminta
    Gambar/Skema Rangkaian Led Matrik dengan pengontrol Ic 4017 untuk satuan
    dan bagaimana gbr Ic 4017 untuk puluhan
    begitu juga dengan Gmbr Ic 4017 untuk ratusan
    Saya ingin Coba Membuat Tulisan Berjalan Di depan warung saya
    yach sekitar tinggi 5Cm Lebar 70Cm
    mohon bantuannya ya mas.
    trimakasih sbelumnya

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload the CAPTCHA.

Notify me of followup comments via e-mail. You can also subscribe without commenting.