Rabu, 09 Januari 2013

Membuat Running Text Dengan Dot Matrix




Ok sambil menunggu seminar skripsi iseng-iseng nambah lagi postingan di blog ini. Meneruskan teknik scaning pada postingan sebelumnya yaitu menampilkan data dengan 7 segment kita akan memanfaatkan teknik scaning ini untuk membuat running text dengan dot matrix. Bongkar file lagi deh dikompi....untung masih ada...jadi inget dulu  butuh waktu hampir 1 bulanan untuk mengerti bagaimana cara kerja sampai membuat dot matriks ini. Sebelumnya kita perlu mengetahui prinsip kerja dari dot matrik terlebih dahulu. Lihat gambar dibawah ini






Sama dengan 7 segment jenis dot matriks ada 2 yaitu coloumn cathode dan column anode. Perbedaanya hanya bagaimana cara menghidupkankan. Ringkasnya jika yang satu untuk menghidupkan nya perlu di beri logika 1 maka tipe yang satunya diberi kebalikannya yaitu 0 agar hidup.

1. Project 1
Berhubung udah jm 11 mlem..udah ngntuk bnget....berikut project yang saya disain sendiri..untuk penjelasan menyusul kemudian...



Program CAVR nya sebagai berikut:

Spoiler :
#include <mega8535.h>
#include <delay.h>
#define data_hi     PORTB.0=1
#define data_lo     PORTB.0=0

int i,c,geser,ulang;

unsigned char D[]={
0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,// E
0x01, 0x01, 0x7F, 0x01, 0x01, 0x00,// T
0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,// E
0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,// K
0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,// N
0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,// O
};

void clock()
{
PORTB.1=0; //Clock
PORTB.2=1; //Latch
PORTB.1=1; //Clock
PORTB.2=0; //Latch
delay_us(900);
}

void main(void)
{
DDRB=0xFF; // Driver Baris
PORTB=0x00;
DDRA=0xFF; // Driver Kolom
PORTA=0x00;

while(1)


for (geser=0;geser<48;geser++){
       for(ulang=0;ulang<2;ulang++){ //speed
       for(i=0;i<28;i++) // i=jumlah kolom dot matrix 1 kolom =7
        {
            c=i-(28-geser);
            
            PORTA=~D[c];
            if(i==1)
            data_hi;
            else
            data_lo;
            clock();
        }
        }
}

for (geser=0;geser<48;geser++){
       for(ulang=0;ulang<2;ulang++){ //speed
       for(i=0;i<28;i++) // i=jumlah kolom dot matrix 1 kolom =7
        {
            c=i-(-24+geser);
            
            PORTA=~D[c];
            if(i==1)
            data_hi;
            else
            data_lo;
            clock();
        }
        }
}
        
};
}
Download file project proteus dan CAVR disini (login ke account google anda terlebih dahulu)

