Arduino Saat ve Takvim (Formatlı)
Arduino Uno, DS1302, I2C, LCD 1302A kullanarak yaptığımız bir saat ve takvim uygulaması. Saat 00:00:00 şeklinde formatlı gösteriliyor. Tüm açıklamalar program içinde gösterilmiştir.
ARDUINO IDE KODLARI:
// KODLA GİTSİN KODLA GİTSİN KODLA GİTSİN KODLA GİTSİN KODLA GİTSİN KODLA
// SAAT-TAKVİM
// ARDUINO & DS1302 & I2C LCD1602A
// DS1302 kitaplığımın seri bağlantı üzerinden saat ve tarih bilgilerini
// hızlıca göndermek için nasıl kullanılacağına dair hızlı bir demo
//
// DS1302'nin nasıl bağlanacağını bildiğinizi varsayıyoruz.
// DS1302: CE pin -> Arduino Digital 2 (RST)
// I/O pin -> Arduino Digital 3 (DAT)
// SCLK pin -> Arduino Digital 4 (CLK)
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7);
#include <DS1302.h>
// DS1302'yi başlatıp, Arduinoda bağlayacağımız pinleri tanımlıyoruz.
DS1302 rtc(2, 3, 4);
void setup()
{
lcd.begin(16, 2);
lcd.setBacklightPin(3,POSITIVE);
lcd.setBacklight(HIGH);
// Saati çalışma moduna ayarlayıp ve yazma korumasını devre dışı bırakıyoruz.
rtc.halt(false);
rtc.writeProtect(false);
//Giriş demomuzu yazdırıyoruz.
lcd.setCursor(0, 0);
lcd.print(" Kodla Gitsin ");
lcd.setCursor(0, 1);
lcd.print(" Saat ve Takvim ");
delay(2000);
// İlk yüklemenizde aşağıdaki üç satırı aktive edip DS1302'ye zamanı yazın.
// Doğru çalıştığını gördüğüzde, aşağıdaki satırları pasivize edip yazılımı tekrar gönderin.
// Aksi takdirde gücü kesip verdiğinizde ya da yeniden başlattığınızda zaman ayarınız yanlış olur.
// rtc.setDOW(MONDAY); // Haftanın gününü pazartesi (MONDAY) gününe ayarla
// rtc.setTime(10, 34, 00); // Saati 12:00:00 olarak ayarlayın (24 saat formatı)
// rtc.setDate(15, 7, 2019); // Tarihi 15 Temmuz 2019 olarak ayarlayın
}
void loop()
{
//LCD 1.satırı yazdırıyoruz
lcd.setCursor(0, 0);
lcd.print("--- "); //saatin solundaki çizgileri gönderiyoruz. Saniye görseli oluşturmakiçin.
// Send time
lcd.print(rtc.getTimeStr());
lcd.print(" ---"); //saatin sağındaki çizgileri gönderiyoruz
//LCD 2.satırı yazdırıyoruz
lcd.setCursor(0, 1);
// Send date
lcd.print(rtc.getDateStr());
lcd.print(" ");
// Send Day-of-Week
lcd.print(rtc.getDOWStr());
//aşağıdaki geciktirmelerle hem ekrandaki saati tazeliyoruz hem de çizgilerle saniye görseli oluşturuyoruz.
//çizgiler yarım saniye gözüküp yarım saniye sönüyor, böylece saniye efekti eldeediyoruz.
// Yarım saniye bekletiyoruz
delay (500);
//Saatin yanındaki çizgileri siliyoruz.Saniye görseli oluşturmak için
lcd.setCursor(0, 0);
lcd.print(" ");
lcd.setCursor(12, 0);
lcd.print(" ");
// Yarım saniye bekletiyoruz
delay (500);
}
KULLANILAN PROGRAMLAR: Arduino Ide 1.8.9
Yorumlar
Yorum Gönder