Arduino - Geri Sayım - Alarm Projesi

Arduino Geri Sayım Alarm Projesi

Arduino - Geri Sayım - Alarm Projesi
Arduino - Geri Sayım - Alarm Projesi

     Bu proje bir geri sayım projesidir. Butonlar ve lcd yardımıyla ayarlanan bir zamandan geri sayım yapılarak, ayarlanan zaman bittiğinde alarm çalması sağlanmıştır. Birinci buton saati ayarlamak için, ikinci buton dakikayı ayarlamak için, üçüncü buton ise ayarlanan zamandan geri sayımı başlatmak için kullanılır.

Kütüphane için tıklayınız.

Kodları indirmek için tıklayınız.

Kodlar :

#include < LiquidCrystal_PCF8574.h >
LiquidCrystal_PCF8574 lcd(0x27); 

#define saatButton 7
#define dakikaButton 6
#define baslaButton 5
#define ledveBuzzer 4

int saniye = 0;
int dakika = 0;
int saat = 0;
int basla = 0;

void setup()
{
  lcd.begin(16, 2); 
  lcd.setBacklight(HIGH);
  fnkFormat();
  pinMode(saatButton,INPUT);
  pinMode(dakikaButton,INPUT);
  pinMode(baslaButton,INPUT);
  pinMode(ledveBuzzer,OUTPUT);
} 
void fnkFormat()
{
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print(saat);
    lcd.setCursor(2, 0);
    lcd.print('-');
    lcd.setCursor(3, 0);
    lcd.print(dakika);
    lcd.setCursor(5, 0);
    lcd.print('-');
    lcd.setCursor(6, 0);
    lcd.print(saniye);
}
void loop()
{
if(basla==0)
  {
    if(digitalRead(baslaButton) == 1)
    {
      basla = 1;
      delay(500); 
    }
    if(digitalRead(saatButton) == 1)
    {
      saat=saat+1;
      fnkFormat();
      delay(250);
    }
    if(digitalRead(dakikaButton) == 1)
    {
      dakika=dakika+1;
      if(dakika == 60) 
      {
        dakika=0;
        saat=saat+1;
      }
      fnkFormat();
      delay(250);
    }
  }
  if(basla==1)
  {
      lcd.clear();
      fnkFormat();
        if(saniye == 0)
        {
          if(dakika == 0)
          {
            if(saat == 0)
            {
              digitalWrite(ledveBuzzer,HIGH);
              delay(1000);
              digitalWrite(ledveBuzzer,LOW);
              delay(1000);
            }
            else
            {
              saat = saat - 1;
              dakika=59;
              saniye=59;
            }
          }
          else
          {
            dakika = dakika - 1;
            saniye=59;
          }
        }
      else
      {
        saniye = saniye - 1;
      }
       delay(1000);
  }
}