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.
İletişim: [email protected]
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 ===
Projenin proteus simülasyon ares pcb ve jal yazılımı;
Şifre-Pass: 320volt.com
Yayım tarihi: 2010/02/18 Etiketler: animasyonlu tabela, jal, jal led, led reklam, led tabela, led uygulamaları, microchip pic projeleri, PIC16F877 örnekleri, reklam tabelası
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: https://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
ben bd 241 kullandım ve beyz seri yol direnci 4,7 k ile 10 k arası kullanabilirsin. eğerki yazı karakteriçok büyükse bu direnci 220 ohm a çekersin BD 241 3A akım gfeçirebilen npn transistördür. Bu yazıdaki büyük panonun tamamı ışık veriyorken 1A yakın akım çekiyor. Yani siz BD241 kullanırsanız her hangi bir sorun yaşamazsın. Ledleri yazıda bahis ettiğim gibi 5 led seri ve bu serilenmiş ledleri ise paralel bağlayarak karakter oluşturmalısın. Aksi taktirde akım yükselmekte ve transistör maliyeti yüksek olmakta
usanmadan bilginizi benimle paylaştığınız için sonsuz teşekkürler sizin gibi insanları Allah başımızdan eksik etmesin.
Merhaba Aytaç abi ben end. meslek 11.sınıfa gidiyorum bu devreden yapmak istiyorum yukarda geçen bazı kelimeleri anlamıyorum abi anlıyacağım dilden biraz bahsedermesin en önemlisi harf dizilimini nasıl yaptın biraz bahsedermisin şimdiden teşekkür ediyorum
teşekkürler gerçekten hevesleniyorum aytaç yaptıklarını görünce.
merhaba
paylaşımınız için teşekkür ederiz
hocam projeniz bir harika bu proje de harf sayısını arttırmak için nerelerde değişiklik yapmamız gerekli?
öncelikle devresinde.. pic kanalları yetmeyebilir.. port çoklaman bile gerekeblir.. daha sonra devreye uygun programın tekrar yazılması lazım.. hangi dilde olduğu önemli değil..
kolay gelsin..
teşekkür ederim hocam port çoklama işini bilmiyorum pic işinde acemi olduğum için kısa bir örnekle açıklarsanız memnun olurm………saygılar………….
Arkadaşlar yazımı okuduysanız bu tasarımı ilgilenen arkadaşlara sadede örnek olması amacı ile yayınladım. PIC devresi 14 harf için hazırlanmıştır ve eksik yada fazla harfli tabelada kullanılamaz.Ben port genişletme işini 74hc595 kullanarak yazılımsal spı(seri haberleşme) kullanarak yapıyorum ve en fazla 20harflik bir tabela yaptım daha uzunu amaç dışı kalıyor. İsteyenlere 3a lik kanal sürebilen kart yollayabilirim. [email protected] dan ulaşabilirsiniz.
Öncelikle ellerinize sağlık, paylaşım için teşekkürler.
Güç kaynağı kaç amperlik kullandınız ?
Tabela yaparken tabela boyutlarına göre adaptor amperi değişiyor.
Ama pratik olsun bir bilgi vereyim yukarıda anlattığım tabela bilgilerine göre yapılmış bir tabelaiçin her 150 led yaklaşık 1A AKIM ÇEKER. buradan basit hesaplamalar yapabilirsiniz.
Akım hesabına gelince her 3lü seri led 20mA akım çeker.
I=3lü bağlı led kolu*20mA.
plastik mukavvayı nerden bulabiliriz
öncelikle Selamün Aleyküm transistörün emitörüne 10k bağlamışsınız bu LED’in parlaklığını etkilemez mi?
@Mustafa: 10Klık direnç Beyz yolundadır. emiterde değil. Bu sebeple parlaklığı çok fazla etkilez
ben led tabela işini her aksamıyla öğrenmek istiyorum yardımcı olabilirmisiniz
Hi,
The circuit uses 16F877 but the source code is for F84?
Where can I find the source of F877?
BR
ben transistorleri bd 530 diye okuduysam pnp transistor demektir.E devre npn gerektiriyor? Ben mi yanlış okudum acaba?
Can somebody tells me what this code means?
delay_10ms (4) — 50ms bekle
What I understand is a 10ms delay but (4) if for what?
TIA