21 Temmuz 2015 Salı
Arduino’da Zaman Kavramı ve Time Kütüphanesi
Time kütüphanesi Arduino’ya ekstra
donanım ile ya da ekstra donanım olmadan zaman özelliği ekliyor. Zamanı saniye,
dakika, saat, gün, ay ve yıl olarak alabilmek mümkün. Time kütüphanesini burdan indirebilirsiniz.
Time kütüphanesi çeşitli örneklerle
birlikte geliyor. Benzer kodlarla Arduino'da aşadıkaki örneklerle zaman ve tarih kullanabilirsiniz.
- Gerçek Zamanlı Saat (RTC)
- İnternet NTP Zaman Servisi
- Küresel Konumlama Sistemi Zaman Bilgisi (GPS)
- DCF77 Radyo Sinyali ( bu örnek için tıklayın )
- Bilgisayardan Seri Olarak Alınan Zaman bilgisi
DCF77 Radyo Sinyali Modülü Bu modül sayesinde saat bilgisi almak mümkün. |
Kütüphane Fonksiyonları:
minute(); // Dakika (0-59)
second(); // Saniye (0-59)
day(); // Gün (1-31)
weekday(); // Haftanın günü( Pazar haftanın 1’inci günü )
month(); // Ay (1-12)
year(); // Yıl ( 2015 gibi )
hourFormat12(); // Saatler 12 saat formatına döner isAM(); // Eğer AM ise true döndürür
isPM(); // Eğer PM ise true döndürür
now(); // 1 Haziran 1970’den şuana kadar geçen süreyi saniye cinsinden verir
Time kütüphanesi fazladan seçenek olarak zaman ve tarih parametrelerine sahiptir. Aslında bu parametreler anlık olarak dakika saniye gibi verilerin alınırken değişmesini önlemek için var.
Aşağıdaki fonksiyonları kullanmak sorunu çözecektir:
time_t t = now(); //
zamanı t değişkenine atar
hour(t); // t zamanı için saat bilgisini döndürür
second(t); // t zamanı için saniye bilgisini döndürür minute(t); // t zamanı için dakika bilgisini döndürür
hour(t); // t zamanı için saat bilgisini döndürür
second(t); // t zamanı için saniye bilgisini döndürür minute(t); // t zamanı için dakika bilgisini döndürür
day(t); // t zamanı için gün bilgisini
döndürür
weekday(t); // t zamanı için haftanın günü bilgisini döndürür
month(t); // t zamanı için ay bilgisini döndürür
year(t); // t zamanı için yıl bilgisini döndürür
weekday(t); // t zamanı için haftanın günü bilgisini döndürür
month(t); // t zamanı için ay bilgisini döndürür
year(t); // t zamanı için yıl bilgisini döndürür
Gün ve ay bilgilerini yazdırmak için string fonksiyonları:
monthStr()
monthShortStr()
dayStr()
dayShortStr()
monthShortStr()
dayStr()
dayShortStr()
Bu fonksiyonlar için bazı parametreler kullanmak gerekiyor dikat edin, month() gibi mesela. Yani monthStr(month()) ya da dayStr(weekday()) şeklinde yazarsanız çalışır.
Zaman servislerini ayarlamak için kullanılan fonksiyonlar:
- adjustTime(adjustment); // Ayar değeri girerek ayarlama
- setTime(t); // Zamanı sistem zamanına ayarlar
- setTime(hr,min,sec,day,month,yr); // Manuel ayarlamak için yöntem
- timeStatus(); // Zaman ayarlı mı değil mi, bir takım dönüşler yapar
* timeNotSet // Zaman hiç ayarlanmadı,
// Saat 1 Haziran 1970’te
* timeNeedsSync // Zaman ayarlı fakat senkronizasyon gerçekleşmedi
* timeSet // Zaman ayarlandı ve senkronize oldu
// Saat 1 Haziran 1970’te
* timeNeedsSync // Zaman ayarlı fakat senkronizasyon gerçekleşmedi
* timeSet // Zaman ayarlandı ve senkronize oldu
Time kütüphanesi bazı örnekler:
Çeşitli gerçek zamanlı saat modülleri:
Faydalanılan kaynaklar :
- “TimeSerial” harici donanım olmadan saat çalıştırma örneği
- “TimeRTC” DS1307 ya da DS3231 RTC modülleri için örnek
- “TimeNTP” Arduino ethernet modülü için örnek
- “TimeGPS” GPS modülü için örnek
- “ DCF77” radyo sinyali ile ilgili örnek için tıklayın
Arduino IDE Time kütüphanesi eklemek / güncellemek:
Arduino IDE'yi açıyoruz |
Kütüphaneleri Yönet'e tıklıyoruz |
Time kütüphanesini buluyoruz |
Eskiyse güncelliyoruz |
Yoksa yüklüyoruz |
Örneklerden Time'ın üzerine geliyoruz |
İstediğimiz örneği seçip çalışmaya başlıyoruz |
DS3231 |
DS1307 |
DS1302 |
http://playground.arduino.cc/
www.arduino.cc
Yazar: Korhan TÜRKOĞLU
Yazar: Korhan TÜRKOĞLU
Kaydol:
Kayıt Yorumları
(
Atom
)
Hiç yorum yok :
Yorum Gönder