Öncelikle DS1302 bağlantısını yapacağız. Bağlantıyı aşağıdaki şekile göre yapacağız.
+5V : Vcc
GND : GND
SCLK : CLK (bacak 5)
I/O : DAT (bacak 4)
CE : RST (bacak 3)
Not: Bacak numaralarını isteğinize göre değiştirebilirsiniz. Ben burada 3,4,5 i kullanıyorum.
Bağlantılar tamamsa kodumuzu yazalım.
Ama önce burada gerekli olan kütüphaneyi indirmemiz gerekiyor. İndirmek için şu adrese gidin : https://virtuabotix-virtuabotixllc.netdna-ssl.com/core/wp-content/uploads/2014/01/virtuabotixRTC.zip veya indirmek için tıklayınız.
#include <virtuabotixRTC.h> // Creation of the Real Time Clock Object //SCLK -> 5, I/O -> 4, CE -> 3 virtuabotixRTC myRTC(5, 4, 3); void setup() { Serial.begin(9600); // Dilediğiniz tarihi aşağıda belirtilen biçimde girebiliyorsunuz. Ben örnek olarak // bugünün tarihini girdim. // saniye, dakika, saat, haftanın günü, ayın günü, ay, yıl (Not: haftanın günü 1:pazartesiden başlıyor myRTC.setDS1302Time(00, 40, 1,7, 27, 11, 2016); } void loop() { myRTC.updateTime(); // Şimdi değerleri okuyalım Serial.print("Şuanki Tarih / Saat : "); Serial.print(myRTC.dayofmonth); Serial.print("/"); Serial.print(myRTC.month); Serial.print("/"); Serial.print(myRTC.year); Serial.print(" "); Serial.print(myRTC.hours); Serial.print(":"); Serial.print(myRTC.minutes); Serial.print(":"); Serial.println(myRTC.seconds); // 3 saniye gecikme veriyoruz. delay( 3000); }
Örneğimizin seri porttan alınan çıktısı :
First, we will do the DS1302 pin connections. We do the connections according to the image below.
+5V : Vcc
GND : GND
SCLK : CLK (pin 5)
I/O : DAT (pin 4)
CE : RST (pin 3)
Note: You can change the pin numbers as you want. I used pin3,4,5 here.
Lets write code if pin connections ok.
But first you need to download the library. You can go to this address: https://virtuabotix-virtuabotixllc.netdna-ssl.com/core/wp-content/uploads/2014/01/virtuabotixRTC.zip or click here to download
#include <virtuabotixRTC.h> // Creation of the Real Time Clock Object //SCLK -> 5, I/O -> 4, CE -> 3 virtuabotixRTC myRTC(5, 4, 3); void setup() { Serial.begin(9600); // Dilediğiniz tarihi aşağıda belirtilen biçimde girebiliyorsunuz. Ben örnek olarak // bugünün tarihini girdim. // saniye, dakika, saat, haftanın günü, ayın günü, ay, yıl (Not: haftanın günü 1:pazartesiden başlıyor myRTC.setDS1302Time(00, 40, 1,7, 27, 11, 2016); } void loop() { myRTC.updateTime(); // Şimdi değerleri okuyalım Serial.print("Şuanki Tarih / Saat : "); Serial.print(myRTC.dayofmonth); Serial.print("/"); Serial.print(myRTC.month); Serial.print("/"); Serial.print(myRTC.year); Serial.print(" "); Serial.print(myRTC.hours); Serial.print(":"); Serial.print(myRTC.minutes); Serial.print(":"); Serial.println(myRTC.seconds); // 3 saniye gecikme veriyoruz. delay( 3000); }
Screen shot after run: