Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => Atmel => Konuyu başlatan: obina - 17 Nisan 2019, 10:24:44

Başlık: Arduino Buton Sorunu
Gönderen: obina - 17 Nisan 2019, 10:24:44
Merhabalar ARDUİNO konusunda yeniyim ve yardıma ihtiyacım var,
 1 buton ile 1 LED yakma ve söndürme için aşağıdaki komutlar kullanılıyor.
Butona basınca LED yanar , butondan çekince LED söner.
Butona basınca elimi çeksem bile 10 saniye LED yansın sonra kendiliğinden sönsün istiyorum.
Aşağıya hangi komutları eklemeliyim?

const int LEDpin = 13;
const int butonPin = 12;
int butonDurumu = 0;

void setup()
{
pinMode(butonPin,INPUT);
pinMode(LEDpin,OUTPUT); 
}

void loop()
{
 butonDurumu = digitalRead(butonPin);

if (butonDurumu == HIGH)
 {
 digitalWrite(LEDpin,HIGH);
 }
 else
 {
  digitalWrite(LEDpin,LOW);
 }
}

Not:
Mesajlarınıza kod beklerken
"Kod" butonunu kullanınız.
Başlık: Ynt: Arduino Buton Sorunu
Gönderen: muhittin_kaplan - 17 Nisan 2019, 14:26:02
[KOD] etiketini kullanınız..
Başlık: Ynt: Arduino Buton Sorunu
Gönderen: mehmet - 20 Nisan 2019, 14:15:56
uint16_t beklemeZamani = 10000; //10 x 1000mS
unsigned long simdikiZaman = 0;
uint8_t zamanDurumu = HIGH;

const int LEDpin = 13;
const int butonPin = 12;
int butonDurumu = 0;

void setup()
{
  pinMode(butonPin,INPUT);
  pinMode(LEDpin,OUTPUT); 
  digitalWrite(LEDpin, LOW);
}

void loop()
{
  butonDurumu = digitalRead(butonPin);
 
  if(butonDurumu == HIGH )
  {
    digitalWrite(LEDpin, HIGH);
    simdikiZaman = millis();
  }
  else if(butonDurumu == LOW && zamanDurumu == LOW)
  {
    digitalWrite(LEDpin, LOW);
  }

  if(millis() < simdikiZaman + beklemeZamani)
  {
    zamanDurumu = HIGH;
  }
  else
  {
    zamanDurumu = LOW;
  }
}

https://www.norwegiancreations.com/2017/09/arduino-tutorial-using-millis-instead-of-delay/