Yazar @recep Tübitak Bilim ve Teknik dergisinde Kendimiz Yapalım köşesinde yayınlanan LED’lerle Havaya Yazı Yazma devresinin gerçekleştirilmesi. Aşağıda projenin sitesinden alıntı yapılmıştır kaynak yazı http://www.biltek.tubitak.gov.tr/gelisim/elektronik/9.htm
LED’lerle Havaya Yazı Yazma
Günümüzde karmaşık işlevlere sahip elektronik sistemlerin çoğu, mikro denetleyiciler kullanılarak tasarlanıyor. Kolayca programlanabilmeleri, fiyatlarının ucuz olması ve harici donanım gereksinimlerinin az olması nedeniyle mikro denetleyiciler elektronik alanında önemli bir yere sahipler. Örneğin, Microchip firması tarafından üretilen PIC serisi mikro denetleyiciler, piyasada en çok tercih edilen programlanabilir entegrelerin başında geliyor. Bu entegreler 8, 18, 28 veya 40 bacaklı olarak pek çok tipte üretiliyor.
Bunlardan 16F8X serisi PIC mikro denetleyiciler, 18 bacaklı olup flash bellek teknolojisine sahip. Bu teknoloji sayesinde entegreye yüklenen program istendiği zaman kolaylıkla silinebiliyor ve entegre yeniden programlanabiliyor. 13 adet giriş-çıkış portu (Port A ve Port B) çoğu uygulama için yeterli sayıda. Entegreyi programlamak için assembly dilinin yanı sıra BASIC veya C gibi yüksek seviye diller de kullanılabiliyor. Piyasada PIC mikro denetleyiciler ile ilgili pek çok kitap bulunuyor. Ayrıntılı bilgiler bu kitaplardan öğrenilebilir [1].
Bu yazıda, PIC16F84A adlı mikro denetleyici ve 8 adet LED kullanarak havaya yazı yazan bir elektronik devrenin yapımı anlatılıyor. Bu devre sayesinde 8-10 karakterden oluşan herhangi bir metin havada oluşturulabiliyor.
Devre Şeması
Şekil 1’deki devre şemasından görüldüğü gibi PIC16F84A mikro denetleyicisinin Port B çıkışlarına 8 adet LED ve dirençler bağlı. 4MHz’lik kristal ve 22pF’lık iki kondansatörden oluşan osilatör devresi PIC’in çalışması için gerekli saat darbelerini üretiyor. Devrenin beslemesi ise 9V’luk bir pil ve 5V’luk bir regülatör devresi ile sağlanıyor.
Gerekli malzemeler
- 1 adet PIC16F84A mikro denetleyici
- 1 adet LM7805 gerilim regülatörü
- 1 adet 4MHz kristal
- 1 adet buton
- 1 adet anahtar
- 1 adet 100nF kondansatör
- 2 adet 22pF kondansatör
- 1 adet 4.7k direnç
- 1 adet 1N4148 diyot
- 8 adet parlak mavi LED
- 8 adet 100 ohm direnç
- 1 adet 9V pil ve pil başlığı
- Bakır plaket veya delikli pertinaks
Çalışma mantığı
Devrenin çalışması göz yanılması prensibine dayanıyor. Bilindiği gibi göz, periyodik olarak tekrarlanan olayları durağanmış gibi algılar ve tekrarlar arasındaki süre yeteri kadar kısa ise kırpışma etkisini fark edemez. Örneğin 1 saniyede 50 kez yanıp sönen bir lamba sürekli yanıyormuş izlenimi verir. Aynı şekilde televizyon sistemlerinde resim tekrarlama frekansı yeteri kadar yüksek seçildiğinden resmin hareketi sürekli olarak algılanır. Gözün bu yanılma özelliği, birkaç adet LED ile havaya yazı yazma imkanı da sağlar.
Şekil 1’de görülen elektronik devre oldukça basit bir donanıma sahip olmasına rağmen devrenin çalışabilmesi için PIC mikro denetleyiciye bir program yüklenmesi gerekiyor. Yüklenen programın yaptığı iş, havada yazdırılacak karakterlere göre 8 adet LED’i yakıp söndürmek ve zamanlamayı ayarlamaktan ibaret. Program doğru olarak PIC’e yüklendikten sonra LED’ler hızlı bir şekilde sağa-sola hareket ettirildiğinde yazının havada oluşması sağlanıyor. Kısaca, sistemin çalışma mantığı, PIC’den gönderilen 8 bitlik sütun bilgisi ile hangi anda hangi LED’lerin yanacağını ayarlamak şeklinde özetlenebilir.
Program yazmaya geçmeden önce havada yazılacak harflere (veya karakterlere) göre sütun bilgilerinin elde edilmesi gerekiyor. Bunun için kağıt üstünde birkaç çizim yapmak lazım. Örneğin şekil 2’de, A, B, C harflerini oluşturmak için 8 LED’den hangilerinin yanması gerektiği zaman adımına bağlı olarak gösteriliyor.
Şekilden görüldüğü gibi her bir harf, 8 satır ve 5 sütundan oluşuyor. Harfler arasında da 1 boş sütun bulunuyor. Bu mantığa göre havaya 8 harften oluşan bir yazı yazmak için toplam 48 adet sütun bilgisi gerekli. Yani PIC mikro denetleyicinin 48 adet sütun bilgisini uygun zaman
aralıklarıyla porttan gönderecek şekilde programlanması gerekiyor.
Sütun bilgilerinin nasıl elde edildiği şekil 3’de ayrıntılı olarak görülüyor. Örneğin A harfine ait sütun bilgilerini elde etmek için yapılması gereken işlem, sönük haldeki LED’lerin yerine 0 rakamını, yanan LED’lerin yerine de 1 rakamını yazmaktan ibaret. Bu durumda her bir sütun için 0 ve 1’lerden oluşan 8 bitlik bir sayı elde edilir.
Bu sayı 16’lık (hexadesimal) tabanda yazıldığında sütun bilgileri elde edilmiş olur. Örneğin A harfi için ilk sütundaki 8 bitlik 11111100 sayısının 16’lık taban karşılığı 0xFC’dir. Aynı şekilde son sütundaki 00000000 sayısının 16’lık taban karşılığı da 0×00’dır. Burada 0x sembolü sayının 16’lık tabanda olduğunu gösterir. Bu şekilde bütün harfler için sütun bilgileri kolaylıkla elde edilebilir.
Yapım aşamaları
Havaya yazı yazma devresi her ne kadar basit olsa da, devrede PIC mikro denetleyici bulunması işlem sayısını arttırıyor. Devrenin yapım aşamaları sırasıyla aşağıdaki gibidir.
- 1- PIC’e yüklenecek programı yazma (PIC C ile)
- 2- Hex uzantılı dosyayı oluşturma
- 3- Programlama kartı yardımıyla hex dosyayı PIC’e yükleme
- 4- Devre şemasına göre baskı devre kartını yapma
- 5- PIC’i karta yerleştirip devreyi çalıştırma
PIC C Programı
C dilini kullanarak program yazmak assembly diline göre oldukça basit olduğundan C dili daha çok tercih ediliyor. Günümüzde PIC mikro denetleyiciler için yazılmış pek çok C derleyicisi bulunuyor. Bunlardan Hi-Tech firmasının ürettiği “PIC C Lite” adlı derleyici http://www.htsoft.com internet sayfasından ücretsiz olarak indirilebiliyor. Demo sürümünün bazı kısıtlamaları olsa da üst düzey programlar yazmak için bile yeterli özelliklere sahip. PIC C derleyicisinin kullanımı hakkında ayrıntılı bilgiler konuyla ilgili kitaplardan edinilebilir.
#include#include main(void) { unsigned int i; unsigned char dizi[]={ 0xFF,0x02,0x0C,0x02,0xFF,0x00, // M 0xFF,0x89,0x89,0x89,0x81,0x00, // E 0xFF,0x11,0x31,0x51,0x8E,0x00, // R 0xFF,0x10,0x10,0x10,0xFF,0x00, // H 0xFC,0x12,0x11,0x12,0xFC,0x00, // A 0xFF,0x89,0x89,0x89,0x76,0x00, // B 0xFC,0x12,0x11,0x12,0xFC,0x00, // A 0x00,0x00,0x00,0x00,0x00,0x00 // Bosluk }; TRISB=0; for(;;){ for(i=0;i<48;i++){ PORTB=dizi[i]; DelayMs(1); // 1ms bekle } DelayMs(48); // 48ms bekle } }
Yazılan C programından görüldüğü gibi programın başında 48 elemanlı bir dizi tanımlanıp gerekli sütun bilgileri yazılıyor. Örneğin bu programda MERHABA kelimesi için gerekli sütun bilgileri bulunuyor. Farklı bir kelime için bu bilgileri değiştirmek yeterli. Programın devamında bir for döngüsü içerisinde dizinin her bir elemanı sırayla Port B’ye gönderiliyor ve 1ms’lik bekleme süresinin ardından dizinin diğer elemanı Port B’ye iletiliyor. 48ms sonunda dizinin bütün elemanları sırayla porttan gönderildiğinden sonsuz döngü ile program başa dönüyor. Programın başa dönmesinden önce 48ms’lik bir bekleme süresi daha bulunuyor. Bu bekleme süresinin amacı kolun soldan sağa hareketinde LED’leri sönük halde tutmak, sağdan-sola harekette ise havada yazıyı oluşturmak.
Hex dosyayı oluşturma
Yazılan C programı uygun şekilde derlendiğinde hex uzantılı bir dosya oluşur. Derleme işleminin ayrıntıları yine PIC C ile ilgili kitaplardan öğrenilebilir. Oluşturulan hex dosyanın PIC’e yüklenmesi ile mikro denetleyicinin istenen şekilde çalışması sağlanır.
Programı PIC’e yükleme
Hex dosyayı PIC’e yüklemek için bir programlama kartı gerekli. Piyasada çok çeşitli tiplerde programlama kartları mevcut [3]. Bu kartların bazıları bilgisayarın seri veya paralel portunu kullanırken bazıları da USB portunu kullanıyor. ICPROG adlı yazılım ise programlayıcı kartın bilgisayarla iletişimini sağlıyor. ICPROG yazılımı http://www.ic-prog.com internet adresinden ücretsiz indirilebilir. Bu programın kullanımı hakkında ayrıntılı bilgiler PIC ile ilgili kitaplardan öğrenilebilir.
Baskı devre yapımı
Devre az sayıda eleman içerdiğinden baskı devre kartı kolayca yapılabilir. Devre elemanları
delikli pertinaks üzerine dizilerek montaj yapılabileceği gibi, baskı devre yapım tekniklerinden biri kullanılarak daha profesyonel bir kart oluşturmak da mümkün. Şekil 5’de baskı devre kartı görülüyor. Kartın eni 3.5cm, boyu ise 20cm civarında. PIC16F84A entegresini baskı devre kartına lehimlemek yerine 18 bacaklı bir entegre soketi kullanmak gerekiyor. Bu sayede PIC’i yeniden programlamak gerektiğinde entegre kolayca yerinden sökülebilir.
Devreyi çalıştırma
Programlanan PIC mikro denetleyici, 18 bacaklı entegre soketi üzerine yerleştirildikten sonra devre üzerindeki anahtar kapatılarak devre çalıştırılır. Bu esnada 8 adet LED’in kısa aralıklarla yanıp söndüğü görülür. Havada yazının oluşabilmesi için devrenin şekil 6’daki gibi sağa sola sallanması gerekiyor. Okunabilir bir yazı elde etmek için devrenin hangi hızda sallandığı çok önemli. Eğer devre uygun hızda sallanmazsa düzgün bir yazı elde etmek mümkün olmaz.
Zamanlama sorunlarını gidermek için devre üzerindeki reset butonuna bir kez basmak ve o anda devreyi sallamaya başlamak iyi sonuç verir. Daha uygun bir çözüm ise kart üzerine bir eğim sensörü (tilt sensor) yerleştirerek kolun hareketini önceden algılamak ve sütun bilgilerini o anda başlatmak olabilir.Şekil 7’de devrenin uygun bir hızda (örneğin saniyede 8-10 kez) sağa-sola sallanması durumunda havada oluşan yazı görülüyor. LED’ler parlak olduğu halde gün ışığında yazıyı fark etmek
zor olabilir. Bu nedenle devreyi çok fazla aydınlık olmayan bir ortamda çalıştırmak daha iyi sonuç verir.
Devre, elle sallanarak çalıştırabileceği gibi bir DC motorun miline bağlanarak sürekli döndürülebilir de. Bu durumda yazının havada hep aynı yerde oluşması için motorun devir sayısını uygun şekilde ayarlamak gerekir. Bunun yerine, mıknatıs ve reed anahtardan oluşan konum algılama sistemi kullanmak daha iyi sonuç verir (Reed anahtar: Harici manyetik alandan etkilenerek kontağı kapanan bir anahtar türü).
Buna göre, devre üzerine yerleştirilen reed anahtar, mıknatısın önünden geçtiği anda PIC programı bu geçişi algılar ve sütun bilgilerini göndermeye başlar. Böylece havada sabit bir görüntü elde edilir. Şekil 8’de devrenin motor miline bağlanarak çalıştırılması durumunda oluşan yazı görülüyor.
15 harften oluşan (2’si boşluk) Bilim ve Teknik yazısını elde etmek için gerekli 90 adet sütun bilgisi şekil 9’da dizi olarak görülüyor. Yazıyı havada oluşturmak için bu yeni dizinin PIC C programında tanımlanarak mikro denetleyicinin yeniden programlanması gerekiyor.
*Fırat Üniv. Elek-Elektronik Müh. Bölümü
Projenin kaynak kod dosyaları ve proteus ares pcb çizimi;
Şifre-Pass: 320volt.com
Yayım tarihi: 2008/03/10 Etiketler: havada yazı, led uygulamaları, microchip pic projeleri, PIC16F84 örnekleri
Bir gün yapacağım şu projeyi ya cok hoşuma gidiyor..
Benim aklıma takılan bu devreye havada saat projesini yüklesek pic’e acaba calışırmı??
Ben de yapmıştım bundan bayağı bir değiştirdim ama 2 renkli yaptım ben çok güzel bir devre.
gerçekten harika bir devre hakikaten müthiş.!!!!!!!!!!!!
abicim ben yaptım fakat hex dosyası oluştururken şoyle bir hata verdi bu nedir ve nasıl çözüm bulunur.
Hata:can’t open include file “delay.c”:
Lütfen yadım
kardeşim tanıtman gereken dosyaların olduğunu söylüyor programı tekrar gözden geçirmen gerek istersen programı bana gönder yardımc [email protected] …….
hocam yapılan bu devrede elle sallamak yerine dc motor olayını nasıl halledebiliriz veya bunun diğer yöntemleri ile lgili bağlantıları hakkında bilgi verebilirmisiniz.
iyi günler…
“”Proteus ile hazırlanmış PCB (.LYT) dosyasını buradan
indirebilirsiniz””
Arkadaşlar link çalışmıyor ilgilenirseniz sevinirim…
Arkadaşlar bir sorum olacaktı.Peki havada uzun bir yazı yazdırmak istersek zaman aralıkları nasıl olacak.Mesela TÜRKİYE CUMHURİYETİ yazdırmak istiyorum.Zaman aralıkları nasıl olabilir yardımcı olursanız sevinirim…
Bende yukarıdaki resimdeki Animasyonu Ledleri ile yapmak istemiştim düşün taşın PIC olmadan bu iş zor dedim 😀 oylece kaldı tabiki biraz daha sade olarak yapacaktım
Seninki zormuş be abi 🙂 Bana Normal yazı yazması yeterli olacak…
“hocam yapılan bu devrede elle sallamak yerine dc motor olayını nasıl halledebiliriz veya bunun diğer yöntemleri ile lgili bağlantıları hakkında bilgi verebilirmisiniz.
iyi günler…”
normalinde dc motor baglanıyor ama benim dc motorum o kadar guclu olmadıgından dolayı elle sallayarak fotograf cektim . eger guclu bir motorunuz varsa elinizde devreyi oraya baglayın devre ne kadar hızlı donerse yazı o kadar iyi gozukur . kolay gelsin
arkadaslar devre tasarım olarak tamam fakat birtek hex dosyasında hatalar veriyor yukleyemdim deli olacam yarıdm edin.sunu nasıl yukleyelim pic e.ve hata veriyor yukardaki arkadaslardan biride aynı sorunu yasamıs yardımmmm
hex kodunda hatalar var:(.Düzeltip yeni link veririseniz sevinirim 🙂
Hex kodu oluşturuken hata olmasına sebep PIC yükleme devrenizin pc ile haberleşememesidir.Buna sebep kesinlikle elektronik bir sorun olmasıdır.(örneğin portun yanlış seçilmesi yada Run /Load anahtarı ters konumda olması olabilir).
Hex kodda hata var diyebilmek için devreyi farklı hızlarda salladığınız halde okunması gereken yazının görülmemesi gerekir.
Yazıyı net görebilmek içinde daha hızlı sallamakla ilgisi kısmen yoktur(örneğin saniyede 5 kez sallamak gerekiyorsa 13 kez sallamak görüntünün net olmasını sağlamazken 10 kez sallamak daha net bir yazı oluşmasına sebep olur.Olay tamamen bir senkronizasyonla alakalıdır zaten yazının orjinalinde bundan bahsedilmektedir.
Devreyi motorlu bir sisteme bağlayarak ta aynı sonuca olaşabilirsiniz ancak devir ayarınının geniş bir aralık için yapılması gereklidir.
Kolay gelsin
Bu sorunun başka bir ihtimalide bu yazının dosyaları içindeki “Açıklama” linkine tıklayınca gelen gelen resimlerden herhangi bir adımında farklı bir işlem yapılması yada en son resimdeki Hex kodun oluşturulduğu klasör yolu ile(Path de)Pic e yükleme sırasındaki path in farklı olmasıdır.
Evet buradaki deneyi ben yaptım, ama havaya yazı yazdıramadım ama pic’e propoler saat yazılımı yükledim dönerken saat çıkıyor…
derlemenin hatasız tamamlanıyor fakat drleme sonrasında oluşan hex dosyası çok kısa oluyor. sizin verdiğiniz gibi değil. sorun ne olabilir
İbrahim
Burada verilen Hex dosyadaki yazı belkide uzun bir yazıdır(Yani belki “Bilim ve Teknik” yazıyordur.Ayrıca önemli olan, onun kısa olması yada uzun olması değil PIC e yüklenmesi gereken o kodun çalışmasıdır.
Pice yüklerken hata veriyor diyen arkadaşlar için(Can not open …hata mesajı için )
Başka bir blog da,
Alıntı:
kütüphanedeki delay.c dosyası yok galiba yada bozulmuş olabilir.
bu iki dosyayı derleyici klasörünün içine atarsan sorun kalmayacaktır…
http://www.cs.ucr.edu/~eblock/pages/pictools/ex/rx/delay.c
http://www.cs.ucr.edu/~eblock/pages/pictools/ex/rx/delay.h
böyle bir cevap var
Kolay gelsin
Ayrıca bu yazının kaynağı
bu yazıyı sabitlemek için ne yapmamız gerekiyor,
motor aynı hızda dönmüyor sürekli ve yazıda bazen hızlı bazen yavaş ileri geri hareket ediyor
burada bulunan dönem projeleri arasında (M_Ali_Ulucan.doc) bahsedilen devre kullanılmış yapım aşaması ve karşılaşılan durumlar açıklanmış işinize yarayabilir
Yapacak arkadaşlara başarılar.Yazıyı bir motor üzerinde de rahatlıkla yapabilirsiniz.Sadece balans ayarının çok düzgün olması gerekiyor.Yani bütün devre plaket üzerinde veya besleme hariç sadece devre döner olarak yapılıyor.Ben besleme gerilimini bir fırça yardımıyla verdim(sadece + ,- yi de motorun şasesinden verdim fakat dikkat edilmesi gereken motor gerilimi ile devre gerilimi birbirinden ayrı tutulmalı (devreye +5v.)motora da lm 317 ile ayarlı gerilim verirseniz daha iyi sonuç alınıyor.Yazıyı sabitlemek için de reset butonu yerine manyetik kontak (reed röle)kullanılmalı tabi o da devreye sabitlenecek,dönme anında onun tam karşısına kuvvetli bir mıknatıs konacak .Mıknatısın yeri değiştirilerek yazının pozisyonu ayarlanıp sabitlenecek.Bu şekilde çok iyi sonuç alınıyor.Bilhassa bisiklet tekerinde sadece yazı değil değişik şekiller de yapılıyor.Gece karanlıkta çok ilgi çekiyor.
Arkadaşlar tamam her şeyi anladım ama şu reed röle ve mıknatıs olayını bana anlatın allah rızası için gezmediğim form kalmadı msn adresim var yardımcı olursanız sevinirim…
Reed role için: http://www.eproje.com/modules.php?name=News&file=article&sid=188
Türkiyedeki forumların büyük bir bölümü: saçma sapan “Linki görebilmek için üye olmanız gerekir” gibi cümlelerin ve nerdeyse her sayfada onlarca banner ın bulunduğu,bir yazıyı (yada resimleri) bir forumdan alıp ,diğer 99 forumun sırayla paylaştığı yerler.
Dostum teşekkürler… olayı çözdum sağolasın…
slm arkadaşlar yukarıdakı projeyle ilgili bi sorum olacaktı ben pıc ı programlarken ‘programlanıyorken hata oluşan kod adresi 0000h ! ‘neden bunu yapıyor her denememde acaba yardım edersenız sevınırım
Selam arkadaşlar 🙂
Projeyi beğendim size bir şey soracam bu projenin asm kodu mevcut mu elinizde
bir de bu havada yazımızı nasıl kaydırırız ilan panolarındaki gibi sağdan sola doğru yazıları nasıl göndeririz bu konuda yardımcı olabilecek birileri var ise çok iyi yada banamail atabilirse bu projeyi yapacağım Şimdiden Teşekkürler 8)
satılıyor http://www.havadayazi.com adresınde
Bu proje çok güzel bir şey çalıştı tabiki nevşehirde lider olacağız inşallah. Herkese teşekkürler
endüstriyel elektronik öğrencisiyim son sınıfım bitirme ödevi olarak bunu verdi hocamız bakalım yapabilecekmiyiz bu projeyi siteye sunan arkadaşlara teşekkürler.
s.a lise 2 ögrencisiyim .. öncelikle güzeL bir devre ve ben bunu beğendim ve herşeyini yaptım herşey tmm ama PIC prog.’lama kaldı bir tek ve onuda herşeyini yaptım derken ….
“delay.c” sorunu veriyor sürekli bir anlam veremdim yorumlara baktım buradan .. pek bir açıklama yok .. sorunla karşılaşanlar var .. bi öneri olmuş dosyaları değişin diye değiştim ama olmadı ..
tekrar’dan s.a
baya uğraştım ve sorunu buldumm. artık o sorun kalktı ama bu seferde kod’lar doğru olmasına rağmen kodlarda hata vermeye başladı bir türlü anlayamadım sürekli kod hataları veryor .. çıldıracağım nerdeyse .. 🙁
Arkadaşlar bu devreyi bende yaptım fakat ben yazıyı sabitleyemedim ama röle gibi birşey var her halde eğer sabitlemeyi bilen arkadaşımız varsa [email protected] adresine mail atabilir mi
😀 bu devreyi havada sabitlemenin tek yolu motorun dönüş hızını hesaplayıp onu bir PWM devresi ile dönüşü belirli bir hıza almaktır
diğer bir yöntemde kullandığın motoruna uygun voltajda everji ver devren çalışırken hangi voltaj seviyesinde yazı sabitlenmiş ise o vaoltajda regüleli bir ğüç kaynağı ile sür motorunu (ama bu yöntem pek sağlıklı olmaz motor fazla akım çekebilri belirli bi süreden sonrada yanar )
en akılcıl yöntem pwm ile hızı sabitlemektir. 8)
kolay gelsin ben çift renkli ledlerle yapmıştım çok güzel çalışıyor.:)
slm arkadaslar entegrenın içine atacagımız c kodunu yapamadım eger hazı olan bı kod varsa paylasırmısınız ben onun içindeki isimleri degıstırerek kendı adımı yazayım böyle bısey olabılırmı?
kardesim biltek tübitak sitesinde adamlar vermişler sen ordan kendine göre uyarla bende ordan esinlendim yaptım inşallah en kısa zamanda yazıyı sabitleyeceğim o kolay aslında ama işte işlereden başımızı alanıyoruz ordan sen ordan istedigin şeyi yazabilirsin ama harflerin hex kodlarını çıkar ilk önce sonra harfin bir kısmını yaz bi bekleme delay_ms koy butun harfler bitince, harflerin arasında toplam ne kadar delay ms koyduysan eğer en son o delay ms yi koy yani atıyorum A karakteri 5 satır genişlğinde olacak ve 1. satırdan sonra delay_ms 1 , 2. satırdan sonra delay_ms 1 böyle böyle koyacaksın bütün harflerin arasına delay ms koyduktan sonra en son kaç delay ms koyduysan en sonunda toplamı kadaar koyacaksın inşallah yaparsın güzel bir çalışma görüşmek üzere
çok tesekkur ederım kardesım …. yapmaya calısacagım
Nice looking LED effect.
#include
#include
main(void)
{
unsigned int i;
unsigned char dizi[]={
0xFF,0x02,0x0C,0x02,0xFF,0x00, // M
0xFF,0x89,0x89,0x89,0x81,0x00, // E
0xFF,0x11,0x31,0x51,0x8E,0x00, // R
0xFF,0x10,0x10,0x10,0xFF,0x00, // H
0xFC,0x12,0x11,0x12,0xFC,0x00, // A
0xFF,0x89,0x89,0x89,0x76,0x00, // B
0xFC,0x12,0x11,0x12,0xFC,0x00, // A
0x00,0x00,0x00,0x00,0x00,0x00 // Bosluk
};
TRISB=0;
for(;;){
for(i=0;i<48;i++){
PORTB=dizi[i];
DelayMs(1); // 1ms bekle
}
DelayMs(48); // 48ms bekle
}
}
bunu pic c lite derleyicide derlemeye calışıyorum 19 tane hata veriyor hata burda nerde? sizce ya da bunun hex kodlarını nasıl alabilirim ya da mesela merhaba değilde güle güle yazacağım nasıl yazabılırım c++ dilini yazmayı bilen varsa lütfen yardım etsin hayat memat meselesı
aynen katılıyorum bu arkadaşa aynı sorunları bende yaşıyorum :S lütfen yardımcı olun ya hayat memat meselesi :s
arkadaşlar eğer PC CCSc derleyicisi olan PICC yüklü ise kaldırın
ve picc lite korun..
böylece sorunsuz bir şekilde derleyebilirsiniz
derleme algoritması için aşağıdaki linke tıklayınız
http://www.biltek.tubitak.gov.tr/gelisim/elektronik/dosyalar/9/aciklama.JPG
kaynak: bilim teknik dergisi\yavuz erol
#include <pic.h>
#include <delay.c>
kodlarında sorun vardı kaynak kod ile tekrar deneyin
derlediğimde böyle oluyor
@li arkadaşım aynı hata bende de vardı hallettim. yapman gereken şey şu. Samples klasörünün içinde Delay klasörü var. burda delay.c ve delay.h isimli 2 dosya var bunlar kopyalayıp İnclude klasörüne yapıştırıyosun. bu kadar..delay c hatasını görmiyeceksin. kolay gelsin..
ben başka yolla hallettim
yinede sağol
sizin çözümünüz nedir acaba ?
bunu başka yerden buldum kendi ismimi yazıp derledim acemiler için daha basit bir şey
benimde projem var ama en az 10 kelime yazmam gerekiyor malzemeler aynı mı ? sadece program mı değişiyor acaba bir de 16f84 mü daha iyi 16f628 mi daha iyi olur bu devre için
yardımcı olursanız sevinirim
Derliyorum
undefined ideundefined TRISB
undefined ideundefined PORTB bu hataları veriyor 1 haftadır uğraşıyorum lütfen yardım edin
derleyicini sil bir daha yükle olmazsa msn ni ver
ben sana derliyim
[email protected]
merhaba proje güzel ama çalıştıramadım baskı devre de sorun mu var resim de görülen gibi değil 3 gündür uğraşıyorum …
hi
i make this proje and copy hex to ic ….
no work is problem hex and c file
please help me
alternative codes;
http://www.biltek.tubitak.gov.tr/gelisim/elektronik/dosyalar/9/HAVA.C
http://www.biltek.tubitak.gov.tr/gelisim/elektronik/dosyalar/9/HAVA.HEX
Amin
if your problem is same error in page 3’s last comment screen view .You must copy Delay.c and Delay.h files (under the samples/Delay directory) than past to “include” directory this 2 file
Regards
Flatron
hi
thank you for answer
my problem is hardware
when touch pin 16 ic (cryxtal pin) circuit work
when no tuoch pin 16 not work circuit?!!!!!!!!!!
and
.
.
my compiler is ccs for pic .C file not work in CCS compiler
please help
error TRISB and PORTB!!??
i Replacement cryxtal and microcontroler and cap not work???
work only touch pin 16 (pic16f84a) ?
hi
im very very happy
im find problem
me program with rc mod change to xt mod my circuit is work
thank
just my problem is
my compiler is ccs for pic .C file not work in CCS compiler
please help
error TRISB and PORTB!!??
hi
projects were “PIC C Lite” ccs c not work
try the ccs c version;
https://320volt.com/wp-content/uploads/2010/08/led-pow-ccsc.zip
birisi bana o programı atabilirmi
thank you very much gevv
your web site is the best best best of the world.
thanks
hi
How much RPM Motor for the best work ?
I do not know. toy car might be motor
sample ;
http://hotfile.com/dl/61387367/52689a2/circuit-images.rar.html
Selam ben Kemal
Havaya Kemal ismini yazmak istiyorum
bu kod doğrumu acaba ?
Selamün Aleyküm Arkadşlar. Benm bir sorum olacak bu devrede tek buton var ve tek yazı yazıyor ben buna 2. butonu bağlarsam 2 sefer yazı göstersin bu devrenin baskı devresi nasıl olacak yardımcı olabilirmisiniz.
Selamün Aleyküm arkadaşlar devreyi çevirmek için kullanılan motor hakkında bilgi verebilirseniz sevinirim. Şimdiden sağ olun.
arkadaşlar bunu hex koduna çevirebileniz varmı ? bende cannot open include file ”delay.c” hatası veriyor yapmamız gereken ne ?
Sercan;
Samples klasörünün içinde Delay klasörü var. burda delay.c ve delay.h isimli 2 dosya var bunlar kopyalayıp İnclude klasörüne yapıştırıyosun. bu kadar..delay c hatasını görmiyeceksin. kolay gelsin..
hocam elinizde bu devrenin pic basic ile yazılmış bir örneği mevcutsa yayınlarsanız çok memnun oluruz. bu projemizi 3 mayıs ta düzenleyeceğimiz fuarımıza koymayı düşünüyoruz fakat c dilinde çeviri yapamıyoruz asm veya pic basic varsa elinizde..
devreyi kullanacağımız motorun devir sayısı ne kadar olmalı acaba !!!
merhabalar herkese.ben 16f84 ile havaya yazı yazmak istiyorum fakat assembly diliyle yazmam lazım.bulamadım bana yardımcı olurmusunuz cumaya teslım etmem gerekıyor
[email protected] derleyeci hex dosyasını kayıt edmiyor yardım ederseniz çok sevenirim
arakadşlar dc motorla hep aynı yönde hızlı bir şekilde döndürsek yazı çıkarmı
bunlarda benden size örnekler..
buda benim ismim ..xD
harfleri değiştirip attığımda olmuyor hex dosyası istiyor hex dosyasını oluşuramıyorum yardımcı olabilicek var mı ?
arkadaşlar yazıyı
D.E.Ü-İ.M.Y.O yazmak istiyorum yardımcı olurmusunuz..
güzel bir proje ama birşey sormak istiyorum. Devreyi motor yerine elle sağa sola sallayarakta bu sonuca ulaşabilirmiyiz?
bahadır ben yaptım aynı devreyi ve elle salladığımız zaman yazılar belli olmuyor onun için motor daha iyi
bitirme projesi için ben bu devreyi yapıcağım ama pili devreye koymayıp motora direk bağlıcağım nasıl yapa bilirim
hocam devreyi doğum günü hediyesi için yaptım sadece programlaması kaldı yapamıyorum acil ulaşırmısın bana xacahin@hot
Hocam devreyi yaptim ama boştaki 3 bacaga parmagımı bastırmayınca çalışmıyor (pdf deki devreyi yaptım) bence topraklamda sorun var ne yapmam gerek
bu devreyi 3 defa yaptım çalışmadı acaba hex dosyasından mı kaynaklanıyor
hocam ben hasan yazmak istiyorum yardımcı olur musunuz
Devreyi yaptım gayet güzel çalışıyor hiç bi sorunu yok. Yazıyı http://rapidshare.com/files/287208026/pic16f84-havada-yazi.rar burda ki hexi kullanarak yazdım. merhaba yazıyor.
baskı devrenin şemasını bilen varsa yardımcı olabilirmi acaba ?
kaç devirlik bir motor kullanmak gerekir .
ben saç kurutma makinesi motorunu kullanıyorum gayet iyi çalışıyor ama sağlam monteleminiz gerekiyor elle tutmak çok zor pilde devrenin üstünde bant ile yapıştırdım
bu devreyi istediğimiz yazıyı yazacak şekilde yapıp satan varmıdır?
Merhabalar ben devreyi yaptım fakat motorda sıkıntı yaşadım motor yavaş dönüyor biraz galiba yazılar okunmuyor acaba nasıl bir motor kullanalım yarın motor alacağım sizce nasıl motor almalıyım ? Berat Bey dilerseniz devreyi ben size yapabilirim isminizimi yazacağız devreye ?
24V DC motor kullanabilirsin
saç kurutma makinesi moturunu kullandım gayet yazılar net çıkıyor saç kurutma makinesi motorunu tavsiye ederim
Merhabalar, devreyi anlatıldığı şekilde kurdum, hex dosyasını v.s. yükledim fakat devre sadece 4Mhz kristalin entegrenin 15. bacağına giden bacağı ile 100nF kondansatörün pozitif ucu arasına parmağımı dokundurduğumda ledler yanıp sönüyor. 22pf kondansatörü değiştirdim durumda değişme olmadı. bu iki ucu kısa devre yaptım, yine aynı durum devam etti. bçyle bir durumla karşılaşan var mı? ne yapabilirim?
Adem kardeş aynı sıkıntı bende de var bir çözüm buldun mu yardımcı olursan sevinirim. Yada bu sorunla ilgili bilgisi olan başka arkadaşlar varsa bir yardımcıi olurlarsa çok makbule geçer.
Ben birşey soracaktım o motor nasıl yapılıyor o dönen sağa sola
Adem kardeş aynı sıkıntı bende de var , bir çözüm buldun mu? beni de bilgilendirirsen sevinirim.. ayrıca diğer arkadaşların bilgisi varsa onlarında yardımcı olmasını isterim..
Çözüm buldum:) Parmağımı değdirdiğim yeri önce kısa devre yaptım çalışmadı, sonra kısa devreyi ayırır gibi yaptım çalışır gibi oldu ama ortaya birşey çıkacak gibi değildi. Devrede kullanılan 4.7 k dirençten elimde yedek vardı. Parmağımın yerine bu direnci lehimledim, ışıklar yanmaya başladı. Devreyi salladım yazıyı gördüm;) kolay gelsin.
Adem kardeş tam olarak nereye ekliyoruz direnci bir de onu tam tarif edersen daha da birşey istemeyeceğim senden şimdiden çok teşekkür ederim 🙂
Devre şuanda yanımda değil ama yukarıda şekil 1 devre şemasına baktığında entegrenin 14 ve 15inci bacakları arasına 4.7 k direnci bağlarsan olur zannediyorum. ben Lm7805’in 3 nolu bacağı ile 4MHZ kristalin C2’ye giden bacağı arasına bu direnci bağladım. devreyi takip edersen bu iki işlem de aynı hesaba geliyor.
Eyvallah kardeş en yakın zamanda deneyeceğim, sonucu paylaşırım teşekkürler tekrardan..
#include “C:\Documents and Settings\Mekatronik\Desktop\kadir\main.h”
#use fast_io(b)
unsigned int i;
int8 dizi[]={
0xFF,0x18,0x24,0x42,0x81,0x00, // K
0xFC,0x12,0x11,0x12,0xFC,0x00, // A
0xFF,0x81,0x81,0x81,0x7E,0x00, // D
0x00,0x81,0xFF,0x81,0x00,0x00, // I
0xFF,0x11,0x31,0x51,0x8E,0x00, // R
0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,
0xFF,0x04,0x08,0x10,0xFF,0x00 //N
};
void main()
{
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
set_tris_b(0);
while(1)
{
for(i=0;i<48;i++)
{
output_b(dizi[i]);
delay_us(317);
}
delay_ms(17);
}
}
devreyi 12V DC motor ile çalıştırılacak isteyen kendi ismini yazabilir ben KADIR N yazdım o kısmı silin vereceğim matrix harfleri yazın;
0xFC,0x12,0x11,0x12,0xFC,0x00, // A
0xFF,0x89,0x89,0x89,0x76,0x00, // B
0x7E,0x81,0x81,0x81,0x42,0x00, // C
0x3E,0x41,0xC1,0x41,0x22,0x00, // Ç
0xFF,0x81,0x81,0x81,0x7E,0x00, // D
0xFF,0x89,0x89,0x89,0x81,0x00, // E
0xFF,0x09,0x09,0x09,0x01,0x00, // F
0x7E,0x81,0x81,0x91,0x72,0x00, // G
0x7C,0x83,0x83,0x93,0x74,0x00, // Ğ
0xFF,0x10,0x10,0x10,0xFF,0x00, // H
0x00,0x81,0xFF,0x81,0x00,0x00, // I
0x00,0x84,0xFD,0x84,0x00,0x00, // İ
0x60,0x80,0x81,0x7F,0x01,0x00, // J
0xFF,0x18,0x24,0x42,0x81,0x00, // K
0xFF,0x80,0x80,0x80,0x80,0x00, // L
0xFF,0x02,0x0C,0x02,0xFF,0x00, // M
0xFF,0x04,0x08,0x10,0xFF,0x00, // N
0x7E,0x81,0x81,0x81,0x7E,0x00, // O
0x78,0x85,0x84,0x85,0x78,0x00, // Ö
0xFF,0x11,0x11,0x11,0x0E,0x00, // P
0xFF,0x11,0x31,0x51,0x8E,0x00, // R
0x46,0x89,0x89,0x89,0x72,0x00, // S
0x26,0x49,0xC9,0x49,0x32,0x00, // Ş
0x01,0x01,0xFF,0x01,0x01,0x00, // T
0x7F,0x80,0x80,0x80,0x7F,0x00, // U
0x7C,0x81,0x80,0x81,0x7C,0x00, // Ü
0x0F,0x30,0xC0,0x30,0x0F,0x00, // V
0x07,0x08,0xF0,0x08,0x07,0x00, // Y
0xE1,0x91,0x89,0x85,0x83,0x00, // Z
Projenin kaynak kod dosyaları ve proteus ares pcb çizimi: pic16f84-havada-yazi.rar inmiyor
bu devreyi yapan arkadaşlar hex kodu ve c kodu doğrumu doğru değilse yorum atın
sıkıntı yok ben yaptım çalışıyor
admin verdiği hex dosyası ve c kodu dosyası doğru mu?
pic16f84-havada-yazi.rar indiremiyorum hata veriyor
arkadaşlar u kodları derleyemedim yardımcı olurmusunuz
#include
#include
main(void)
{
unsigned int i;
unsigned char dizi[]={
0x07,0x08,0xF0,0x08,0x07,0x00, // Y
0x7F,0x80,0x80,0x80,0x7F,0x00, // U
0x46,0x89,0x89,0x89,0x72,0x00, // S
0x7F,0x80,0x80,0x80,0x7F,0x00, // U
0xFF,0x09,0x09,0x09,0x01,0x00, // F
0x00,0x00,0x00,0x00,0x00,0x00 // Bosluk
0x78,0x85,0x84,0x85,0x78,0x00, // Ö
0xE1,0x91,0x89,0x85,0x83,0x00, // Z
0x07,0x08,0xF0,0x08,0x07,0x00, // Y
0xFF,0x89,0x89,0x89,0x81,0x00, // E
0xFF,0x11,0x31,0x51,0x8E,0x00, // R
0x00,0x00,0x00,0x00,0x00,0x00 // Bosluk
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF // LED YANIK
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF // LED YANIK
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF // LED YANIK
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF // LED YANIK
0x00,0x00,0x00,0x00,0x00,0x00 // Bosluk
0x78,0x85,0x84,0x85,0x78,0x00, // Ö
0xE1,0x91,0x89,0x85,0x83,0x00, // Z
0x07,0x08,0xF0,0x08,0x07,0x00, // Y
0xFF,0x89,0x89,0x89,0x81,0x00, // E
0xFF,0x11,0x31,0x51,0x8E,0x00, // R
0x00,0x00,0x00,0x00,0x00,0x00 // Bosluk
0xFF,0x89,0x89,0x89,0x81,0x00, // E
0x01,0x01,0xFF,0x01,0x01,0x00, // T
0xFF,0x80,0x80,0x80,0x80,0x00, // L
0x00,0x84,0xFD,0x84,0x00,0x00, // İ
0xFF,0x89,0x89,0x89,0x81,0x00, // E
0xFF,0x18,0x24,0x42,0x81,0x00, // K
0xFF,0x02,0x0C,0x02,0xFF,0x00, // M
0xFF,0x89,0x89,0x89,0x81,0x00, // E
0xFF,0x18,0x24,0x42,0x81,0x00, // K
0x00,0x00,0x00,0x00,0x00,0x00 // Bosluk
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF // LED YANIK
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF // LED YANIK
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF // LED YANIK
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF // LED YANIK
0x00,0x00,0x00,0x00,0x00,0x00 // Bosluk
};
TRISB=0;
for(;;){
for(i=0;i<48;i++){
PORTB=dizi[i];
DelayMs(1); // 1ms bekle
}
DelayMs(48); // 48ms bekle
}
}
ben bu dereyi yaptım ama entegreye program atmadım şuanda ledler şuan yanmıyor ama entegre ye dokunduğumda bazı ledler yanıyor bunun sebebi nedir?
Arkadaşlar merhaba, ben bu bu devreyi yapmak istiyorum. Bu bakır plakadan nerden bulabilirim.
arkadaşlar bende de pic16f84-havada-yazi.rar açılmadı. 🙁 bilgi verirsenis çok memnun olurum.
Merhaba arkadaşlar havada yazı devresi için kaç devirlik motor kullanmam gerekiyor?
merhaba arkadaşlar. bana hex dosyası lazım pıc için. dosyayı bana verebilecek olan varmı ?
link kırık
Merhaba,
Proje dosyaları Yazının başında verilen biltek tubitak sayfasında ki dosyalar ile aynı oradan indirebilirsiniz
Kırık linki kısa sürede güncellerim
İyi çalışmalar
Sdü yalvaç yazmak için programın nasıl yazılması lazım ekstra eleman gerekirmi yazmak için yardımcı olurmusunuz lütfen
pıckit2 ile hex dosyası hata vriyor
Link kırık. Yeni bir upload ekler misiniz
yazının başında verilen kaynak link sağlam aynı proje farklı bir çalışma değil
http://www.biltek.tubitak.gov.tr/gelisim/elektronik/9.htm
alternatif linkler https://yadi.sk/d/srfL62F2psuyg http://www.mediafire.com/download/7af203fjnfbt3mf/pic16f84-ile-havada-yazi.rar
BUDA BENDEN KELKİT 29
:1000000000308A00182800003630840000080319E8
:10001000172801308D008C018C0B0C288D0B0B28C0
:100020004A308C008C0B12281528800B09280034CC
:1000300084011F308305FF30920018309300243074
:10004000940042309500813096009701FF3098006F
:10005000893099009A009B0081309C009D01FF30FF
:100060009E0080309F00A000A100A200A301FF30ED
:10007000A4001830A5002430A6004230A70081302B
:10008000A800A901AA018430AB00FD30AC00843087
:10009000AD00AE01AF010130B000B100FF30B200E1
:1000A0000130B300B400B50183160108C739083820
:1000B000810000306600831291011108233C031C6B
:1000C0006C281230110784000008B6008600013049
:1000D000B6000420910A5D286430B60004205C2834
:0200E0006300BB
:02400E00F93F78
:00000001FF
;PIC16F84A
Hexe hangi programla çevirdiniz acaba
7805 yerine 7812 kullanabilirmiyiz acil
Hayır.
5 volt gitmesi gereken yere 12 volt verip bir şeyleri bozarsınız.
sağ olun .
6 Pinli Swtich Yerine Sürgülü Switch Takarsam Sıkıntı olurmu ?
Yanıtlarsanız Sevinirim Lütfen !
Dosyalar silinmiş.. Günceller misinz.
Son yorumlarda alternatif link vermiştim ama geride kalmış gözden kaçıyor yazıya alternatif linkler eklendi
en sevdiğim admin :))
Abi sen kullandığın motorun gücünü söyler misin kaç rpm’lik motor kullandın acaba yardım edersen sevinirim biraz hızlı olursanız sevinirim
@Memati Bas sen devreyi yaptın mı
abiler pic16f84a ile havada kayan saat devresi yapıyorum. fakat kod da sıkıntımız var. bulamıyoruz kodu c veya basic dilinde olcak. yardımcı olabilirmisiniz
Baskı Devre Çizimini Verebilir misiniz ?
Dosyanın içinde var “havaya yazı2.LYT” proteus ares pcb çizimidir
Devresi çalışmayanlar ve kristale 4.7K direnç bağlayıp çalıştıranlar PIC’i programlama esnasında osilatörü xt olarak seçerseniz problem ortadan kalkacaktır.
verdiğiniz hex dosyası sabit midir yoksa c dosyasına yazdıgımız kelime ile değişiyor mu bilgi verirseniz sevinirim