Yukarıdaki devreye göre A1 ve A2 girişlerine, basıldığında sıfır gönderen butonlar bağlanmıştır.
Çıkışlardan 10 nolu bacakta ise 0 gönderilince ışık veren LED bağlantısı yapılmıştır.

Kodlardan beklentimiz ise şunlardır:
  • A1 butonuna basıldığı durumlarda, süreyi 50 ms arttırması.
  • A2 butonuna basıldığı durumlarda süre değeri 50ms ve üstü ise 50 arttıması.
  • İkinci aşama için programda 50 ms sorgulaması yapılmış ve ona göre işlem yapılmıştır.


Kod:
//Bir butonla süre ayarı yapan
//ve buna bağlı olarak bir ledim
//yanıp sönme süresini kontrol eden program.
//www.ilerikontrol.com
//@mrt4shn
int led = 10, sure = 50; //10 nolu bacağı temsilen ilk değeri 10 olan led değişkeni ve
//sure isimli ilk değeri 50 olan tamsayı türünde değişken tanımlandı.
void setup() {
  pinMode(led, OUTPUT); //led bacağı çıkış yapıldı.
  pinMode(A1, INPUT);   //A1 ve A2 bacakları giriş yapıldı.
  pinMode(A2, INPUT);
}
void loop() {
  int durum1 = digitalRead(A1); //A1 ve A2 okunup durum1 ve durum2 isminde tamsayı türünde değişkenlere aktarıldı.
  int durum2 = digitalRead(A2);
  if (durum1 == 0) //durum1 değeri sıfır ise, A1 den okunan değer sıfır ise; yani butona basılmış ise
    //buton basılınca sıfır gönderiyordu.
  {
    sure = sure + 50; //sureyi 50 arttır.
    delay(250);       //butonun bir kez algılanması için butondan el çekme süresi olarak 250 ms verildi.
  }
  else if (durum2 == 0) 
                        //durum2 değeri sıfır ise, A2 den okunan değer sıfır ise; yani butona basılmış ise
                        //birinci if deki şart doğru sonuç üretirse program bu şartı sorgulamaz.
                        //birinci if deki şart doğru değilse ancak program bu şartı sorgular.
                        //else if böyle çalışır
                        //o şart olmazsa buna bak gibi...
  {
    if (sure == 50) //ikinci butondan sıfır geldiğinde program bu kodları çalıştırır.
                    //burada tekrar bir sorgulama yapıyoruz.
                    
    {
      sure = 50;    //sure 50 ise artmasın 50 kalsın istiyoruz.
    }
    else {          
      sure = sure - 50; //50 değilse azalsın istiyoruz.
    }
    delay(250); //butonun bir kez algılanması için butondan el çekme süresi olarak 250 ms verildi.
  }
  digitalWrite(led, 1); //sure değeri oluşturulduktan sonra ledin yanıp sönme süresi sure değişkeni ile ayarlanıyor.
  delay(sure);          //sureye karar verdik ve bir değişken olarak değerini delay komutu içinde kullandık.
  digitalWrite(led, 0);
  delay(sure);
}