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ı

Gerekli bağlantıları sağladıktan sonra, şimdi de kütüphanemizi yükleyelim. Kütüphanemizi yüklerken şu aşamaları tek tek uyguluyoruz. Taslaklar – Library Ekle – Kütüphaneleri Yönet – “TM1637” Yazarak aratıyoruz. “Grove 4-Digit Display” başlıklı kütüphaneyi kuruyoruz.
Yazacağımız kodda belirlediğimiz bir zaman değerini saniye cinsinden gireceğiz. Biz burada 15 saniyelik bir periyotta alarmı yani buzzer’ı çalıştıracağız. Kod içeriğinde yer alan “a” değişkenini, dilediğiniz süreyi saniye cinsinden girerek değiştirebilirsiniz. Şimdi kod kısmına geçebiliriz:
#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.
}
}
}
RTC modülüne yer verilmeden sadece 2 ekipmanla (buzzer ile birlikte 3 ekipman kullanıldı) çalıştıracağımız bu sistemi kodlarda yapacağınız birkaç düzenlemeyle talebiniz doğrultusunda düzenleme gerçekleştirebilirsiniz. Direnc.net Youtube kanalından söz konusu uygulamayı izleyerek inceleyebilirsiniz: