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...
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
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