Ana içeriğe git
Konu: Pıc basic led animasyon (211 Kez okunmuş)

Ynt: Pıc basic led animasyon

Yanıt #1
kodu ekleyin yardım edeyim
(Genel mantığı eğer her satırda bir ledi yaktırıyorsanız son satırı ilk satıra sonradan ikinci satırı 2.satıra ekleyerek yapabilirsiniz)
Ama kodu eklerseniz daha kesin cevap olur

Ynt: Pıc basic led animasyon

Yanıt #2
Hocam kodları bilmiyorum.bilsem sıkıntı yok


Ynt: Pıc basic led animasyon

Yanıt #4
Hocam o linkteki
Furkanın 2.ve 4.cevaplarına dikkat edin
örneğin

PORTB.0 = 1 ' port b nin sıfırıncı LED i yanar
PORTB.1 = 1' port b nin birinci ledi(yanındaki) LED i yanar
PORTB.2 = 1 'port b nin ikinci ledi(yanındaki) LED i yanar
PORTB.3 = 1
PORTB.4 = 1
PAUSE 500  ' yarım sanye bekler (port b deki tüm ledler yanık durumda)
PORTB.0 = 0  ' ilk yanan LED söndü
PORTB.1 = 0 ' ikinci yanan led söndü
PORTB.2 = 0
PORTB.3 = 0
PORTB.4 = 0


bu şekilde sizde istediğiniz animasyonu yaptırabilirsiniz

Ynt: Pıc basic led animasyon

Yanıt #5
Sayın @eylül tuana
Sanıyorum cevaplarımı anlayamadınız o yüzden bu animasyonu ben size geliştirme bordunda yapıp yazacağım
hexi lazımsa derleyeceğim ,yok  kaynak kod  lazımsa onu da ekleyeceğim
yalnız ben 16F877A ya (20 mhz) ye göre hazırlayacağım( sizde ki PIC farklıysa kodda o bölümü değiştirirsiniz.)

Geliştirme boardunu evde uzun aramalardan sonra yeni buldum.
Bu arada bu bordun biraz daha gelişmişini aldığımdan bu bordumu satıyorum
Geliştirme kitinin modeli:
EXPKITS in
EX1-C modeli.

Altaki linkte görülen karttır
http://www.picproje.org/index.php?topic=61051.0
Satın almak isteyen olursa lütfen özelden yazsın

birazdan görüşmek üzere

Ynt: Pıc basic led animasyon

Yanıt #6
Merhaba
16f877A için kodlar aşağıda

Bendeki 4 Mhz miş sizdeki 20 Mhz ise 20 Mhz lik kristal takıp kod satırındaki

DEFINE OSC 4
kısmını
DEFINE OSC 20
olarak değiştirin.
Eğer sizdeki MCU farklı ise
Bendeki :
@ DEVICE PIC16F877A
satırını size uygun hale getirin (Diğer device ile başlayan satırlarda dahil olmak üzere)

Ben 2 animasyonu yaptım
videodaki 3.animasyonu
ANIM3:
yazan satırdaki üstten tırnağı açarak siz yapmaya çalışın olmazsa o kısmıda bir işim çıkmazsa bugün izah edebilirim.

*Kodlar denendi çalışıyor.B portundaki tüm ledleri sırayla yakar.
*Her LEDi yarım saniye yakar ve söndürür.Eğer daha kısa olsun isterseniz PAUSE 500 deki 500 ü değiştirin (500 yarım saniyeye demektir)
* Kodlar uzun olmasına rağmen aynı işi yapan  tüm kod 10-15 satırda yazılabilirdi.Kolay anlamanız için böyle uzun yazıldı.
*Bana HEX lazım diyorsanız onuda biryerlere yüklerim.

Kolay Gelsin

Kod: [Seç]
@ DEVICE PIC16F877A
@ DEVICE PIC16F877A, WDT_on
@ DEVICE PIC16F877A, PWRT_ON
@ DEVICE PIC16F877A, PROTECT_OFF
@ DEVICE PIC16F877A, XT_OSC

DEFINE OSC 4
TRISB=%00000000
TRISC=%00000000

PORTA=0
PORTB=0
PORTC=0
'HER PORT LEDİ SÖNÜK
PAUSE 500

PORTB=1

ANIM1:
PORTB.0=1
PAUSE 500
PORTB.0=0

PORTB.1=1
PAUSE 500
PORTB.1=0

PORTB.2=1
PAUSE 500
PORTB.2=0

PORTB.3=1
PAUSE 500
PORTB.3=0

PORTB.4=1
PAUSE 500
PORTB.4=0

PORTB.5=1
PAUSE 500
PORTB.5=0

PORTB.6=1
PAUSE 500
PORTB.6=0

PORTB.7=1
PAUSE 500
PORTB.7=0
GOTO ANIM2
RETURN
ANIM2:

PORTB.6=1
PAUSE 500
PORTB.6=0

PORTB.5=1
PAUSE 500
PORTB.5=0

 PORTB.4=1
