Butona basıp bırakıldığında ledi 5 saniye sonra yakan arduino kodu lazım

2 saat boş bıraktık ne hale getirmişsiniz burayı. Böyle fırtına mı olur? :katil2:
 
Butona basma işinde debounce diye bir olay var. Onu araştırın. Ayrıca bayrak kullanma olayını araştırın. Bayrak isminde bir değişken oluşturup butona basıp bıraktığınızda bu değişkene 1 değeri atayın. Butona ikinci kez basınca sıfır değeri atayın. Böylece buton kontrolü sağlayabilirsiniz. İşim bitmedi daha o yüzden koda kafa yoramıyorum.
 
İki arada bir derede şunu yazdım. Çalışır mı emin değilim. Bir dener misin?

Kod:
int buttonPin = 2; // Butonun bağlı olduğu pin
int ledPin = 12; // LED'in bağlı olduğu pin
int buttonState; // Buton durumu
int bayrak = 0; // Buton kontrol eden değişken

void setup() {
  pinMode(ledPin, OUTPUT); // ledPin'i çıkış olarak ayarla
  pinMode(buttonPin, INPUT); // buttonPin'i giriş olarak ayarla
  digitalWrite(ledPin, LOW); //Başlangıçta led sönük
}

void loop() {
  buttonState = digitalRead(buttonPin); // Buton durumunu oku
   
  if (buttonState == LOW) { // Butona basıldıysa bayrak değişkenine 1 ata
      bayrak = 1;
  }    
      if((buttonState == HIGH) & (bayrak == 1)){ // Buton bırakıldıysa ve bayrak değişkeni 1 ise
        digitalWrite(ledPin, LOW); // Led Yanıksa söndür
        delay(5000); // 5 saniye bekle
          digitalWrite(ledPin, HIGH); // LED'i Yak
        bayrak = 0; // Bir sonraki butona basma durumu için bayrağı sıfırladık.  
  }
}
 
Başlangıçta led sönük olacak.
Butona basınca 5 saniye sonra led yanacak. Ama komut butona basınca değil bırakınca işleyecek.
Çünkü sürekli basılı tutunca yanıp sönme oluyor. :)
Sonra ki butona her basışımda led yanık olsun olmasın butonu bıraktığım anda led sönecek. 5 saniye sonra led yanacak.
Led sönük,
Butona basıp çektik,
5 sn sonra led yandı.
Bu led ne zaman sönecek peki?

Son cümlenizde "Sonra ki butona her basışımda led yanık olsun olmasın" ifadesi kafa karışıklığı yaratıyor çünkü led hala yanık vaziyette?
 
Led sönük,
Butona basıp çektik,
5 sn sonra led yandı.
Bu led ne zaman sönecek peki?

Son cümlenizde "Sonra ki butona her basışımda led yanık olsun olmasın" ifadesi kafa karışıklığı yaratıyor çünkü led hala yanık vaziyette?
Yukarıdaki mesajda ben anladığım kadarıyla kodladım. Buna göre butona her bastığında led yanık olsa da, olmasa da önce sönecek, 5sn sonra yanacak.
 
Buton nasil baglanmali diye soruyoruz :facepalm1: Basinca 0 volt olacak buton pininde de.. nasil baglanti
 
Yukarıdaki mesajda ben anladığım kadarıyla kodladım. Buna göre butona her bastığında led yanık olsa da, olmasa da önce sönecek, 5sn sonra yanacak.
Buton nasil baglanmali diye soruyoruz :facepalm1: Basinca 0 volt olacak buton pininde de.. nasil baglanti

Çalışıyor şimdi.
Ama bir sorun var.
Şimdi lamba yanıyor butona bastık. Lamba sönüyor .Bırakmadan 5 saniye bekledik.
Bu lamba neden 5 saniye sonra yanıyor.
Bıraktıktan sonra 5 saniye bekleyip yanması lazım? :)
 

Çalışıyor şimdi.
Ama bir sorun var.
Şimdi lamba yanıyor butona bastık. Lamba sönüyor .Bırakmadan 5 saniye bekledik.
Bu lamba neden 5 saniye sonra yanıyor.
Bıraktıktan sonra 5 saniye bekleyip yanması lazım? :)
O zaman senin buton normalde low, basınca high oluyor demekki. Sistemi ilk çalıştırdığında buton low olduğu için bayrağa direk 1 değişkeni atıryor. Bu durumda birinci şart sağlanıyor. Butona bastığında ise buton durumu high oluyor ve ikinci durumda sağlandığı için led yanıyor.
 
Bastim bekledim 5 sn den fazla birakmadim, o yandi. Yandiktan sonra biraktim sondu 5 sn bekleyip geri yandi
 

Ekler

  • 2024-06-04 18-29-21.mp4
    226.3 KB
Bastim bekledim 5 sn den fazla birakmadim, o yandi. Yandiktan sonra biraktim sondu 5 sn bekleyip geri yandi
1.jpg


Lazarusta üçtane seçenek var. Onkeydown,Onkeypress,Onkeyup
Benim yapmak istediğim bu OnKeyup olan.
Tuşu bırakmadan 5 saniye süreyi başlatıp lambayı yakmamalı.
Diğer ikisinin arasındaki farkı anlamadım gerçi. :)
İkisinde de aynı şeyi yapıyor.
 
34305 eklentisine bak

Lazarusta üçtane seçenek var. Onkeydown,Onkeypress,Onkeyup
Benim yapmak istediğim bu OnKeyup olan.
Tuşu bırakmadan 5 saniye süreyi başlatıp lambayı yakmamalı.
Diğer ikisinin arasındaki farkı anlamadım gerçi. :)
İkisinde de aynı şeyi yapıyor.
Onkeydown Dugmeye basarken. onkeypress dugmeye bastin bekliyorsun ya o ara, onkeyup dugmeden elini kaldirirken. Cok buyuk ihtimalle boyle
 

Forum istatistikleri

Konular
7,282
Mesajlar
123,082
Üyeler
2,938
Son üye
oguzbaste

Son kaynaklar

Son profil mesajları

Freemont2.0 herbokolog Freemont2.0 wrote on herbokolog's profile.
nick iniz yakıyor
:D
Freemont2.0 posta Freemont2.0 wrote on posta's profile.
Merhabalar :)
az bilgili çok meraklı
Prooffy semih_s Prooffy wrote on semih_s's profile.
Merhaba, sizden DSO2C10 hakkında bilgi rica ettim. Yanıtlarsanız sevinirim...
Unal taydin Unal wrote on taydin's profile.
Timur Bey, Arduino kontrollü bir akü şarj cihazı yapmaya çalışıyorum. Aklımdaki fikri basit bir çizim olarak konu açmıştım. Özellikle sizin fikirlerinizi çok önemsiyorum.
Back
Top