Yöntem yordam sorusu

Başlatan Maxim, 06 Mayıs 2017, 18:12:21

Maxim

lcd ekranın arka plan ışığını otomatik ayarlamak istiyorum ldr ile. yapıyorumda
fakat benim istediğim daha konforlu bir yöntem.
ldr den gelen bilgiye göre adc kanalını okutuyorum, 100 kere örnek alıp 100 e bölüyorum vs vs

%100 kademe üzererinden konuşalım
diyelim ortam karanlık, kademe %10 olsun yani ekran ışığı oldukça kısık
ben odadaki ışığı açtım, bunun %80 olması lazım
ekran biraz bekleyerek 2 kademe artarak %80 oluyor

benim istediğim şöyle birşey;
bu %10 dan %80 ne çıkarken şöyle çıksın , 11,12, 13, 14, 15.... 21,22,  56,>>> 79 ve 80
yani lineer bir modda tabiki hızlı değil ama ani ve keskin çıkmalar inmeler yapmasın

bunun için nasıl bir yöntem veya algoritma yapabilirim sizce?
ne yapayım?

ete

Buna benzer durumlarda uyguladığım bir yöntem var. Bu yöntemde bir zamanı esas alıp artışları azalışları bu süreye göre yaparım.
Diyelimki %10 dan %80'e 500 ms de çıkılması kararlaştırıldı.
80-10=70 olup ,500'ü 70 e bölersek 7 gibi bir rakam bulunur. Bu birim artış başına 7 ms beklenecek demektir.
Kısaca 10 dan 80'e parlaklığı çıkartırken her döngü adımı başına 7 ms beklenecek demektir.
Bu şekilde bir yöntem kullanılabilir. Bunun için ne kadarlık bir sürede artış yada azalış olması gerekir onu deneme yanılma ile tespit etmek gerekir.

Ete

Maxim

#2
ben doğrumu anlamışım ete hocam?
lcd den gelen bilgiyi direk ışık şiddeti olarak kullanmayacağız.

mesela ldr bilgisine 10 - 100 değeri verelim, ekran parlaklığı ise %10-%100
şimdi şu an ben ldr bilgisini kullanarak parlaklığı ayarlıyorum
atıyorum ldr=10 ise %10 demek oluyor, hemen ardından ldr 80 olunca, ekranda %80 oluyor.

onu şöylemi yapayım?
ldr 10  = x rakamı 10
x %10 parlaklık demek

odanın ışığını açtım aniden ldr 80 oldu.
x rakamını 80 oluncaya kadar tek tek arttırayım?
sonunda parlaklık 80 olacak ama istediğim gibi yavaş çıkacak?

Maxim

ete hocam anladım ben
uygun bir formül kurmaya çalışıcam.
teşekkürler

ete

parlaklığı nasıl ayarladığını bilmediğim için PWM duty değeri ile örnekleme yapmıştırm.
Gerçi anladım demişsin sonradan ama yinede açıklayayım.
Söz gelimi senin için parlalığın değişim süresi en uygun 300 ms kabul edelim. Bu süre sabit kalmalı. Sabşt derken ortam ışığı 50 olması gereken 80 ise 80-50=30 birim de 300 ms de değişmeli, Ortam 10 , olması gereken 80 ve 80-10=70 birimde 300 ms de değişmeli diye düşünmüştüm. Bunu pek çok yerde uyguladım ve olumlu sonuç aldım.
Bu durumda yapılması gereken toplam süre olan 300 ms yi değişecek birim sayısına bölerek birim başına ne kadar gecikme vereceğini bulmak oluyor. Bunu anlatmaya çalışmıştım. Bu mantığı parlaklığı ayar şekline uygun olarak kendin ayarlaman gerekiyor.
Kolay Gelsin
Ete

Powered by EzPortal