Elektronik Projeler

Elektronik Elektrik => Led ve Aydınlatma => Konuyu başlatan: aegeanxtr - 20 Ekim 2012, 06:16:18

Başlık: Led devresi yardım?
Gönderen: aegeanxtr - 20 Ekim 2012, 06:16:18
Selam arkadaşlar. Şimdi ben şöyle bir devre yapmak istiyorum. 4 grup led var, ilk grupta 30 tane led var. 2 3 ve 4 üncü gruplarda 5 er tane led var. 12 volt verdiğimde ilk gruptaki ledler yavaşca 3-4 saniye içinde yanacak hemen ardından 2 3 ve 4 üncü gruptaki ledler sırasıyla direkt olarak yanacak. Voltajı kestiğimde hepsi birden yavaşca 3-4 saniye içinde sönecek. Böyle bir devreyi nasıl yapabilirim? Yardımcı olursanız sevinirim. Şimdiden teşekkürler.
Başlık: Ynt: Led devresi yardım?
Gönderen: aegeanxtr - 21 Ekim 2012, 04:26:38
Yokmu bu konuda yardımcı olacak arkadaşlar? 16f628a için böyle bir kod yazacak arkadaş varsa o da olur ben devreyi hallederim. Pic pwm üretip ilk grup ledleri yavaşça yakacak ardından 2 3 ve 4 üncü gruptaki ledler sırasıyla direkt olarak yanacak.
Başlık: Ynt: Led devresi yardım?
Gönderen: pwm.c - 21 Ekim 2012, 12:30:12
Alıntı yapılan: aegeanxtr - 21 Ekim 2012, 04:26:38Yokmu bu konuda yardımcı olacak arkadaşlar? 16f628a için böyle bir kod yazacak arkadaş varsa o da olur ben devreyi hallederim. Pic pwm üretip ilk grup ledleri yavaşça yakacak ardından 2 3 ve 4 üncü gruptaki ledler sırasıyla direkt olarak yanacak.
var olmasına var da hazırcılık yapmaman gerekiyor. daha önce sana öğren demiştim ama nafile. ETE nin PBP derslerini (https://320volt.com/pic-basic-dersleri/) çalışsaydın böyle basit bişeyi kendin rahatlıkla yazabilirdin. buna rağmen yöntemini anlatacağım gerisi sana kalmış.

öncelikle ledlerin parlaklığını ayarlamak için PWM gerekiyor. Bunu yazılımla yapay olarak yapmaya uğraşmayalım PIC16F628 de bulunan HPWM donanımını kullanabiliriz. Bu çıkışı RB3 portundan alacağız.
4 saniye için gereken döngünün bekleme süresini hesaplayacak olursak:
4sn=4000ms
4000/256=15,625ms süre buluruz.
15,625ms=15625us yapar.

şimdi proton ile ilk döngümüzü hazırlayalım:

Dim LED1 As Byte
TRISB=0
PORTB=0
HPWM 1,0,4000


FOR LED1 = 0 TO 255
CCPR1L = LED1
DELAYUS 15625
NEXT

Bu döngümüz ile ledlerimiz 4sn içinde tam parlaklığına ulaşır. ancak tam 4sn olmaz. diğer komutlarından dolayı biraz fazla olabilir ama süre kritik olmadığına göre bunun önemi yok.
daha sonra diğer ledlerimizi sırayla yakabilirsin. süresini 1sn olarak alırsak:

HIGH PORTB.2
DELAYMS 1000
HIGH PORTB.1
DELAYMS 1000
HIGH PORTB.0
DELAYMS 1000

Hepsi bukadar.

Voltajı kestiğinde yavaşca sönmesi için akü destekli bir sistem gerekiyor.