1000 kişiden bir kişi için ! devam.... 320volt blog

Elektronik Devreler Projeler » Microchip PIC devreleri bilgiler, Yazar Projeleri Makaleler Elektronik Genel »

Animasyonlu led reklam tabelası

animasyonlu-led-reklam-tabelasi

Arkadaşlar merhaba bu yazımda sizlerle temel ve basit yöntemler kullanılarak yapılan JAL dili ile yazılan LED reklam animasyonu projesini sunuyorum.

Günümüzde artan insan ihtiyaçları daha çok reklam gerektirmekte ve reklam tabelalarının düşük maliyetle daha çok dikkat çekilmesi istenmektedir.

Tamda bu noktada gelişen LED teknolojisi imdada yetişmektedir. Artık her renk tonunda renk LED bulunabilmektedir. İstenilen ebat ve şekilde hazırlanılan LED harfler direk yakılarak dikkat çekilmektedir. Fakat insanların hareket eden tonu değişen cisimlere ya da ışıklara ilgisinin daha çok olduğu bazı araştırmaların sonucudur. Buradan bu harflere çeşitli animasyonlarla şov yaptırılması ihtiyacı doğmuştur.

Bu animasyonu kolay ve ekonomik bir şekilde yapmak PIC ve çevresel elektronik kitlerle yapılabilmektedir.

LED harfler CNC ROUTER makinelerinde bilgisayar ortamında oluşturulup plastik mukavvalara delinerek yapılmaktadır ve bir çok yerde bu modellere örnek görebilirsiniz.

Harflerdeki LED dizilimi AUTO CAD gibi programlarla elle çizilebildiği gibi COREL DRAW çizim ve görüntüleme programı için bulunabilen LED_DRAW eklentisi ile CNC ROUTER ile uyumlu çizimleri otomatik oluşturulabilmektedir.
Peki Bunu eldeki imkanlarla yapmak mümkün mü diyecek olursanız elbette mümkün. Ama biraz uğraşmak gerekiyor.

Reklam yazısı ebatlarına uygun kontrplak ya da plastik mukavva LED aralıklarının belirlendiği çıktıları sabit aralıklarla yapıştırıp bu noktalardan 5mm kalınlığında matkap ucu ile delmek ilk kısmı. LEDler bu delikler Kutuplarının hepsi aynı yöne bakacak şekilde yerleştirilir. (ledleri harf egimine göre çevirmeyin Bu görsel nazı çirkinlikler oluşturuyor.) Ek proteus çiziminde gösterdiğim şekilde 5led seri Beşerli beşerli paralel bağlanıp harf oluşturulur.

Peki neden bu yolu kullandım. Ben bu devrenin testlerini yaklaşık on gün süre ile BC547 ile gerçekleştirdim sorunsuz bir şekilde çalıştı. Yüksek akımlı transistörlerin fiyatları malum. Tüm ledler sıra ile paralel de bağlanabilirdi ama o zaman çok akım çekecektir bu yüzden transistör ve besleme trafosu gücü ve meliyeti artacaktır. Ben 14 harf için 1000küsür led kullandım ve 3wlık bir trafo ile besledim BD241 ile sürdüm. 0.35tl yakınlarında irf 840 1.5tl. ile 2tl arasında. (karaköyde 0.3 0.4 tl ye bulabilirsiniz.)

Eğer harfteki LEDler 5erli şekilde denk gelmez ise son beşli hattı panonun arkasında beşe tamamlamak gerekmekte böylece panodaki tüm LEDler eşit şiddette yanacaktır. Hazırladığımız PIC programları çıkışları birer transistör (BD241(3A)ya da irf840(8A) n kanal mosfet) ile sürülerek her harf ayrı bir çıkışa sırası ile bağlanır. PIC sürücü devre 5V ile beslenirken LED harfler 12V ile beslenmelidir.

Projenin isis simülasyon ares pcb ve jal yazılımı dosyaları: animasyonlu-led-tabela-pic16f877-jal.zip

İletişim: aytacdurgen@gmail.com
KOCAELİ ÜNİVERSİTESİ TEKNİK EĞİTİM FAKÜLTESİ

ELEKTRİK EĞİTİMİ BÖLÜMÜ.

Lisans 4.sınıf

