Goxel
Goxel
İstanbul-II (Anadolu)
07/09/2018 tarihinden beri üye
10 GY Puanı
107K GY Sırası
1 Rozet
0 Sertifika
1 Soru Sordu
0 Cevap Verdi
0 Blog Yazısı
0 Etiket Takibi

Hakkında

İş Tecrubesi

Kullanıcıya ait İş tecrübesi bilgisi bulunmamaktadır.

Eğitim Geçmişi

Anadolu Üniversitesi
| Aralık 2020 - Aralık 2020

Sertifikalar & Başarılar

GY Sertifikaları (0)
Kullanıcının GY sertifikası bulunmamaktadır.
Diğer Sertifikaları (0)
Kullanıcıya ait sertifika bulunmamaktadır.
Test Sonuçları (0)

Kullanıcıya ait test sonucu bulunmamaktadır.

Dil Becerileri

Son Forum Aktiviteleri

1
Tümünü Gör

Arduino buton basma süresine göre işlem yapma

Merhaba,

Arduino ile kısa zamandır ilgileniyorum, çok yeniyim diyebilirim.

Her basışta ledin durumunu değiştiren bir kod yazdım, fakat ilk led durumuna 3 saniye asılı tutunca geçmesini istiyorum. Bunu yapamadım. Nasıl bir yol önerirsiniz?

Yazdığım çalışan kod aşağıda, yapmak istediğim sadece 3 saniye basılı tutunca ilk led durumunu gerçekleştirmesi. diğer durumlar şu anda olduğu gibi beklemeksizin butona basıldığında gerçekleşecek.

Fikir ve önerilerinizi bekliyorum

Şimdiden çok teşekkürler.

const int MainLed = 3;
const int button = 2;
boolean previousBtnState = LOW;
boolean nowBtnState = LOW;
int ledMode = 0;
void setup()
{
  pinMode(MainLed, OUTPUT);
  pinMode(button, INPUT);
}
boolean buttonControl(boolean state)
{
  boolean nowBtn = digitalRead(button);
  if (state != nowBtn)
  {
    delay(5);
    nowBtn = digitalRead(button);
  }
  return nowBtn;
}
void ledSet(int state)
{

  if (state == 1)
  {
    digitalWrite(MainLed, HIGH);

  }
  else if (state == 2)
  {
    analogWrite(MainLed, 127);
  }
  else if (state == 3)
  {
    digitalWrite(MainLed, HIGH);
    delay (500);
    digitalWrite(MainLed, LOW);
    delay (500);
  }
}
void loop()
{
  nowBtnState = buttonControl(previousBtnState);
  if (previousBtnState == LOW && nowBtnState == HIGH)
  {
    ledMode++;
  }
  previousBtnState = nowBtnState;
  if (ledMode == 4)
    ledMode = 0;

  ledSet(ledMode);
}

 

6 yıl 2 ay önce yanıtladın