Arduino Buton Sorunu

Başlatan obina, 17 Nisan 2019, 10:24:44

obina

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.

muhittin_kaplan

[KOD] etiketini kullanınız..

mehmet

#2
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/
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr