Ayarlanabilir Pratik Zamanlama Devresi

Bu yazımızda sade ve kullanışlı bir zamanlama uygulamasını öngören bir proje üzerinde duracağız. Ayarlanabilir periyotlarda bir uyarı sistemi görevi gören bu uygulamamızda RTC (Gerçek Zamanlı Saat/ Real Time Clock) modülüne yer vermeden sadece 1 adet Arduino Nano ile 1 adet TM1637 4 Digit Led Display Saat Modül’ünü kullanacağız. Kullanılan ürünlere direnc.net stoklarından erişebilirsiniz:
1 Adet Arduino Nano
1 Adet TM1637 4 Digit Led Display Saat Modül
Uzun çalışma saatlerinizi programlayabileceğiniz bu uygulama ile gündelik tüm hatırlatmalarınızda sizlere kolaylık sunacaktır. Kullanacağımız ekipmanlar, boyut olarak makul ölçülerdedir. Şimdi bağlantı bilgilerine değinelim.
TM1637 4 Digit Led Display Saat Modül bağlantı bilgileri şöyle:
CLK —> Dijital 2 pini
DIO —> Dijital 3 pini
GND —> Gnd bağlantısı
Vcc —> 5 Volt bağlantısı

#include <TM1637.h>
int CLK = 2;
int DIO = 3;
TM1637 tm(CLK,DIO);
void setup() {
//Parlaklık Ayarı; 0-7
tm.set(2);
pinMode(11,OUTPUT); // dijital pini tanımlıyoruz
}
void displayTime(int seconds){
int minutes = seconds / 60;
int secs = seconds % 60;
tm.point(1);
tm.display(3, seconds % 10);
tm.display(2, seconds / 10 % 10);
tm.display(1, minutes % 10);
tm.display(0, minutes / 10 % 10);
}
void loop() {
int a=15; // a = geriye doğru tanımlamak istediğimiz sürenin saniye cinsinden değeri
for (a; a>=0;a--)
{
displayTime(a);
delay(1000);
if(a==0){ // Süre sona erdiğinde alarm ötüyor
digitalWrite(11,HIGH); // Alarm sesimiz Nokia 3310 SMS Sesi :)
delay(100);
digitalWrite(11,LOW);
delay(100);
digitalWrite(13,HIGH);
delay(100);
digitalWrite(11,LOW);
delay(100);
digitalWrite(11,HIGH);
delay(100);
digitalWrite(11,LOW);
delay(300);
digitalWrite(11,HIGH);
delay(300);
digitalWrite(11,LOW);
delay(200);
digitalWrite(11,HIGH);
delay(300);
digitalWrite(11,LOW);
delay(200);
digitalWrite(11,HIGH);
delay(100);
digitalWrite(11,LOW);
delay(100);
digitalWrite(11,HIGH);
delay(100);
digitalWrite(11,LOW);
delay(100);
digitalWrite(11,HIGH);
delay(100);
digitalWrite(11,LOW);
delay(100);
delay(500); // Alarmımız bitiyor. Dilerseniz farklı bir ses de kodlayabilirsiniz.
}
}
}




