For english version http://dincaysroom.blogspot.com (Not complete yet)

3 Eylül 2009 Perşembe

Multi LED

3 renkli multi led aldım. RGB led de deniyor. Multi ledin kırmızı, yeşil, mavi ledlerini farklı şiddetlerde yakarak farklı renkler oluşturmak mümkün. Örneğin kırmızı ve mavi en şiddetli hallerinde mor ışık yayıyor. FPGA'de bu şiddeti ayarlamanın en iyi yolu PWM kullanmak. PWM olarak kullanılacak kare dalganın görev çevrimini değiştirerek ledlere analog gibi davranan bir sinyal vermek mümkün.

Şu an giriştiğim projenin amacı multi leddeki 3 rengin şiddetlerini ayrı ayrı kontrol eden ve 3 rengin PWM sinyallerinin görev çevrimini LCD ekrana yazan bir modül yapmak. Kendime belirlediğim ilk aşama pwm sinyalini üretmek ve görev çevrimini dışarıdan değiştirmek. İkinci aşama da 3 renk için görev çevrim sürelerini LCD ekranda göstermek.

0-255 arası sayabilen bir sayaç ve her renk için bir register var. Sayaç registerdan küçükken o renk sinyali 1 oluyor. Register değerini 0'a yaklaştırınca sayaç daha kısa bir süre register değerinden küçük kalıyor. Bu sayede görev çevrimi ayarlanabiliyor. Aynı işi 3 renk için de yapıyorum.

Registerları döner kodlayıcı ile değiştiriyorum. Bir düğme ile de seçili rengi değiştiriyorum. Seçili rengin değeri 7 bölmeli ledde gösteriliyor. Hangi rengin seçili olduğu ise kartın üzerindeki ledlerde gösteriliyor.

Devrenin bir kaç görüntüsü
Multi ledin içindeki ledler seçilemesin diye ledin çevresine peçete sardım. Bu sayede multi ledin içindeki farklı renkteki ledleri ayırt edemiyorum. Karşılaştığım bir sorun, ledler aynı akıma farklı ışıma verdikleri için her renk için akım sınırlayıcı dirençleri farklı seçmek gerekiyor. Yoksa farklı parlaklıkta yanan ledler oluyorlar. Bunu ölçmenin yolu 3 rengi de son şiddette yakmak. Sonuç tam beyaz olmalı.

Bundan sonra LCD ekranda değerleri göstermek var. Bunun için PicoBlaze kullanmayı düşünüyorum.

Program koduna buradan ulaşılabilir.

Hiç yorum yok:

Yorum Gönder