Kişisel Sayfaları
İlgi Alanları
İş Tecrubesi
Eğitim Geçmişi
Sertifikalar & Başarılar
Kullanıcıya ait test sonucu bulunmamaktadır.
Dil Becerileri
Son Forum Aktiviteleri
1Arduino 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);
}