Ledlerle Yapılan Işık Gösteri Devresi

Konu, 'Elektronik ve Oyunlar' kısmında Eleftra tarafından paylaşıldı.

  1. Eleftra

    Eleftra Her şey bâtıni!

    Kayıt:
    21 Ağustos 2007
    Mesajlar:
    58.969
    Beğeniler:
    1.121
    Nereden:
    Eskişehir
    Ledlerle Yapılan Işık Gösteri Devresi - Işık Gösteri Devresi - PIC16F628 Jal - Jal ve Led - Jal Yapılan Işık Gösteri Devresi



    Bu yazıda ledlerle yapılmış basit bir ışık gösterisi devresi tanıtılacaktır. Mikrokontrolör olarak Microchip PIC16F628 kullanılmıştır. PIC'in kodlanması JAL V2.4l ile yapılmıştır. Bu kodlamada JalEdit programı kullanılmıştır.

    Kodlamada portlara yön verilerek bekleme yapılması sağlanmıştır. Devrenin Jal kaynak dosyalarını indirmek için Tıklayınız Jal kodlamada Jal V2 derleyici ve Jallib kütüphanesi kullanılmıştır. Gerekli linkler için Tıklayınız

    Devreye ait şema ve baskı devre dosyalarını indirmek için Tıklayınız Devre şeması ve baskı devresi KiCad ile hazırlanmıştır. Gerekli linkler için Tıklayınız

    Devreye ait Proteus ISIS simülasyon dosyasını indirmek için Tıklayınız

    Devrenin çalışma voltaj aralığı 78L05 entegresinin giriş aralığı olup, 6,5 volt ile 30 volt arasıdır.

    Devre Şeması

    < Resme gitmek için tıklayın >


    Devre şemasını PDF dosya olarak açmak için Tıklayınız

    Malzeme Listesi:
    U1: PIC16F628A
    U2: 78L05 (smd, kılıf: SO-8)
    C1: 100nF (smd, kılıf: 1206)
    D1, D2, D3, D4, D5, D6, D7, D8: Led 5mm, kırmızı
    R1, R2, R3, R4, R5, R7, R8: 470 Ohm (SMD, kılıf:807)
    R6: 470 Ohm (smd, kılıf: 1206)
    P1: Besleme girişi.
    Plaket: 3x6,2 cm tek yüz

    Baskı devre lehim yüzü taslağı

    < Resme gitmek için tıklayın >


    Lehim tarafı yerleşim planı

    < Resme gitmek için tıklayın >


    Malzeme tarafı yerleşimi

    < Resme gitmek için tıklayın >


    Montaja hazır baskı devre

    < Resme gitmek için tıklayın >


    Montajı yapılmış halde baskı devre

    < Resme gitmek için tıklayın >


    Montajlı baskı devre lehim tarafı

    < Resme gitmek için tıklayın >



    Devrenin Jal V2.4l compiler ile derlenen kodları:

    -- ------------------------------------------------------
    -- BASLIK: JAL VE MICROCHIP PIC16F628 ILE ISIK GOSTERISI
    --
    -- YAZAR: Mehmet YILMAZ, mehmet.yilmaz@teknomerkez.net
    --
    -- TARIH: 30.12.2009
    --
    -- Derleyici: JAL V2.4l
    --
    -- Bu dosyada jallib kutuphanesi kullanilmistir
    -- (http://jallib.googlecode.com)
    --
    -- Released under the BSD license
    -- (Open Source Initiative OSI - The BSD License:Licensing | Open Source Initiative)
    --
    -- ------------------------------------------------------
    --
    include 16f628
    pragma target clock 4_000_000
    pragma target fuses 0x3F10
    --
    enable_digital_io()
    --
    portb_direction = output
    porta_direction = output
    --
    forever loop
    portb = 0b00000001
    _usec_delay(50000)
    portb = 0b00000010
    _usec_delay(50000)
    portb = 0b00000100
    _usec_delay(50000)
    portb = 0b00001000
    _usec_delay(50000)
    portb = 0b00010000
    _usec_delay(50000)
    portb = 0b00100000
    _usec_delay(50000)
    portb = 0b01000000
    _usec_delay(50000)
    portb = 0b10000000
    _usec_delay(50000)
    --
    portb = 0b00000001
    _usec_delay(50000)
    portb = 0b00000011
    _usec_delay(50000)
    portb = 0b00000110
    _usec_delay(50000)
    portb = 0b00001100
    _usec_delay(50000)
    portb = 0b00011000
    _usec_delay(50000)
    portb = 0b00110000
    _usec_delay(50000)
    portb = 0b01100000
    _usec_delay(50000)
    portb = 0b11000000
    _usec_delay(50000)
    portb = 0b10000000
    _usec_delay(50000)
    --
    portb = 0b00000001
    _usec_delay(50000)
    portb = 0b00000011
    _usec_delay(50000)
    portb = 0b00000111
    _usec_delay(50000)
    portb = 0b00001110
    _usec_delay(50000)
    portb = 0b00011100
    _usec_delay(50000)
    portb = 0b00111000
    _usec_delay(50000)
    portb = 0b01110000
    _usec_delay(50000)
    portb = 0b11100000
    _usec_delay(50000)
    portb = 0b11000000
    _usec_delay(50000)
    portb = 0b10000000
    _usec_delay(50000)
    --
    portb = 0b00000001
    _usec_delay(50000)
    portb = 0b00000011
    _usec_delay(50000)
    portb = 0b00000111
    _usec_delay(50000)
    portb = 0b00001111
    _usec_delay(50000)
    portb = 0b00011110
    _usec_delay(50000)
    portb = 0b00111100
    _usec_delay(50000)
    portb = 0b01111000
    _usec_delay(50000)
    portb = 0b11110000
    _usec_delay(50000)
    portb = 0b11100000
    _usec_delay(50000)
    portb = 0b11000000
    _usec_delay(50000)
    portb = 0b10000000
    _usec_delay(50000)
    portb = 0b10000000
    _usec_delay(50000)
    for 4 loop
    portb = 0b00001111
    _usec_delay(50000)
    portb = 0b11110000
    _usec_delay(50000)
    end loop
    for 4 loop
    portb = 0b00000000
    _usec_delay(100000)
    portb = 0b11111111
    _usec_delay(100000)
    end loop
    for 10 loop
    portb = 0b01010101
    _usec_delay(50000)
    portb = 0b10101010
    _usec_delay(50000)
    end loop
    for 3 loop
    portb = 0b10000001
    _usec_delay(50000)
    portb = 0b01000010
    _usec_delay(50000)
    portb = 0b00100100
    _usec_delay(50000)
    portb = 0b00011000
    _usec_delay(50000)
    portb = 0b00100100
    _usec_delay(50000)
    portb = 0b01000010
    _usec_delay(50000)
    portb = 0b10000001
    _usec_delay(50000)
    end loop
    for 2 loop
    portb = 0b11000011
    _usec_delay(50000)
    portb = 0b01100110
    _usec_delay(50000)
    portb = 0b00111100
    _usec_delay(50000)
    portb = 0b00011000
    _usec_delay(50000)
    portb = 0b00111100
    _usec_delay(50000)
    portb = 0b01100110
    _usec_delay(50000)
    portb = 0b11000011
    _usec_delay(50000)
    end loop
    for 4 loop
    portb = 0b00000011
    _usec_delay(100000)
    portb = 0b00001100
    _usec_delay(100000)
    portb = 0b00110000
    _usec_delay(100000)
    portb = 0b11000000
    _usec_delay(100000)
    portb = 0b00110000
    _usec_delay(100000)
    portb = 0b00001100
    _usec_delay(100000)
    end loop
    for 6 loop
    portb = 0b00000001
    _usec_delay(30000)
    portb = 0b00000010
    _usec_delay(30000)
    portb = 0b00000100
    _usec_delay(30000)
    portb = 0b00001000
    _usec_delay(30000)
    portb = 0b00010000
    _usec_delay(30000)
    portb = 0b00100000
    _usec_delay(30000)
    portb = 0b01000000
    _usec_delay(30000)
    portb = 0b10000000
    _usec_delay(30000)
    portb = 0b01000000
    _usec_delay(30000)
    portb = 0b00100000
    _usec_delay(30000)
    portb = 0b00010000
    _usec_delay(30000)
    portb = 0b00001000
    _usec_delay(30000)
    portb = 0b00000100
    _usec_delay(30000)
    portb = 0b00000010
    _usec_delay(30000)
    portb = 0b00000001
    _usec_delay(30000)
    end loop
    end loop

    Mehmet Yılmaz
  2. Classiic

    Classiic Aktif yorumcu

    Kayıt:
    17 Ekim 2010
    Mesajlar:
    21.147
    Beğeniler:
    503
    Nereden:
    Eskişehir
    Çok karmaşık mevzular. Ledcide çalışırken bi ton uğraşıyoduk.

Sayfayı Paylaş