Tek Butonla Pwm artırma azaltma

bbs2006

Üye
Katılım
13 Kas 2006
Mesajlar
244
Puanları
1
Yaş
48
Merhaba
Ben butona bir defa bastıgım zaman lamba parlaklıgının pwm ile artırmak istiyorum. aynı butona ikinci kez bastıgım zaman parlaklıgı azaltmak istiyorum. yanı dimmer mantıgı yapmak istiyorum. bu konuda yardımcı olabilirseniz sevinirim.
 
Merhaba Tek sorun olabilecek konu şu programı hangi dil ile yazıyorsunuz eğer basic vb bir dil ise size kolay bir yol tarif edebilirim ;)

Örneğin boşta bir pin belirleriz yada bir bitlik bir değişken oluştururuz ben deneyimlerimde ( proton basic ) tek bitlik değişkenden bir pinin daha kararlı çalıştığını fark ettim ama denemekte yarar var elbette...

Basic dillerinde toggle diye bir komut var bir pinin yada bitin değilini alır devamlı olarak biz uygulamamızı bit tanımlama üzerinden yapar isek :

dim pwm_deger as byte
pwm_deger=0
dim deger as bit
deger=0


basla:


if buton=1 and deger=1 then


while buton=1
pwm_deger=pwm_deger+1
delayms 50
PWM PORTB.1, pwm_deger, 100
wend


toggle deger


endif


if buton=1 and deger=0 then


while buton=1
pwm_deger=pwm_deger-1
delayms 50
PWM PORTB.1, pwm_deger, 100
wend


toggle deger
endif


goto basla

Şeklinde bir döngü kurabiliriz Diye düşünüyorum...Fakat lamba kontrolünde işe yarayacağını zannetmiyorum ve yaramaz da...
 
xE94MD.png



Teşekkür ederim. devremi veriyorum. şu şekilde çalışacak.
şekilde 4 adet dokunmatik buton bulunmaktadır. 1. butona dokundugumuz zaman led az yanacak. 2. butona dokunadugumuz zaman biraz daha parlaıklık artacak. 3. dokundugumuz zaman dahada artacak. 4. butonda max parlakılık olacak.. 4. butona tekrar bastıgımız zaman parlaklık azalacak. 3. butona bastıgımız aman parlakılık azalacak. çıkışta pwm kullanacagım. bu şeklde devreyi çalıştarabilegim yazılımı nasıl yapabilirm. 3. butonda orta seviyede yandı tekrar 3. butona bastıgım zaman parlakılık azalacak.
 
Ya şimdi kalkıp sıfırdan program yazmak hazırcılığa davet çıkaracaktır ki Bu da beni bozar ...

Mantık olarak bir butonu hem artırma hem eksiltme olarak kullanma mantığını bildiğimce tarif etmeye çalıştım tek sorun sonradan devreyi değiştirmeniz oldu :) ama sistem rahatlıkla uyarlanır...

Şemada 3 adet led gördüm pwm yerine hpwm kullanman daha mantıklı olabilir hem üç tane donanımsal pwm çıkışı olan işlemci seçmelisin...Eğer 3 led de pwm çalışacaksa
 
Ya şimdi kalkıp sıfırdan program yazmak hazırcılığa davet çıkaracaktır ki Bu da beni bozar ...

Mantık olarak bir butonu hem artırma hem eksiltme olarak kullanma mantığını bildiğimce tarif etmeye çalıştım tek sorun sonradan devreyi değiştirmeniz oldu :) ama sistem rahatlıkla uyarlanır...

Şemada 3 adet led gördüm pwm yerine hpwm kullanman daha mantıklı olabilir hem üç tane donanımsal pwm çıkışı olan işlemci seçmelisin...Eğer 3 led de pwm çalışacaksa

hayır sadece 12 dc lambanın parlaaklıgını ayarlayacagız. diğer lambalar ayrı
 
Ben olsam hpwm kullanır 0-255 arasında duty değerleri verir verdiğim değerleri ekranda gösterirdim sonra her butona bir değer atardım parlaklığın kararınca...

En son iki farklı tonu da yukarıdaki gibi bir donguyle çözerdim sonra ekranı ve komutlarını çıkartır bakardım dalgama
 
parsıc te yapılmış şişe dolum sistemi nasıl yapabilirim yardımlarınız için şimdiden teşekkür ederim
 

Forum istatistikleri

Konular
129,072
Mesajlar
923,015
Kullanıcılar
451,358
Son üye
excelse04

Yeni konular

Geri
Üst