0
Bu yazıyı " 2 " dakikada okuyabilirsiniz. 🙂

Bu yazıda, Arduino ile gerçek zamanlı saat (RTC) modülünü ve 16×2 karakter LCD ekranı I2C modülü kullanarak tarih ve saati ekranda nasıl görüntüleyeceğinizi inceleyeceğiz.

Gerekli Malzemeler:

  • Arduino Uno (veya benzeri bir Arduino kartı)
  • RTC modülü (örneğin, DS3231)
  • 16×2 karakter LCD ekran (HD44780 uyumlu)
  • I2C LCD adaptör modülü (örneğin, PCF8574)
  • Breadboard
  • Jumper kablolar

Devre Kurulumu:

RTC Modülü Bağlantıları:

Arduino PinleriRTC Modülü Pinleriİşlev
5VVCCGüç Kaynağı (5V)
GNDGNDToprak Bağlantısı
A4SDAI2C Veri Hattı
A5SCLI2C Saat Hattı

LCD Ekran ve I2C Modülü Bağlantısı:

  • I2C modülünü LCD ekranın arkasındaki pinlere takın. Pinler genellikle renk kodlu veya etiketlidir.

I2C Modülü Bağlantıları

Arduino PinleriI2C Modülü Pinleriİşlev
5VVCCGüç Kaynağı (5V)
GNDGNDToprak Bağlantısı
A4SDAI2C Veri Hattı
A5SCLI2C Saat Hattı

Kodlama:

  • Kütüphane Kurulumu:
    • Arduino IDE’sinde “Araçlar” > “Kütüphane Yöneticisi” yolunu izleyin.
    • “RTClib” ve “LiquidCrystal_I2C” kütüphanelerini yükleyin.
  • Kod Yazma:
#include <Wire.h> // I2C iletişimi için gerekli
#include <RTClib.h> // RTC modülü için gerekli
#include <LiquidCrystal_I2C.h> // I2C LCD ekran için gerekli

RTC_DS3231 rtc;
LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C LCD adresini ve boyutlarını ayarlayın

void setup () {
  Serial.begin(9600);
  lcd.init();
  lcd.backlight();

  if (! rtc.begin()) {
    Serial.println("RTC bulunamadı!");
    while (1);
  }

  // İlk zaman ayarını yapın (opsiyonel)
  // rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
}

void loop () {
  DateTime now = rtc.now();

  lcd.setCursor(0, 0);
  lcd.print(now.year(), DEC);
  lcd.print('/');
  lcd.print(now.month(), DEC);
  lcd.print('/');
  lcd.print(now.day(), DEC);

  lcd.setCursor(0, 1);
  lcd.print(now.hour(), DEC);
  lcd.print(':');
  lcd.print(now.minute(), DEC);
  lcd.print(':');
  lcd.print(now.second(), DEC);

  delay(1000);
}

Kod Açıklaması:

  • Kütüphaneler: RTClib ve LiquidCrystal_I2C kütüphaneleri dahil edilir.
  • RTC Nesnesi Oluşturma: RTC_DS3231 sınıfından rtc adında bir nesne oluşturulur.
  • LCD Nesnesi Oluşturma: LiquidCrystal_I2C sınıfından lcd adında bir nesne oluşturulur ve I2C adresi ile LCD boyutları belirtilir.
  • setup() Fonksiyonu:
    • Seri iletişim başlatılır.
    • LCD ekran başlatılır ve arka ışığı açılır.
    • rtc.begin() fonksiyonu ile RTC modülü başlatılır. Eğer modül bulunmazsa, bir hata mesajı yazdırılır ve program durdurulur.
    • rtc.adjust() fonksiyonu ile RTC modülünün zamanını ayarlayabilirsiniz (isteğe bağlı).
  • loop() Fonksiyonu:
    • rtc.now() fonksiyonu ile mevcut tarih ve saat bilgisi alınır.
    • lcd.setCursor() fonksiyonu ile imleç konumu ayarlanır.
    • lcd.print() fonksiyonu ile tarih ve saat bilgileri LCD ekrana yazdırılır.
    • 1 saniye (1000 milisaniye) beklenir.

Geliştirmeler:

  • Tarih ve saat formatını özelleştirin.
  • Sıcaklık gibi ek sensör verilerini LCD ekranda görüntüleyin.
  • Alarm veya zamanlayıcı gibi özellikler ekleyin.
  • LCD ekranın kontrastını ayarlamak için potansiyometre kullanın.

Notlar:

  • RTC modülünüzün pilinin takılı olduğundan emin olun. Aksi takdirde, Arduino’ya güç verilmediğinde zaman kaybolacaktır.
  • I2C LCD modülünüzün adresini doğru şekilde ayarlayın. Bu bilgi genellikle modülün veri sayfasında bulunabilir.
  • RTC ve LCD kütüphanelerinin kullanımına dair daha fazla bilgi edinmek için kütüphane dokümantasyonlarını inceleyebilirsiniz.

Özet:

RTC modülü ve LCD ekran kullanarak Arduino projelerinize gerçek zamanlı saat bilgisi ekleyebilirsiniz. Bu, zamanlanmış olaylar, veri kaydı ve kullanıcı arayüzü gibi birçok uygulama için kullanışlı bir özelliktir.

Ahmet Kemal YILDIZ
Eskişehir Osmangazi Üniversitesi Bilgisayar ve Öğretim Teknolojileri Öğretmenliği mezunu bir Bilişim Teknolojileri ve Yazılım Dersi Öğretmeniyim. Bilişim Teknolojileri ve Yazılım dersi ile ilgili ders etkinlikleri, kaynak materyaller, örnek etkinlikler ve ilgi duyduğum birçok konu hakkında vakit buldukça buradan blogluyorum. :)

    22# – Arduino ile Renk Sensörü (TCS3200) Kullanımı

    önceki yazı

    Bu Yazılar da İlgini Çekebilir!

    Yorumlar

    Yorum yap

    E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

    Daha Arduino