LEDler Nasıl Işık Sensörü Olarak Kullanılır?


Bir önceki yazımda LED'lerin fotodiyot özelliğinden bahsetmiştim biraz. Ve bu özelliğin ışık sensörü olarak kullanıldığından. Sıradan LEDleri ışık sensörü olarak kullanmanın bilinen iki yöntemi var.

1- LEDin uçlarındaki gerilimi voltmetre ile ölçmek

2- LEDi bir kapasitörmüş gibi sarj edip üzerine düşen ışık miktarı ile orantılı olan desarj süresini ölçmek

Birinci yöntem oldukça basit ve açıklayıcı. Uygulama için ihtiyacınız olan şey analog girişleri olan bir mikrodenetleyici yahut eşdeğer devre. İkinci yöntem biraz daha karışık da olsa sadece 2 adet dijital giriş/çıkış gerektirdiği için daha popüler. Ben de bu yöntemi kullandım ve aşağıda nasıl yapıldığını açıklamaya çalışacağım.

Şimdi verileri sıralayalım.

-LED ışık yayan bir eleman. Çok cici la!

-LED aynı zamanda fotodiyot gibi davranıyor. Üzerine düşen ışıktan az da olsa bir gerilim oluşuyor (0~10 mV).

-LED bir diyot. (Light Emittin Diode – Işık Yayan Diyot)

-Elektronik dersini hatırla: Diyotların tıkama yönünde bir kapasitesi var. (Hangi elemanın yok ki?)

-LED de diyot olduğundan, LEDin de tıkama yönünde bir kapasitesi var.

Kullanılan devre:

Ben mikrodenetleyici olarak PIC16F628A kullandım. Fakat pekala bu işi farklı mikrodenetleyiciler/işlemcilerle yapmak da mümkün. Yapılması gereken çok özel bir şey yok. LEDin anodunu bir pine bağlıyorsunuz (Pin A). Katodunu da başka bir pine (Pin B). Bir de LED'e seri olarak bağlı direnç var, 330 Ohm. Benim kullandığım devrenin şeması:

Tabii burada PICin çalışması için gerekli bağlantılar (+5V, MCLR vs.) gösterilmemiş.

Adım adım:

1- LED 1 ms boyunca normal yakılır.

Bunun için için LEDin anoduna +5V katoduna 0 V verilmelidir. Her iki pin çıkış (output) olarak ayarlanmış iken RB0 (Pin A) 1/High/+5V, RB7 (Pin B) 0/Low/0V yapılır. Bu adım şart değil. Ben sadece boşalma süresini gözle görebilmek için ekledim.

2-LED 1 ms boyunca sarj edilir.

Pin A ve Pin B çıkış iken, PinB 1, Pin A 0 yapılır. Elbette LED ışık vermez. Ne de olsa tıkama yönünde kutuplanmış bir diyottur. Hatırlayalım ki diyotların tıkama yönünde düşük de olsa (pF seviyelerinde) bir kapasiteleri vardır. Dolayısıyla ters kutuplama durumunda LED'in bu küçük kapasitesi hızla şarj olacaktır. LED şarj olduğunda Pin B – Pin A arası gerilim +5V'ta sabitlenir.

3-Ölçme kısmı.

Pin A çıkış iken, Pin B giriş (input) yapılır. Eğer Pin A ve Pin B arasında bir gerilim kaynağı olmasa idi Pin B'deki giriş değerinin 0/Low/0V olmasını beklerdik, ne de olsa Pin B'nin çıkışı 0 olarak ayarlanmıştı. Fakat öyle değil. Pin A ve Pin B arasında 2. adımda bir kapasitör gibi şarj edilmiş LEDimiz var. Dolayısıyla ilk anda Pin B'den okuyacağımız değer 1 olacaktır.Peki LED üzerindeki şarj hep kalacak mı? Hayır. LEDin üzerinde çevreden gelen ışık yüzünden oluşan gerilim bu şarjı boşaltacaktır. Ne kadar çok ışık, LED'i boşaltmak için uygulanan o kadar yüksek (en fazla 10 mV 😀 ) gerilim demek. Yani LED de o kadar hızlı boşalacak.

Burada mikrodenetleyici üzerindeki zaman ölçme programı devreye giriyor. Pin B'nin 1'den 0'a düşme süresi ölçülüyor. Bu süre ortam ışığı ile orantılı bir

değer. Kaynaklarımda bu sürenin 1~20 ms arasında değiştiğini belirtilse de ben daha yüksek değerlere ulaştım. 10~200 ms gibi. Bu değer 330 Ohmluk direnç değiştirilerek oynatılabilir. Ama temel faktörler ortam ışığı ve LED'in özellikleri (rengi,çeşidi,paketi).

Not:Bir LED sadece kendisinin yaydığı dalga boyuna eşit ya da daha kısa dalga boyundaki ışık uygulandığında gerilim oluşturuyor. Bu sebeple teorik olarak, yüksek dalga boyuna sahip kırmızı renk LEDler ışık algılama için daha uygunlar.

En son elimdeki kırmızı bir SMD LED'i denedim. Hedefim SMD LEDlerle bir matris oluşturarak Jeff Han'inkine benzer bir dokunmatik yüzey oluşturmak [Video]. Tabi ben bu yüzeyi aynı zamanda görüntüleme için kullanmayı düşünüyorum.

İş üstündeyim 😉


Bir cevap yazın

E-posta hesabınız yayımlanmayacak.