52 komentar:

  1. saya masih pemula nih gan, mau tanya kalau running text dengan led matrix konsep pembuatannya gimana??? oh ya gan komponen2 apa saja yang dibutuhkan untuk membuat running text??

    BalasHapus
    Balasan
    1. pembuatannya kyak led biasa...silahkan add fb sy nti sy jelasin...

      Hapus
    2. Gan,nama fb nya apa gan. Soalnya banyak ini yg namanya sama

      Hapus
  2. Saya Dina Mirdani, mahasiswi D3 Metrologi dan instrumentasi USU,kami ada tugas membuat running teks,tolong ajari bagaimana cara membuat running teks? karena saya tidak mengerti dasar2nya gmn..

    BalasHapus
    Balasan
    1. klo running seks saya mau ngajarin mba dina..

      Hapus
    2. Aslm, numpang promosi ya, Untuk mba dina bisa mampir ke toko saya www.tokolampugorontalo.blogspot.com

      kami menjual RUNNING TEXT UNTUK EDUKASI ukuran 40x7 , kami menyertakan kode avr dan python untuk yang mau mengupgrade sendiri matrixnya.

      mudah2an bisa menjadi sumber referensi belajar avr dan led matrix bagi banyak orang.

      regards, dudelectric microsystems

      Hapus
  3. mas, mau nnya. saya udah nyoba buat rangkaiannya..tapi pergeseran hurufnya malah dari bawah keatas. itu knapa? kalau di proteus itu konfigurasi dotmatrixnya gimana ya? paling kiri itu kaki 1?

    BalasHapus
    Balasan
    1. ee kemungkinan tipe dotmatriksxnya ..atau kalau buat sendiri pakai led..coba di balik kaki anoda dan katodanya ditukar...

      Hapus
  4. gan tu tampilan di proteus kok pas huruf E gak penuh (di source code 0x7F) tapi pas simulasi proteus kok gak full yah?

    BalasHapus
    Balasan
    1. coba dibuat rel aja mas..nanti ketahuan bener apa salahnya ...sambil trial and error...saya coba berhasil kok

      Hapus
    2. makasi gan it's work, kalo untuk real harus pakai transistor ya di keluaran 74hc595 (saya coba rangkai 7x40 nyalanya redup)

      Hapus
    3. ane juga nalamin hal yang sama gan,, tiap bikin karakter yang banyak variasinya nyalanya nggak full tapi kalo karakter yang sederhana bisa full,,
      gimana cara ngerelnya mas? yang di rel apanya? makasih

      Hapus
  5. sip mas, btw kenapa ada 2 for ya?

    BalasHapus
    Balasan
    1. coba di buat real aja mas..nanti mas tahu alasannya kok..klo gx pernah dicoba gx akan thu..

      Hapus
  6. Salam kenal.. mau tanya mas di file download ada skematik proteus.. kira2 kalo kita buka di isis proteus 7.7 gmn ya caranya..

    BalasHapus
  7. mau tanya
    cara masukkan kodenya di proteus gmn ya caranya?

    BalasHapus
  8. mantap mas,,, thank ilmu nya,,,,programnya mudah di mengerti, dah saya coba blajar modifikasi kodingnya dan berhasil jalan di simulasi nya,,,,

    BalasHapus
  9. Mas Bayu saya coba compile memakai AVR kenapa banyak yang error yah,......

    Build started 23.11.2013 at 12:23:36
    avr-gcc.exe -mmcu=atmega8535 -Wall -gdwarf-2 -Os -std=gnu99 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT runningteks8535.o -MF dep/runningteks8535.o.d -c ../runningteks8535.c
    ../runningteks8535.c:1:22: error: mega8535.h: No such file or directory
    ../runningteks8535.c:2:19: error: delay.h: No such file or directory
    ../runningteks8535.c: In function 'clock':
    ../runningteks8535.c:19: error: 'PORTB' undeclared (first use in this function)
    ../runningteks8535.c:19: error: (Each undeclared identifier is reported only once
    ../runningteks8535.c:19: error: for each function it appears in.)
    ../runningteks8535.c:19: error: expected ';' before numeric constant
    ../runningteks8535.c:20: error: expected ';' before numeric constant
    ../runningteks8535.c:21: error: expected ';' before numeric constant
    ../runningteks8535.c:22: error: expected ';' before numeric constant
    ../runningteks8535.c:23: warning: implicit declaration of function 'delay_us'
    ../runningteks8535.c: At top level:
    ../runningteks8535.c:26: warning: return type of 'main' is not 'int'
    ../runningteks8535.c: In function 'main':
    ../runningteks8535.c:28: error: 'DDRB' undeclared (first use in this function)
    ../runningteks8535.c:29: error: 'PORTB' undeclared (first use in this function)
    ../runningteks8535.c:30: error: 'DDRA' undeclared (first use in this function)
    ../runningteks8535.c:31: error: 'PORTA' undeclared (first use in this function)
    ../runningteks8535.c:45: error: expected ';' before numeric constant
    ../runningteks8535.c:47: error: expected ';' before numeric constant
    ../runningteks8535.c:61: error: expected ';' before numeric constant
    ../runningteks8535.c:63: error: expected ';' before numeric constant
    make: *** [runningteks8535.o] Error 1
    Build failed with 17 errors and 2 warnings...

    BalasHapus
  10. Alhamdzullilah mas,....sudah bisa setelah try and error,...makasih ilmunya,...tetap semangat yang baru belajar seperti saya.Insya Allah bisa

    BalasHapus
  11. pemuda yang seperti ini yang akan membangun bangsa, ngeshare ilmunya kpd yang lain thanks gan,,,,,,lanjutkan :D

    BalasHapus
  12. Komentar ini telah dihapus oleh pengarang.

    BalasHapus
  13. alhamdulilah sudah saya aplikasikan mas dan bisa setelah menemui beberapa kendala,,,menggunakan atmega 16 dan bahasa c codevision silahkan dilihat di yotube,,,,,thanks Etekno :D

    http://www.youtube.com/watch?v=6qbZZC-4Ceo

    BalasHapus
  14. Salam kenal, Mas kalo boleh minta code ini (0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,// E) sampai huruf z biar kata yang tampilnya bisa gonta ganti.. thanks..

    BalasHapus
    Balasan
    1. bisa anda download aplikasi ecek2 coverter untuk mempermudah penulisan huruf :D

      Hapus
  15. jazakillah khairan, sangat membantu tugas saya. ^_^

    BalasHapus
  16. mas...itu shift registernya pake ic apa mas?

    BalasHapus
    Balasan
    1. anda bisa membaca artikel saya jika tdk keberatan ,sudah saya aplikasikan.....http://wahyudi-hidayat.blogspot.com/

      Hapus
  17. mas,
    saya mau ganti tulisannya dengan code hex (0x7F dkk) itu gmn ya ada tutornya gak disini thanks

    BalasHapus
  18. itu yang dicontoh anoda atau katoda? yang memerlukan ic not itu yg mana ya?

    BalasHapus
  19. mas kalau download software isis proteus dimana situsnya? apa disediakan secara free atau berbayar?

    BalasHapus
  20. gan, kira2 dimana ya saya bisa belajar dari 0 banget?

    saya ingin tahu setiap fungsi dari script diatas :)

    BalasHapus
  21. Ini baru bloger sejati, bagi ilmu gak nanggung,,,,,,,,,,,,,,,,,,,,,,

    BalasHapus
  22. anda bisa membaca artikel saya jika tdk keberatan ,sudah saya aplikasikan.....http://wahyudi-hidayat.blogspot.com/
    trimakasih owner etekno :D

    BalasHapus
  23. gan gimana klo mau nampilin huruf doang di dot matrix 5x7 tanpa berjalan..cuma nampilin doang..

    BalasHapus
  24. pengen tanya pak,, itu yang di programnya angka 48 di pengulangan, jelasin apanya yah?

    BalasHapus
  25. gimana gan cara membuat running teks 11 dot matrix menggunakan ATMEGA32 gan..mohon pencerahan ny gan

    BalasHapus
  26. Silahkan mampir ke blog saya, menjual produk spare part running text ke seluruh Indonesia dengan harga grosir termurah se-Indonesia. Reseller dan dropship very welcome.

    http://juraganrunningtext.com/

    BalasHapus
  27. trima kasih ilumnya mas semoga bermanfaat. dan ijin dwonload

    BalasHapus
  28. thanks ilmunya... semoga keberkahan dan kesuksesan dalam berkehidupan selalu menyertai kita.

    BalasHapus
  29. mantaf, makasih gan..... saya pengen buat nama saya dan nim saya, susah ya kalau bagi pemula

    BalasHapus
  30. bang mau tanya kalo pakai dot matrix nya 6 digit gimana buatnya

    BalasHapus
  31. mas saya udh buat realnya, tapi ko selalu nyala semua ya, kan katanya ada 2 jenis, yaitu anoda ama katoda kaa 7segmen, kalo misalkan script diatas adalah diberi logika satu, gmana ya script untuk logika 0 nya?

    saya udah coba kutak atik bnlum bisa juga, makasih

    BalasHapus
    Balasan
    1. iya mas saya juga begini setelah mencoba, yang terjadi dot matrixnya menyala semua?? bagaimana solusinya mohon bimbingannya

      Hapus
  32. kebetulan saya ada tugas membuat running text,say menggunakan arduino dan ic ATmega328p-pu, apakah ada perbedaan dengan ATmega32? dan codingnya jga beda atau sama saja? maaf masih 0 bgt. mohon untuk ilmunya
    Terimakasih

    BalasHapus
  33. Selamat siang mas, saya ingin menanyakan sesuatu. Saya ada tugas membuat runnint text menggunakan arduino uno r3, saya bingung dalam pembuatan code diarduino, apakah mas ada source codenya?

    BalasHapus
  34. Mas mau tanya nilai nilai desilam ini dari mana
    for (geser=0;geser<48;geser++){
    for(ulang=0;ulang<2;ulang++){ //speed
    for(i=0;i<28;i++) // i=jumlah kolom dot matrix 1 kolom =7
    {
    c=i-(-24+geser);

    PORTA=~D[c];
    if(i==1)
    data_hi;
    else
    data_lo;
    clock();
    }
    }
    Mohon penjelasan pengen belajar

    BalasHapus
  35. mas saya udh buat realnya, tapi ko selalu nyala semua ya itu solusinya bagaimana yah

    BalasHapus
  36. gan gw mau nanya nih , gw kan baru pemula, jdi klok mw gnti huruf selain ETEKNO BISA ?


    BalasHapus
  37. gan gw mau nanya nih , gw kan baru pemula, jdi klok mw gnti huruf selain ETEKNO BISA ?


    BalasHapus

Silahkan isi komentar yang dapat membangun blog ini. Atas komentarnya saya ucapkan terimakasih

Related Posts Plugin for WordPress, Blogger...