Aurduino 2 Buton 1 Led Yanık İse Söndür Sönük İse Yansın
Devre Senaryosu
Değerli arkadaşlar bu uygulamamızda devremizde yine 1 led 2 buton var. Devre ilk çalıştığında ledimiz sönük durumda olacak sonrasında herhangi bir butona bastığımızda led yanacak yine herhangi bir butona bastığımızda led sönecektir. Başka bir deyişle butonlardan herhangi birine basıldığında ledin var olan durumu değişecektir. Aynı butona iki kez ard arda basıldığında da ledin durumu değişecektir. Bu uygulamaya vaviyen uygulaması denmektedir.
Burada delay(1000); deyimi yani bekletme deyimi oldukça önemlidir çünkü arduino işlemcisi çok hızlı çalıştığı için bizim butona basıp çekme işleminde bazı sorunlar oluşmaktadır yani butondan aurduinoya giden bilgi hızla okunuyor ve buda karışıklığa neden oluyor bundan dolayı delay(1000) komutu kullanarak işlemciyi 1 saniye duraksatıyoruz ve sorun ortadan kalkıyor.
Tinkercad Devre Şeması
Arduino Devre Kodları
int a_buttonState = 0;
int b_buttonState = 0;
int durum=0;
void setup()
{
pinMode(6, INPUT);
pinMode(3, INPUT);
pinMode(11,OUTPUT);
}
void loop()
{
a_buttonState = digitalRead(6); // A buton değerinin durumunu oku.b_buttonState = digitalRead(3); // B buton değerinin durumunu oku.
// A butonunu basılıp basılmadığınıkontrol et.
if (a_buttonState == HIGH)
{
if(durum==0)
{
durum=1;
digitalWrite(11,durum);
delay(1000);
}
else if(durum==1)
{
durum=0;
digitalWrite(11,durum);
delay(1000);
}}
// B butonunu basılıp basılmadığınıkontrol et.
if(b_buttonState==HIGH)
{if(durum==0)
{
durum=1;
digitalWrite(11,durum);
delay(1000);
}
else if(durum==1)
{
durum=0;
digitalWrite(11,durum);
delay(1000);
}
}}