Haberler

Raspberry Pi RTC Eğitimi: Raspberry Pi ile DS1307 ve DS3231 RTC’leri Kullanma

Projeniz için Raspberry Pi ile saat, dakika, saniye, gün, ay ve yıl bilgilerini korumak mı istiyorsunuz? O zaman bir RTC (Gerçek Zamanlı Saat) kullanmak sizin için uygun olacaktır!

Bu blogda, Raspberry’nizle bir RTC modülünü nasıl kullanacağınızı birkaç kolay adımda öğreneceksiniz!

RTC (Gerçek Zamanlı Saat) nedir?

RTC, gerçek zamanlı saat anlamına gelir ve genellikle entegre devre şeklinde olan, mevcut zamanı saniyeler, dakikalar, saatler, gün, tarih, ay ve yıl bilgisi ile takip eden bir saati ifade eder. Belirli bir zamanda çeşitli eylemleri gerçekleştirmek için kullanılabilir.

Raspberry Pi’niz için neden bir RTC’ye ihtiyacınız var?

Raspberry Pi ve neredeyse tüm diğer mikrodenetleyiciler yerleşik zamanlayıcılara sahiptir, güç olduğu sürece çalışabilirler. Ancak, güç kapatıldığında (ister manuel olarak, ister bir güç kesintisi nedeniyle), tüm zamanlayıcılar 0’a sıfırlanır.

Basit projeler için zamanlama amacıyla dahili zamanlayıcıyı kullanmak kabul edilebilir, eğer güç kesildiğinde zamanlayıcının sıfırlanmasından rahatsız olmuyorsanız. Ancak, zamanlayıcının harici güç kaynağından bağımsız olarak çalışmasını gerektiren veri kaydedicileri, saatler, alarmlar gibi projeler için bir RTC kullanmanız gerekir.

Raspberry Pi’nizle bir RTC kullanarak, Raspberry Pi’nizi yeniden programlamanız veya ana güçten ayırmanız gerekse bile zamanı takip etmeye devam edebilirsiniz.

Neredeyse tüm RTC’ler düşük akımla çalışan entegre devrelerdir ve tek bir lityum hücre pili ile yıllarca çalışabilirler.

Seeed tarafından sunulan Raspberry Pi RTC modülleri

Raspberry Pi için RTC (DS1307)

Bu, DS1307 saat çipine dayanmaktadır ve Raspberry Pi Zero, 2, 3B/B+, 4 için I2C arayüzü üzerinden gerçek zamanlı saat (RTC) sağlayabilir. Bu modülün gerçek zamanlı saati, saniyeleri, dakikaları, saatleri, ayın tarihini, ayı, haftanın gününü ve yılı sıçrama yılı telafisi ile 2100 yılına kadar geçerli olarak sayar. Saat, 24 saat veya 12 saat formatında AM/PM göstergesi ile çalışır.

Ayrıca, veri depolama için 56 baytlık, pil destekli, kalıcı (NV) RAM’e sahiptir ve programlanabilir kare dalga çıkış sinyali vardır. Raspberry Pi kapalıyken bu modülün zamanlamasını korumak istiyorsanız, pil tutucusuna 3 Volt CR1225 lityum hücre yerleştirmeniz gerekir. Bu, otomatik güç kesintisi algılama ve anahtarlama devresi ile donatılmıştır.

Yüksek Hassasiyetli RTC (DS3231) için Raspberry Pi

Yüksek Hassasiyetli Pi RTC, DS3231 saat çipine dayanmaktadır. DS3231, düşük maliyetli, son derece hassas bir I2C gerçek zamanlı saat (RTC) sağlar. I2C arayüzü üzerinden Raspberry Pi için bir RTC sağlar. TCXO (sıcaklık telafi kristal osilatörü) kaynaklı saat ile RTC, saniyeleri, dakikaları, saatleri, günü, tarihi, ayı ve yıl bilgisini korur.

Ay sonundaki tarih, 31 günden az olan aylar için otomatik olarak ayarlanır ve sıçrama yılı düzeltmeleri de içerir. Saat, 24 saat veya 12 saat formatında AM/PM göstergesi ile çalışır.

Saat, iki programlanabilir gün içi alarm ve programlanabilir kare dalga çıkışı sağlar. INT/SQW pini, alarm durumu nedeniyle bir kesinti oluşturur veya kare dalga sinyali verir ve seçim bit INTCN ile kontrol edilir.

Raspberry Pi kapalıyken zaman bilgisini korumak istiyorsanız, pil tutucusuna 3V CR1225 lityum hücre yerleştirmeniz gerekir.

DS1307 ve DS3231 RTC arasındaki fark nedir?

Şimdi DS1307 ve DS3231 saat çipleri ile RTC’leri tartıştığımıza göre, aralarındaki farkı anlamaya çalışalım.

Genel olarak, DS1307 gibi RTC modülleri, zaman tutma için harici bir 32kHz kristal ile donatılmıştır. Ancak, kristallerin sorunu, osilasyon frekanslarının dış sıcaklıktan etkilenmesidir. Bu, saatin ayda yaklaşık 5 dakika kadar kaymasına neden olur. Bu küçük bir değişiklik olsa da, göz ardı edilmesi önerilmez.

Bu etkileri en aza indirmek için, DS3231 saat çipine dayanan bir RTC kullanabiliriz. Ancak bu sorunu nasıl çözebilir? Cevap, 32kHz sıcaklık telafi kristal osilatörüne (TCXO) sahip olmasıdır ve bu, dış sıcaklık değişimlerinden etkilenmez.

Bu sensör, adından da anlaşılacağı gibi, zaman tutmanın doğru kalmasını sağlamak için saat tıklarını ekleyerek veya çıkararak frekans değişikliklerini telafi eder. Genel olarak, bu tür bir RTC, çok daha stabil ve doğru bir referans saati sağlar ve RTC’nin doğruluğunu yılda yaklaşık 2 dakika kadar korur.

Eğitim: Raspberry Pi ile DS1307 ve DS3231 RTC Kullanımı

Şimdi bu RTC modüllerinin Raspberry Pi ile nasıl kullanılacağını görelim. İki farklı RTC modülünü tanıtmış olsak da, kurulum adımları oldukça benzer olacaktır.

Ne gerekiyor?

Kurulum

Adım 1. Sürücü Kurulumu

Raspberry Pi terminalinize pi-hats deposunu klonlamak için aşağıdaki komutu yazın

git clone https://github.com/Seeed-Studio/pi-hats.git

İndirme tamamlandığında, terminalinize aşağıdaki komutu yazın.

cd pi-hats

RTC’nize göre sürücüleri kurun.

  • Eğer bir DS1307’ye sahipseniz, aşağıdakini yazın
sudo ./install.sh -u rtc_ds1307
  • Eğer bir DS3231’e sahipseniz, aşağıdakini yazın
sudo ./install.sh -u rtc_ds3231

Adım 2. Raspberry Pi’yi kapatın

sudo shutdown -h now

Adım 3. RTC HAT’ı Raspberry Pi’ye takın

Lütfen bu HAT’ın pin 1’ini Raspberry GPIO’nun pin 1’ine takmayı unutmayın, yukarıdaki resimdeki gibi.

Adım 4. Raspberry Pi’yi açın

Raspberry Pi ile RTC Kullanımı

Artık sürücünün başarıyla kurulduğunu kontrol etmek için aşağıdaki komutu kullanabilirsiniz.

/install.sh -l

Sürücüyü kaldırmak isterseniz, aşağıdaki komutu kullanabilirsiniz

sudo ./install.sh -u

Şimdi RTC modülünün neler yapabileceğine bakalım:

  • Donanım saatini okuyun ve sonucu yazdırın
sudo hwclock -r
  • Donanım saatinden sistem zamanını ayarlayın
sudo hwclock -s
  • Donanım saatini mevcut sistem zamanından ayarlayın
sudo hwclock -w
  • Daha fazla kullanım için yardım alın
hwclock --help

Eğer RTC’leri Arduino kartları ile kullanmakla ilgileniyorsanız, blogumuzu kontrol edin Arduino RTC Eğitimi: DS1307 RTC’yi Arduino ile Kullanma

Sonuç

RTC modüllerini Raspberry Pi’nizle zaman tutma projeleriniz için kullanma konusunda net bir anlayışa sahip olduğunuzu düşünüyoruz ve bir RTC modülü ile birleştirilmiş bir sonraki harika Raspberry Pi projenizi yapmanızı umuyoruz!

Leave a Reply

Your email address will not be published. Required fields are marked *