Buton kontrol yardim

Katılım
22 Aralık 2022
Mesajlar
83
Merhaba bir buton kontrolüm var fakat yanlışlıkla butona basıldığında işlem yapmasın diye butona 3 saniye basılı tuttuğunda işlem sağlamasını istiyorum nasıl yapabilirim.
C#:
void buttonControl() {

  if ((digitalRead(closeButton) == HIGH) && (buttonState == 0))

  {

    Serial.println("Buton Kapanış");

    Kapi_Kapat();

  }
 
Buton durumu değiştiği anları tespit et (ON/OFF veya OFF/ON) ve bu anlarda millis değerini kaydet. Sonra da buton ON olduğu an ile buton OFF olduğu an arasındaki farka bak. 3 saniyeden büyük ise butona basılmış say.
 
Kodu üzerinde düzenleyebilirsiniz daha yeniyim

Kodu sen yazmazsan, bu işe yeni olmayı nasıl geride bırakacaksın? Doğru kodu yazmak için gereken tüm bilgiler verildi, anlamadığın yer varsa sor, hazır kod isteme.
 
Merhaba,
Ben değişik genel bir uygulamayı paylaşayım.
TEST
BTFSC PORTB,0
GOTO "NEREYE GİDECEKSE"
GOTO TEST
Bu kod ile "PORTB,0" basılı kaldığı sürece (şaseye çekilmesi şartı ile parmağınızı kaldırıncaya kadar) test "TAGI" na döner durur. Kaldırdığınız an GOTO ile de nereye atlanacaksa oraya gider.
 
Buton durumu değiştiği anları tespit et (ON/OFF veya OFF/ON) ve bu anlarda millis değerini kaydet. Sonra da buton ON olduğu an ile buton OFF olduğu an arasındaki farka bak. 3 saniyeden büyük ise butona basılmış say.
Mesela bu söylediğinden hiç birşey anlamadım. Benim.iki adet ac ve kapat adında butonum ve kodların var fakat ben sadece kapat butonuna 3 saniye basılı tutmak istiyorum. Millis değerini if komutundan oncemi sonramı yazmam gerekli.if konutunda da düzeltme yapmam gerekiyor mu. Yada örnek kod yazarsanız oradan cozeyim.
 
Son düzenleme:
Merhaba,
Ben değişik genel bir uygulamayı paylaşayım.
TEST
BTFSC PORTB,0
GOTO "NEREYE GİDECEKSE"
GOTO TEST
Bu kod ile "PORTB,0" basılı kaldığı sürece (şaseye çekilmesi şartı ile parmağınızı kaldırıncaya kadar) test "TAGI" na döner durur. Kaldırdığınız an GOTO ile de nereye atlanacaksa oraya gider.
Aslında bunisime yaramayacak çünkü benim iki adet dokunmatik tuşum var fakat yanlışlıkla kapatma tuşuna basilabiliyor 3 saniye basılı tutunca komut derreye girsin istiyorum.
 
Mesela bu söylediğinden hiç birşey anlamadım. Benim.iki adet ac ve kapat adında butonum ve kodların var fakat ben sadece kapat butonuna 3 saniye basılı tutmak istiyorum. Millis değerini if komutundan oncemi sonramı yazmam gerekli.if konutunda da düzeltme yapmam gerekiyor mu. Yada örnek kod yazarsanız oradan cozeyim.
önce algoritma kurmak üzerine çalismalisiniz ben olsam şöyle bir algoritma kurardim butona basıldığında çalışacak bir kod blogu hazırlar bu kod blogunda bir değişken tutardım eğer bu değişken 0 ise butona basılı tutumadigini algılar milis değerini kaydeder ve tutugum değişkeni 1 yapardım eğer bi değişken 1 ise bu sefer milis değerini karşılaştırarak eğer 3 saniye ile 4 saniye arasındaysa değerleri sıfırlar fonksiyonumu çalıştırırdım 4 saniyeyi aşmış ise fonksiyonu çalıştırmadan değerleri sifirlardim

bunun gibi algoritma kurmalı sonra koda geçmelisiniz mesela bu algoritmada bir eksik var elimi 3 saniye olmadan çeker tekrar basarsam bunu algılamıyor orasinida size bırakıyorum
 
Evet işimi görür ama senin kodları benim buyonun komutunun altına nasıl yerleştireceğiz bunu cozemiyorum
 
kodu yazmadım sadece akış diyagramını verdim. Kontrol ettiğiniz butonun portunu ve de hangi pin olduğunu bilmem gerekiyor. Assembly dili ile yazıyorum. Bildiğiniz gibi asm kodlarını kullanabilirsiniz.
TEST
BTFSC PORTB,0
GOTO "PROGRAMA DEVAM"
CALL BEKLE
BTFSC PORTB,0
GOTO "PROGRAMA DEVAM"
"KAPAT"
Özetle böyle.
 

Çevrimiçi personel

Forum istatistikleri

Konular
6,985
Mesajlar
119,312
Üyeler
2,835
Son üye
alpermete

Son kaynaklar

Son profil mesajları

hakan8470 wrote on Dede's profile.
1717172721760.png
Dedecim bu gul mu karanfil mi? Gerci ne farkeder onu da anlamam. Gerci bunun anlamini da bilmem :gulus2:
Lyewor_ wrote on hakan8470's profile.
Takip edilmeye başlanmışım :D ❤️
Merhaba elektronik tutsakları...
Lyewor_ wrote on taydin's profile.
Merhabalar. Elektrik laboratuvarınız varsa bunun hakkında bir konunuz var mı acaba? Sizin laboratuvarınızı merak ettim de :)
Lyewor_ wrote on taydin's profile.
Merhabalar forumda yeniyim! Bir sorum olacaktı lcr meterler hakkında. Hem bobini ölçen hemde bobin direnci ölçen bir lcr meter var mı acaba?
Back
Top