
Merhaba arkadaşlar,bu yazımızla led küp yapımı hakkında bilgiler vereceğiz..
DEVRE ŞEMASI
YAPIMI
Arkadaşlar bu çalışmada önemli olan nokta ledlerin düzgün şekilde şekillendirilmesidir.Devre şemasında da görüldüğü üzere ledlerin katot uçları birbirleriyle kısa devre yapılacaktır.Devreyi 4 düzlem olarak düşünürsek 4 adet katot ucu çıkartılacaktır.Bu katot uçları PNP transistörün emiterine girilicektir . 16F877 nin PORTC çıkışlarını Lojik 0 yaptığımız zaman iletime geçme mantığıyla çalışmaktadır.Yani Emiter ve Kollektör kısa devre olacaktır.Ledlerin anot uçları ise 4 düzlem üst üste yerleştirildiğinde ayn hizaya gelen anot uçları kısa devre edilecektir.Bu şekilde 16 adet uç çıkacaktır. Bu uçları PORTB VE PORTD ye bağlayınız.
Düzlemler ve Ledlerin son hali
ALTTAN GÖRÜNÜŞÜ
C Programı aşağıda gösterilmektedir….
[php]
#include <pic.h>
#include <stdlib.h>
// Konfigurasyon ayarlari (4MHz rezonator)
__CONFIG(XT&WDTDIS&PWRTEN&LVPDIS);
//============================================================
void bekle(int b)
{for(int i=0;i<b;i++)
for(int j=0;j<100;j++);
}
// ANA PROGRAM
//============================================================
main (void)
{
unsigned const char secme[4]={0xFE,0xFD,0xFB,0xF7};
unsigned const char yaziB[9]={0XF3,0XF9,0XFB,0XF9,0X1F,0XF8,0XF3,0XF6,0XF5};
unsigned const char yaziD[9]={0XD0,0XF0,0XF0,0XF0,0X10,0XF0,0XD0,0X90,0XF0};
unsigned const char led[4]={0xF1,0XF2,0XF4,0XF8};
unsigned const char led1[4]={0xFE,0xFD,0xFB,0xF7};
unsigned char a,i,c,k,t,x,y,m;
//——————————————————–
// Port konfigurasyonu
//——————————————————–
TRISB=0x00; // Hepsi cikis (8 adet LED icin)
TRISD=0x00; // Hepsi cikis (8 adet LED icin)
TRISC=0x00; // Hepsi cikis (4 adet transistoru secmek icin)
//——————————————————–
//——————————————————–
// Baslangic durumu ayarlari
//——————————————————–
PORTC=0xFF; // hicbir transistor secili degil
PORTB=0x00; // Data lojik 0
PORTD=0x00; // LED’ler sonuk
//——————————————————–
//————————————-
for(a=0;a<4;a++){
PORTC=secme[a]; // duzlemi sec
for(i=0;i<8;i++){ // RD0’dan RD7’ye
PORTD=1<<i;
bekle(50);
}
PORTD=0;
for(i=0;i<8;i++){ // RB0’dan RB7’ye
PORTB=1<<i;
bekle(50);
}
PORTB=0;
}
// (2) 64 adet LED’i S seklinde yakmak icin
//————————————-
c=40;
for(a=0;a<4;a++){
PORTC=secme[a]; // duzlemi sec
for(i=0;i<4;i++){ // RD0’dan RD3’e
PORTD=0x01<<i;
bekle(c);
}
for(i=0;i<4;i++){ // RD7’dan RD4’e
PORTD=0x80>>i;
bekle(c);
}
PORTD=0;
for(i=0;i<4;i++){ // RB0’dan RB3’e
PORTB=0x01<<i;
bekle(c);
}
for(i=0;i<4;i++){ // RB7’dan RB4’e
PORTB=0x80>>i;
bekle(c);
}
PORTB=0;
}
//————————————-
//YAZIIII : R O B O T U R K A
for(k=0;k<9;k++){
for(a=0;a<4;a++){
PORTC=secme[a]; // duzlemleri sirayla sec
PORTD=yaziD[k];
PORTB=yaziB[k];
bekle(200);
}
}
// (5) yukari-asagi led düzlemleri
//————————————-
for(k=0;k<5;k++){
for(a=0;a<4;a++){
PORTC=led[a]; // duzlemleri sirayla sec
PORTD=0xFF;
PORTB=0xFF;
bekle(100);
}
// sonra asagi dogru
for(a=4;a>0;a–){
PORTC=led[a-1]; // duzlemleri sirayla sec
PORTD=0xFF;
PORTB=0xFF;
bekle(100);
}
}
}
[/php]
KODUN HEX DOSYASINA BURADAN ULAŞABİLİRSİNİZ…
DEVRENİN VİDEOSUNA BURADAN ULAŞABİLİRSİNİZ..
Gökay
11 Şubat 2015 at 16:56
çok yardımcı oldu tesekkürler..
comeng
21 Aralık 2015 at 12:03
resimlerdeki devreyle videodaki devre aynı değil,
Burak Ablay
22 Aralık 2015 at 11:18
Devre şeması güncellenmiştir. Devre şeması ile videodaki uygulama birebir aynıdır.
FIRAT
28 Nisan 2016 at 16:12
Arkadaşlar bunu PIC BASİC dilinde yazarmısınız.Lütfen
FIRAT
4 Mayıs 2016 at 13:03
arkdaşlar yardımcı olurmusunuz
Bilal Kaya
4 Mayıs 2016 at 17:51
Malesef PIC BASİC ile yapılmış bir örnek elimizde mevcut değil.
FIRAT
5 Mayıs 2016 at 12:00
Peki yapma imkanınız varmı.Ben yeni başladım pıc basıc diline.Yaparsanız sevinirim.
Bilal Kaya
6 Mayıs 2016 at 05:34
Daha önce basic dilind çalışmadığım için malesef
FIRAT
6 Mayıs 2016 at 12:13
Peki sizden bir şey istesem daha çok animasyon ekleyebilirmisiniz birde isim yazma şansımız varmı.birde .HEX dosyası şeklinde atarsanız sevinirim.
Burak Ablay
6 Mayıs 2016 at 14:50
Fırat bey,
Öncelikle bu yazı pic ile ilgilenen ve görsel olarak güzel çalışmaların önünü açması için yazılmıştır. Burada amaç insanları şevklendirmek ve öğretmektir. Buradaki amaç sipariş amaçlı yazı yazmak değildir. Çalışmayı beğendiğinizi varsayıyorum. O yüzden en yakın zamanda çalışmanın hex dosyasını paylaşacağım.
İyi günler, iyi çalışmalar dilerim..
Meltem Tekeli
14 Mayıs 2016 at 14:31
Uygulamasından kodlamasına kadar her konuda bu siteden yararlandık ve çok güzel bir sonuç elde ettik. Teşekkürler bu ‘şevklendirici ve öğretici’ yazı için 🙂
Burak Ablay
14 Mayıs 2016 at 15:00
Yardımcı olabildiysek ne mutlu bize..
Roboturka’ yı tercih ettiğiniz için biz teşekkür ederiz..
Takipte kalın..
Ercan
28 Mayıs 2016 at 11:04
Bord uzerine kurdum fakat enerji vermeme rağmen çalışmadı ne yapmalıyım teşekkürler
Bilal Kaya
28 Mayıs 2016 at 19:41
Bağlantıları tekrar kontrol etmenizi rica ediyoruz.Ayrıca programı doğru attığınızdan emin olmanızı da.
enes
4 Şubat 2017 at 21:04
kolay gelsin regulatör devresini nasıl bbağladınz
Burak Ablay
21 Şubat 2017 at 23:29
Devrede ki regülatör devresinden kastınız nedir anlayamadım ? Herhangi bi regülatör işlemine gerek duyulmamıştır. Devredeki +5v voltaj değeri direkt olarak güç kaynağından alınmıştır. Herhangi bir regüle işlemine tabi tutulmamıştır.
VEDAT KILINC
12 Mayıs 2017 at 00:27
bicim bu kod hANGİ PROGRAMLA YAZILIYOR MİCRO C VE CCS DE HATA VERİYOR BUNU NASIL DÜZÜNLERİZ KENDİMİZ BUNU OKUYAN PROGRAM HANGİSİ
Burak Ablay
13 Mayıs 2017 at 11:26
Bu program MPLAB IDE V8.91 programıyla yazılmıştır. Bu programdan müdahale edebilirsiniz. İyi günler iyi çalışmalar ..
FIRAT
20 Mayıs 2017 at 17:45
İYİ GÜNLER DİLERİM.BU DEVRENİN MPLAB IDE PROGRAMINI YAZISINI ATRMISINIZ
FIRAT
26 Mayıs 2017 at 14:21
ŞUNU DEMEK İSTİYORUM MPLAB IDE DOSYASINI İSTİYORUM BU DEVRENİN