Animasyonlu led reklam tabelası

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.

Uygulamanın video görüntüleri
İsis devre şemaları
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; Aytaç Dürgen














Süpersin aytaç :) teşekkürler
for döngüsü gibi birşey yok mu jal’da
çok güzel olmuş 16f84 lü olan devrenin şeması yokmu acaba.
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
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.
Teşekkürler süper :)
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. :(
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.
yazılım için bir yerlerden başlamalı sanırım sizin için en uygunu: http://320volt.com/pic-basic-dersleri/
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
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.
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