BİLGİ PAYLAŞTIKÇA BÜYÜR. Bu çerçevede 320volt.com’a Teşekkürleri borç biliyoruz.

led-reklam-tabelasi-devre-ledler

Uygulamanın video görüntüleri

İsis devre şemaları

animasyon-tabela-isis-pic16f877-jal led-harf-olusumu

Uygulamanın JAL yazılımı


-- ===========================================
-- Proje: IŞIK ANİMASYONLU YAZI(BÜFE 180 LEDLİ)
-- AYTAC DURGEN
-- Baslangic: 26.07.2009 Bitis: 27.07.2009
-- Dosya: animasyon.jal
-- ===========================================
include 16f84_4
include jlib
-- === PORTLARIN YONLENDIRILMESI ===
pin_b0_direction = output
pin_b1_direction = output
pin_b2_direction = output
pin_b3_direction = output
-- === AYARLAMALAR ===
port_b = 0b00000000
-- === PROGRAM BASLANGICI ===
forever loop
port_b = 0b00000001
delay_50ms (4)  -- 50ms bekle
port_b = 0b00000010
delay_50ms (4)   -- 50ms bekle
port_b = 0b00000100
delay_50ms (4)  -- 50ms bekle
port_b = 0b00001000
delay_50ms (4)   -- 50ms bekle
port_b = 0b00001001
delay_50ms  (4)  -- 50ms bekle
port_b = 0b00001010
delay_50ms  (4)  -- 50ms bekle
port_b = 0b00001100
delay_50ms (4)   -- 50ms bekle
port_b = 0b00001101
delay_50ms   (4) -- 50ms bekle
port_b = 0b00001110
delay_50ms (4)   -- 50ms bekle
port_b = 0b00001111
delay_50ms (8)

port_b = 0b00000000
delay_50ms (8)
port_b = 0b00001111
delay_50ms (8)
port_b = 0b00000000
delay_50ms (8)

port_b = 0b00000001
delay_50ms (2)
port_b = 0b00000011
delay_50ms (2)
port_b = 0b00000111
delay_50ms (2)
port_b = 0b00001111
delay_50ms (4)
port_b = 0b00000111
delay_50ms (2)
port_b = 0b00000011
delay_50ms (2)
port_b = 0b00000001
delay_50ms (2)
port_b = 0b00000000
delay_50ms (2)

port_b = 0b00000001
delay_50ms (2)
port_b = 0b00000011
delay_50ms (2)
port_b = 0b00000111
delay_50ms (2)
port_b = 0b00001111
delay_50ms (4)
port_b = 0b00000111
delay_50ms (2)
port_b = 0b00000011
delay_50ms (2)
port_b = 0b00000001
delay_50ms (2)
port_b = 0b00000000
delay_50ms (2)

port_b = 0b00000001
delay_50ms (4)
port_b = 0b00000010
delay_50ms (4)
port_b = 0b00000100
delay_50ms (4)
port_b = 0b00001000
delay_50ms (4)
port_b = 0b00001001
delay_50ms  (4)
port_b = 0b00001010
delay_50ms  (4)
port_b = 0b00001100
delay_50ms (4)
port_b = 0b00001101
delay_50ms   (4)
port_b = 0b00001110
delay_50ms (4)
port_b = 0b00001111
delay_50ms (8)

port_b = 0b00000001
delay_50ms (2)
port_b = 0b00000011
delay_50ms (2)
port_b = 0b00000111
delay_50ms (2)
port_b = 0b00001111
delay_50ms (4)
port_b = 0b00000111
delay_50ms (2)
port_b = 0b00000011
delay_50ms (2)
port_b = 0b00000001
delay_50ms (2)
port_b = 0b00000000
delay_50ms (2)

port_b = 0b00000001
delay_50ms (2)
port_b = 0b00000011
delay_50ms (2)
port_b = 0b00000111
delay_50ms (2)
port_b = 0b00001111
delay_50ms (4)
port_b = 0b00000111
delay_50ms (2)
port_b = 0b00000011
delay_50ms (2)
port_b = 0b00000001
delay_50ms (2)
port_b = 0b00000000
delay_50ms (6)
port_b = 0b00000001
delay_10ms (4)  -- 50ms bekle
port_b = 0b00000010
delay_10ms (4)   -- 50ms bekle
port_b = 0b00000100
delay_10ms (4)  -- 50ms bekle
port_b = 0b00001000
delay_10ms (4)   -- 50ms bekle