PAUSE 500
PORTB.4=0

PORTB.3=1
PAUSE 500
PORTB.3=0

PORTB.2=1
PAUSE 500
PORTB.2=0
PORTB.1=1
PAUSE 500
PORTB.1=0

PORTB.0=1
PAUSE 500
PORTB.0=0
'RETURN
'GOTO ANIM3:
GOTO ANIM1
      End


Ynt: Pıc basic led animasyon

Yanıt #7
Sayın Flatron ilginiz çok tesekkur ederim.en kısa zamanda deneyip size sonucu bildirecem.Teşekkürler

Ynt: Pıc basic led animasyon

Yanıt #8
Flatron hocam verdiğiniz  komutlari denedim kara simsek devresi.benim istediğim o değil.ben şöyle yaptım.tris b=0
             Portb=0
 Led var byte
Başla:
For led=4 to 0 step 1
High led
Pause 50
Low led
Next led
High 0=1
Buraya kadar herşey normal.istediğim gibi.simdi 5 led alt alta sıralanmış durumda benim komutlarda 5.ledden başlayarak 1.lede kadar yanıp sönüyor.1 lede geldiğinde 1. Led sabit yanıyor ben bu işlemi 2.3.4.ve besinci lerde de yapmak istiyorum.ancak birinci led sabit yanıyor 2.ledi 3. Ledi vediğer ledleri sabit yakamıyorum

Ynt: Pıc basic led animasyon

Yanıt #9
Kod: [Seç]
@ DEVICE pic16F628A
@ DEVICE pic16F628A, WDT_off
@ DEVICE pic16F628A, PWRT_On
@ DEVICE pic16F628A, PROTECT_OFF
@ DEVICE pic16F628A, MCLR_off
@ DEVICE pic16F628A, XT_OSC
CMCON=7
DEFINE OSC 4
TRISA=%00000000
TRISB=%00000000
PORTA=0
PORTB=0
BASLA:
PORTB=%00000001 N HARFİ YANDI YARIM SANİYE BEKLEDİ VE SÖNDÜ
PAUSE 500
PORTB=0
PAUSE 500     YARIM SANİYE HİÇ BİR LED YANMADAN BEKLEDİ
PORTB=%00000010 A HARFİ YANDI SÖNDÜ
PAUSE 500
PORTB=0
PAUSE 500                               

PORTB=%00000100 S HARFİ YANDI SÖNDÜ
PAUSE 500
PORTB=0
PORTB=%00001000  H HARFİ YANDI SÖNDÜ
PAUSE 500
PORTB=0
PORTB=%00010000  İ HARFİ YANDI
PAUSE 500    YARIM SANİYE SONRA
 PORTB=%00010001 İ HARFİYLE BİRLİKTE N HARFİ YANDI
PAUSE 500
PORTB=%00010000  N HARFİ SÖNDÜ FAKAT İ HARFİ HALA YANIYOR.
PAUSE 500
PORTB=%00010010 İ HARFİ HİÇ SÖNMEDİĞİ HALDE A HARFİ YANDI
PAUSE 500
PORTB=%00010000  İ SÖNMEDİ FAKAT A HARFİ SÖNDÜ
PAUSE 500
PORTB=%00010100  
PAUSE 500
PORTB=%00010000
PAUSE 500
PORTB=%00011000   İH HARFLERİ YANIK
PAUSE 500
PORTB=%00011001
PAUSE 500
PORTB=%00011000 
PAUSE 500
PORTB=%00011010    
PAUSE 500
PORTB=%00011000    
PAUSE 500
PORTB=%00011100  İHS YANIK
PAUSE 500
  PORTB=%00011101
PAUSE  500
PORTB=%00011100 
PAUSE 500
PORTB=%00011101
PAUSE  500
PORTB=%00011110  İHSA HARFLERİ YANIK
PAUSE  500
PORTB=%00011111   İHSAN HARFLERİ YANIK
PAUSE 500
GOTO BASLA
END



Kardeş sonunda internete ulaşabildim.istediğin kodlar bunlar.kolay gelsin

Ynt: Pıc basic led animasyon

Yanıt #10
kodları word belgesinde yazdığımdan açıklamalara tırnak işareti koymamın bir anlamı olmayacaktı sen kodları derlerken açıklamaların başına tırnak işareti korsan sorun olmaz yada açıklamaları silerek derle.

Ynt: Pıc basic led animasyon

Yanıt #11
Merhaba
O tür bir animasyonu döngü içerisinde yaptırmaya çalışmak  için birden fazla değişkenler kullanmalı bazısıni artırırken bazısının döngü başlangıç değerini artırmalısınız.Ete nin sanırım 10 .dersinde bu tür bir animasyon vardı onu isteğinize uyarlayabilirsiniz.telefondan yazdığım için şu an bulamadım.velidayının veya benim  verdiğim örnek daha basit .amacınız sonuç almaksa bu  şekilde yapın  kendinizi geliştirmekse ete derslerini okuyun.