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:
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);
voidsetup(){
//Parlaklık Ayarı; 0-7
tm.set(2);
pinMode(11,OUTPUT); // dijital pini tanımlıyoruz
}
voiddisplayTime(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);
}
voidloop(){
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:
0 Yorumlar