port_b = 0b00000001
delay_10ms (4)  -- 50ms bekle
port_b = 0b00000010
delay_10ms (4)   -- 50ms bekle
port_b = 0b00000100
delay_10ms (4)  -- 50ms bekle
port_b = 0b00001000
delay_10ms (4)   -- 50ms bekle

port_b = 0b00000001
delay_10ms (4)  -- 50ms bekle
port_b = 0b00000010
delay_10ms (4)   -- 50ms bekle
port_b = 0b00000100
delay_10ms (4)  -- 50ms bekle
port_b = 0b00001000
delay_10ms (4)   -- 50ms bekle

port_b = 0b00000001
delay_10ms (4)  -- 50ms bekle
port_b = 0b00000010
delay_10ms (4)   -- 50ms bekle
port_b = 0b00000100
delay_10ms (4)  -- 50ms bekle
port_b = 0b00001000
delay_10ms (4)   -- 50ms bekle

port_b = 0b00000001
delay_10ms (4)  -- 50ms bekle
port_b = 0b00000010
delay_10ms (4)   -- 50ms bekle
port_b = 0b00000100
delay_10ms (4)  -- 50ms bekle
port_b = 0b00001000
delay_10ms (4)   -- 50ms bekle

port_b = 0b00000001
delay_10ms (4)  -- 50ms bekle
port_b = 0b00000010
delay_10ms (4)   -- 50ms bekle
port_b = 0b00000100
delay_10ms (4)  -- 50ms bekle
port_b = 0b00001000
delay_10ms (4)   -- 50ms bekle

port_b = 0b00000001
delay_10ms (4)  -- 50ms bekle
port_b = 0b00000010
delay_10ms (4)   -- 50ms bekle
port_b = 0b00000100
delay_10ms (4)  -- 50ms bekle
port_b = 0b00001000
delay_10ms (4)   -- 50ms bekle

port_b = 0b00000001
delay_10ms (4)  -- 50ms bekle
port_b = 0b00000010
delay_10ms (4)   -- 50ms bekle
port_b = 0b00000100
delay_10ms (4)  -- 50ms bekle
port_b = 0b00001000
delay_10ms (4)   -- 50ms bekle
port_b = 0b00000001
delay_10ms (4)  -- 50ms bekle
port_b = 0b00000010
delay_10ms (4)   -- 50ms bekle
port_b = 0b00000100
delay_10ms (4)  -- 50ms bekle
port_b = 0b00001000
delay_10ms (4)   -- 50ms bekle

port_b = 0b00000001
delay_10ms (4)  -- 50ms bekle
port_b = 0b00000010
delay_10ms (4)   -- 50ms bekle
port_b = 0b00000100
delay_10ms (4)  -- 50ms bekle
port_b = 0b00001000
delay_10ms (4)   -- 50ms bekle

port_b = 0b00000001
delay_10ms (4)  -- 50ms bekle
port_b = 0b00000010
delay_10ms (4)   -- 50ms bekle
port_b = 0b00000100
delay_10ms (4)  -- 50ms bekle
port_b = 0b00001000
delay_10ms (4)   -- 50ms bekle

port_b = 0b00000001
delay_10ms (4)  -- 50ms bekle
port_b = 0b00000010
delay_10ms (4)   -- 50ms bekle
port_b = 0b00000100
delay_10ms (4)  -- 50ms bekle
port_b = 0b00001000
delay_10ms (4)   -- 50ms bekle

port_b = 0b00001111
delay_50ms (8)

port_b = 0b00000000
delay_50ms (8)
port_b = 0b00001111
delay_50ms (8)
port_b = 0b00000000
delay_50ms (8)
 port_b = 0b00000001
delay_100ms (8)
port_b = 0b00000011
delay_100ms (8)
port_b = 0b00000111
delay_100ms (8)
port_b = 0b00001111
delay_100ms (8)

port_b = 0b00000000
delay_50ms (8)
port_b = 0b00001111
delay_50ms (8)
port_b = 0b00000000
delay_50ms (8)
port_b = 0b00000000
delay_50ms (8)
port_b = 0b00001111
delay_50ms (8)
port_b = 0b00000000
delay_50ms (8)

end loop

-- === PROGRAM SONU ===

Yazar: Aytaç Dürgen

Yazarımızın 320volt.com Blog üzerinde şu an okuduğunuz yazı dahil 26 yazısı bulunmaktadır. Yazarımız hakkında bilgileri ve diğer yazılarını görmek için bakınız;

Elektronik

 
  1. Süpersin aytaç :) teşekkürler

  2. zxcv says:

    for döngüsü gibi birşey yok mu jal’da

  3. tahir says:

    çok güzel olmuş 16f84 lü olan devrenin şeması yokmu acaba.

  4. AYTAÇ DÜRGEN says:

    jalda for döngüsü elbet var ama C diline göre biraz tuhaf bir yapısı var. ben önemli olan işimizin görülüyor olduğunu düşünüyorum. ve açıkçası bu şekil biraz daha kolayıma geldi. bu projeleri acemlik çekiyorken yazmıştım. Aynı projeyi C derleyicilerle diziler yardımıyla ve for döngüleriyle çok daha kolay bir şekilde yapmak mümkün. yazı yayınlamaktaki amacım gelişen teknolojide amatörden profosyonele her ilgilenen birşeyleri bilmesini istediğim içindir

  5. AYTAÇ DÜRGEN says:

    Tahir arkadaşın sorusuna:16f84a ile devre aynen 877de olduğu gibi transistörle sürülecek. proteusta pıc içene yazılımı yüklediğinizde animasyonu bir bağlant yapmaksızın görürsünüz.

  6. murat says:

    Teşekkürler süper :)

  7. Emrah says:

    büfe güzel ama benim diğeri hoşuma gitti harfler uzadıkca göze hitap artıyor. tebrik ediyorum yapan arkadaşı ellerine sağlık. ama uzun yazılı olanın jal komutları yok. :(

  8. mecit says:

    arkadaşlar bu konuda çok bigisizim ama ilgisiz değilim bu ve benzeri elektronik devre konusunda sorunum yok ama yazılım konusunda sorunum çok daha doğrusu yazlım bilgim eksilerde. yazılım konusunda prof olmayı düşünmüyorum bu tür devreleri bitirebileyim yeter. bu konuda yardımcı olacak ve yol göstrecek arkadaşalara teşekkür ediyorum.

  9. gevv says:

    yazılım için bir yerlerden başlamalı sanırım sizin için en uygunu: http://320volt.com/pic-basic-dersleri/

  10. murat says:

    bu dosyalar hangi versiyon proteusta çalışıyor benimki 7,2 açılmıyor surum farkı var yardımcı olurmusunuz yada 7,2 versiyonuna uygun dosya koyabilme imkanınız varmı emeğinize teşekkür ediyorum başarılarınızın devamını diliyorum

  11. aytac dürgen says:

    proteus 7,4 sürümü ile hazırlanmış bir projedir. siz 877a ile hex direk çalıştırasbilirsiniz.
    Bu devreyi sadece örnek olması için yayınladım. 14 harf için tasarlandığı için harf sayısı artırılıp azaltıldığında görünümde boşluklar oluşacaktır.

  12. murat says:

    Transistörleri ne kullandınız resimdekiler bd539 fakat yazınızda bd241 ve bd547 den bahsetmişsiniz. ben proteusta projenizi tekrar çizdim bd539 kullandım fakat aklıma bir şey takıldı pic kanal çıkışı transistör arasına 10k mı yoksa 100r direncmi kullanmalıyım (entegreden 12 kanal çıkış alacağım) birde entegre çıkışında kullandığımız transistör 1 adet yeterlimi led sayısını çoğalttıgımızda o kanal için ayrıca transistör ilave edecekmiyiz ? yardımlarınız için çok teşekkür ederim

Yorum Sayfaları
1 2 3

Yorum yapın

Doğrulama: (kutuyu işaretleyiniz)

  • Lütfen Türkçe imla kurallarına dikkat etmeye özen gösteriniz.
  • Yorumunuz yönetici tarafından kontrol edilmeden yayımlanmaz.
  • Paylaşılan devrelerin malzeme listesini istemeyiniz. Olsa zaten paylaşılırdı şema üzerinden listeyi çıkartabilirsiniz
  • Gavatar sitesine avatarınızı yükleyebilirsiniz.