Ezan vakitlerini takip etmek, İslam dininde önemli bir ibadet uygulamasıdır ve Müslümanlar için günlük rutinlerinde bir temel oluşturur. Geleneksel olarak, ezan vakitleri güneşin konumuna göre hesaplanır ve genellikle manuel olarak takip edilir. Ancak, günümüzde teknolojinin ilerlemesiyle birlikte, ezan vakitlerini takip etmek için çeşitli dijital araçlar ve uygulamalar mevcuttur.
Arduino gibi mikrodenetleyiciler ve uygun sensörler kullanılarak, ezan vakitlerini otomatik olarak takip eden ve belirli zamanlarda uygun sinyaller veren bir cihaz oluşturmak mümkündür. Bu tür bir cihaz, birçok Müslüman için günlük ibadetlerini kolaylaştırabilir ve zamanlarını daha verimli bir şekilde planlamalarına yardımcı olabilir.
Bu proje için Arduino mikrodenetleyicisi ve ilgili bileşenlerin yanı sıra, bir gerçek zamanlı saat modülü, bir LCD ekran, bir SD kart okuyucu ve bir hoparlör gibi malzemelere ihtiyaç duyulabilir. Ayrıca, ezan vakitlerini depolamak için bir dizi veri yapısı ve zaman bilgilerini tutmak için bellek yönetimi kodu gerekebilir.
Ezan vakitlerini depolamak için bir dizi yapısı kullanarak, her gün için sabah, öğle, ikindi, akşam ve yatsı ezan vakitlerini saklamak mümkündür. Bu veriler, kullanıcının belirli bir tarihte hangi saatlerde ezan vakitlerinin olduğunu belirlemesine olanak tanır. Ayrıca, Arduino’nun gerçek zamanlı saat modülü aracılığıyla güncel zaman bilgisi alınarak, doğru ezan vakitlerinin hesaplanması sağlanabilir.
Projeyi tamamlamak için, Arduino’nun programlama dilini kullanarak ezan vakitlerini takip eden ve gerekli zamanlarda uygun işlemleri gerçekleştiren bir kod yazılmalıdır. Bu kod, gerçek zamanlı saat modülünden zaman bilgisi almayı, depolanan ezan vakitlerini karşılaştırmayı ve gerekli sinyalleri üretmeyi içermelidir.
#include <MyRealTimeClock.h> DS1302 RTC kütüphanesi #include <LiquidCrystal_I2C_AvrI2C.h> I2C 16x2 Ekran kütüphanesi #include <SD.h> // sd kart kütüphanesi Arduinı IDE ile otomatik kurulmuş olur #define Sd_Chip_pin 53 //MicoSD kartın CS haberleşme pini arduino'nun 53 nolu pinine bağlı olduğunu belirttik #include <TMRpcm.h> // melodi çalma kütüphanesi #include "SPI.h" char val; TMRpcm tmrpcm; // melodi fonksiyonu oluşturma TMRpcm wav; struct EzanVakitleri { int sabah[32][2]; // Sabah ezan vakitleri (31 gün) int ogle[32][2]; // Öğle ezan vakitleri (31 gün) int ikindi[32][2]; // İkindi ezan vakitleri (31 gün) int aksam[32][2]; // Akşam ezan vakitleri (31 gün) int yatsi[32][2]; // Yatsı ezan vakitleri (31 gün) }; // Aylık ezan vakitlerini tanımlama EzanVakitleri ocak = { // Sabah ezan vakitleri (saat, dakika) { {0, 00},{6, 18},{6, 19},{6, 19},{6, 20},{6, 20},{6, 20},{6, 21},{6, 21},{6, 21},{6, 22},{6, 22},{6, 22},{6, 23},{6, 23},{6, 23},{6, 23},{6, 23},{6, 24},{6, 24},{6, 24},{6, 24},{6, 24},{6, 24},{6, 24},{6, 24},{6, 24},{6, 24},{6, 24},{6, 24},{6, 24},{6, 24} }, // Öğle ezan vakitleri { {0, 00},{13,13},{13,13},{13,14},{13,14},{13,15},{13,15},{13,16},{13,16},{13,17},{13,17},{13,17},{13,18},{13,18},{13,18},{13,19},{13,19},{13,20},{13,20},{13,20},{13,20},{13,21},{13,21},{13,21},{13,22},{13,22},{13,22},{13,22},{13,22},{13,23},{13,23},{13,23} }, // İkindi ezan vakitleri { {0, 00},{16,27},{16,27},{16,28},{16,28},{16,29},{16,30},{16,30},{16,31},{16,31},{16,32},{16,32},{16,33},{16,33},{16,34},{16,34},{16,35},{16,35},{16,36},{16,36},{16,37},{16,37},{16,38},{16,38},{16,38},{16,39},{16,39},{16,40},{16,40},{16,40},{16,41},{16,41} }, // Akşam ezan vakitleri { {0, 00},{18,51},{18,52},{18,52},{18,53},{18,54},{18,54},{18,55},{18,55},{18,56},{18,56},{18,57},{18,58},{18,58},{18,59},{18,59},{19, 0},{19, 1},{19, 1},{19, 2},{19, 2},{19, 3},{19, 3},{19, 4},{19, 4},{19, 5},{19, 5},{19, 6},{19, 6},{19, 7},{19, 7},{19, 8} }, // Yatsı ezan vakitleri { {0, 00},{20, 3},{20, 4},{20, 4},{20, 5},{20, 5},{20, 6},{20, 6},{20, 7},{20, 7},{20, 8},{20, 8},{20, 9},{20, 9},{20,10},{20,10},{20,11},{20,11},{20,12},{20,12},{20,13},{20,13},{20,14},{20,14},{20,14},{20,15},{20,15},{20,16},{20,16},{20,17},{20,17},{20,17} } }; EzanVakitleri subat = { // Sabah ezan vakitleri (saat, dakika) { {0, 00},{6, 24},{6, 24},{6, 24},{6, 24},{6, 24},{6, 24},{6, 23},{6, 23},{6, 23},{6, 23},{6, 23},{6, 22},{6, 22},{6, 22},{6, 21},{6, 21},{6, 21},{6, 20},{6, 20},{6, 19},{6, 19},{6, 19},{6, 18},{6, 18},{6, 17},{6, 17},{6, 16},{6, 16},{6, 15},{0, 00},{0, 00} }, // Öğle ezan vakitleri { {0, 00},{13,23},{13,23},{13,23},{13,23},{13,24},{13,24},{13,24},{13,24},{13,24},{13,24},{13,24},{13,24},{13,24},{13,24},{13,24},{13,24},{13,24},{13,24},{13,23},{13,23},{13,23},{13,23},{13,23},{13,23},{13,23},{13,23},{13,22},{13,22},{13,22},{0, 00},{0, 00} }, // İkindi ezan vakitleri { {0, 00},{16,41},{16,42},{16,42},{16,42},{16,42},{16,43},{16,43},{16,43},{16,43},{16,43},{16,44},{16,44},{16,44},{16,44},{16,44},{16,44},{16,44},{16,44},{16,44},{16,44},{16,44},{16,44},{16,44},{16,44},{16,44},{16,44},{16,44},{16,43},{16,43},{0, 00},{0, 00} }, // Akşam ezan vakitleri { {0, 00},{19, 8},{19, 9},{19, 9},{19,10},{19,10},{19,10},{19,11},{19,11},{19,12},{19,12},{19,12},{19,13},{19,13},{19,13},{19,14},{19,14},{19,14},{19,15},{19,15},{19,15},{19,16},{19,16},{19,16},{19,16},{19,17},{19,17},{19,17},{19,17},{19,17},{0, 00},{0, 00} }, // Yatsı ezan vakitleri { {0, 00},{20,18},{20,18},{20,18},{20,19},{20,19},{20,19},{20,20},{20,20},{20,20},{20,21},{20,21},{20,21},{20,21},{20,22},{20,22},{20,22},{20,22},{20,23},{20,23},{20,23},{20,23},{20,23},{20,24},{20,24},{20,24},{20,24},{20,24},{20,25},{20,25},{0, 00},{0, 00} } }; EzanVakitleri mart = { // Sabah ezan vakitleri (saat, dakika) { {0, 00},{6, 15},{6, 14},{6, 13},{6, 13},{6, 12},{6, 12},{6, 11},{6, 10},{6, 10},{6, 9},{6, 8},{6, 8},{6, 7},{6, 6},{6, 6},{6, 5},{6, 4},{6, 3},{6, 3},{6, 2},{6, 1},{6, 0},{6, 0},{5, 59},{5, 58},{5, 57},{5, 57},{5, 56},{5, 55},{5, 54},{5, 54} }, // Öğle ezan vakitleri { {0, 00},{13,22},{13,22},{13,21},{13,21},{13,21},{13,21},{13,20},{13,20},{13,20},{13,20},{13,19},{13,19},{13,19},{13,19},{13,18},{13,18},{13,18},{13,17},{13,17},{13,17},{13,17},{13,16},{13,16},{13,16},{13,15},{13,15},{13,15},{13,14},{13,14},{13,14},{13,14} }, // İkindi ezan vakitleri { {0, 00},{16,43},{16,43},{16,43},{16,43},{16,42},{16,42},{16,42},{16,42},{16,41},{16,41},{16,41},{16,40},{16,40},{16,40},{16,39},{16,39},{16,38},{16,38},{16,37},{16,37},{16,37},{16,36},{16,36},{16,35},{16,35},{16,34},{16,34},{16,33},{16,32},{16,32},{16,31} }, // Akşam ezan vakitleri { {0, 00},{19,18},{19,18},{19,18},{19,18},{19,18},{19,19},{19,19},{19,19},{19,19},{19,19},{19,19},{19,20},{19,20},{19,20},{19,20},{19,20},{19,20},{19,20},{19,20},{19,21},{19,21},{19,21},{19,21},{19,21},{19,21},{19,21},{19,21},{19,21},{19,22},{19,22},{19,22} }, // Yatsı ezan vakitleri { {0, 00},{20,25},{20,25},{20,25},{20,25},{20,26},{20,26},{20,26},{20,26},{20,26},{20,26},{20,26},{20,27},{20,27},{20,27},{20,27},{20,27},{20,27},{20,27},{20,28},{20,28},{20,28},{20,28},{20,28},{20,28},{20,28},{20,29},{20,29},{20,29},{20,29},{20,29},{20,29} } }; EzanVakitleri nisan = { // Sabah ezan vakitleri (saat, dakika) { {0, 00},{5, 53},{5, 52},{5, 51},{5, 51},{5, 50},{5, 49},{5, 48},{5, 47},{5, 47},{5, 46},{5, 45},{5, 44},{5, 44},{5, 43},{5, 42},{5, 41},{5, 41},{5, 40},{5, 39},{5, 39},{5, 38},{5, 37},{5, 36},{5, 36},{5, 35},{5, 34},{5, 34},{5, 33},{5, 33},{5, 32},{0, 00} }, // Öğle ezan vakitleri { {0, 00},{13,13},{13,13},{13,13},{13,12},{13,12},{13,12},{13,12},{13,11},{13,11},{13,11},{13,11},{13,10},{13,10},{13,10},{13,10},{13, 9},{13, 9},{13, 9},{13, 9},{13, 8},{13, 8},{13, 8},{13, 8},{13, 8},{13, 7},{13, 7},{13, 7},{13, 7},{13, 7},{13, 7},{0, 00} }, // İkindi ezan vakitleri { {0, 00},{16,31},{16,30},{16,30},{16,29},{16,28},{16,28},{16,27},{16,27},{16,26},{16,25},{16,25},{16,24},{16,23},{16,23},{16,22},{16,22},{16,21},{16,20},{16,20},{16,19},{16,18},{16,18},{16,17},{16,16},{16,16},{16,15},{16,14},{16,14},{16,14},{16,14},{0, 00} }, // Akşam ezan vakitleri { {0, 00},{19,22},{19,22},{19,22},{19,22},{19,22},{19,22},{19,23},{19,23},{19,23},{19,23},{19,23},{19,23},{19,23},{19,24},{19,24},{19,24},{19,24},{19,24},{19,24},{19,25},{19,25},{19,25},{19,25},{19,25},{19,25},{19,26},{19,26},{19,26},{19,26},{19,27},{0, 00} }, // Yatsı ezan vakitleri { {0, 00},{20,30},{20,30},{20,30},{20,30},{20,30},{20,30},{20,31},{20,31},{20,31},{20,31},{20,32},{20,32},{20,32},{20,32},{20,33},{20,33},{20,33},{20,33},{20,34},{20,34},{20,34},{20,35},{20,35},{20,35},{20,35},{20,36},{20,36},{20,36},{20,37},{20,37},{0, 00} } }; EzanVakitleri mayis = { // Sabah ezan vakitleri (saat, dakika) { {0, 00},{5, 31},{5, 31},{5, 30},{5, 30},{5, 29},{5, 28},{5, 28},{5, 27},{5, 27},{5, 26},{5, 26},{5, 25},{5, 25},{5, 25},{5, 24},{5, 24},{5, 23},{5, 23},{5, 23},{5, 22},{5, 22},{5, 22},{5, 22},{5, 21},{5, 21},{5, 21},{5, 21},{5, 20},{5, 20},{5, 20},{5, 20} }, // Öğle ezan vakitleri { {0, 00},{13, 7},{13, 7},{13, 6},{13, 6},{13, 6},{13, 6},{13, 6},{13, 6},{13, 6},{13, 6},{13, 6},{13, 6},{13, 6},{13, 6},{13, 6},{13, 6},{13, 6},{13, 6},{13, 6},{13, 6},{13, 6},{13, 6},{13, 6},{13, 6},{13, 7},{13, 7},{13, 7},{13, 7},{13, 7},{13, 7},{13, 7} }, // İkindi ezan vakitleri { {0, 00},{16,15},{16,16},{16,16},{16,17},{16,17},{16,18},{16,19},{16,19},{16,20},{16,20},{16,21},{16,21},{16,22},{16,22},{16,23},{16,23},{16,24},{16,24},{16,25},{16,25},{16,26},{16,26},{16,27},{16,27},{16,28},{16,28},{16,29},{16,29},{16,29},{16,30},{16,30} }, // Akşam ezan vakitleri { {0, 00},{19,27},{19,27},{19,27},{19,28},{19,28},{19,28},{19,28},{19,29},{19,29},{19,29},{19,29},{19,30},{19,30},{19,30},{19,31},{19,31},{19,31},{19,31},{19,32},{19,32},{19,32},{19,33},{19,33},{19,33},{19,34},{19,34},{19,34},{19,35},{19,35},{19,35},{19,36} }, // Yatsı ezan vakitleri { {0, 00},{20,38},{20,38},{20,38},{20,39},{20,39},{20,39},{20,40},{20,40},{20,41},{20,41},{20,41},{20,42},{20,42},{20,43},{20,43},{20,44},{20,44},{20,44},{20,45},{20,45},{20,46},{20,46},{20,47},{20,47},{20,47},{20,48},{20,48},{20,49},{20,49},{20,50},{20,50} } }; EzanVakitleri haziran = { // Sabah ezan vakitleri (saat, dakika) { {0, 00},{5, 20},{5, 20},{5, 20},{5, 20},{5, 20},{5, 20},{5, 20},{5, 20},{5, 20},{5, 20},{5, 20},{5, 20},{5, 20},{5, 20},{5, 20},{5, 20},{5, 21},{5, 21},{5, 21},{5, 21},{5, 21},{5, 22},{5, 22},{5, 22},{5, 23},{5, 23},{5, 23},{5, 23},{5, 24},{5, 24},{0, 00} }, // Öğle ezan vakitleri { {0, 00},{13, 8},{13, 8},{13, 8},{13, 8},{13, 8},{13, 8},{13, 9},{13, 9},{13, 9},{13, 9},{13, 9},{13,10},{13,10},{13,10},{13,10},{13,10},{13,11},{13,11},{13,11},{13,11},{13,12},{13,12},{13,12},{13,12},{13,12},{13,13},{13,13},{13,13},{13,13},{13,13},{0, 00} }, // İkindi ezan vakitleri { {0, 00},{16,31},{16,31},{16,31},{16,32},{16,32},{16,33},{16,33},{16,33},{16,34},{16,34},{16,34},{16,35},{16,35},{16,35},{16,36},{16,36},{16,36},{16,36},{16,37},{16,37},{16,37},{16,37},{16,37},{16,38},{16,38},{16,38},{16,38},{16,38},{16,38},{16,38},{0, 00} }, // Akşam ezan vakitleri { {0, 00},{19,36},{19,36},{19,37},{19,37},{19,37},{19,38},{19,38},{19,38},{19,38},{19,39},{19,39},{19,39},{19,40},{19,40},{19,40},{19,40},{19,41},{19,41},{19,41},{19,41},{19,42},{19,42},{19,42},{19,42},{19,42},{19,42},{19,43},{19,43},{19,43},{19,43},{0, 00} }, // Yatsı ezan vakitleri { {0, 00},{20,50},{20,51},{20,51},{20,52},{20,52},{20,52},{20,53},{20,53},{20,53},{20,54},{20,54},{20,54},{20,55},{20,55},{20,55},{20,56},{20,56},{20,56},{20,56},{20,57},{20,57},{20,57},{20,57},{20,57},{20,57},{20,58},{20,58},{20,58},{20,58},{20,58},{0, 00} } }; // Ay dizisi EzanVakitleri *aylar[] = { &ocak, &subat, &mart, &nisan, &mayis, &haziran, }; // Şu anki ayın ezan vakitlerini depolamak için işaretçi EzanVakitleri *suankiay; MyRealTimeClock myRTC(6, 7, 8); //Or CLK -> 6 , DAT -> 7, Reset -> 8 pinleri arduino'ya ekledik LiquidCrystal_I2C_AvrI2C lcd(0x27,17,2); //lcd isminde 0x27 adresli bir 17x2 ekran nesnesi oluşturduk int anficalistir = 2; //Anfi çalıştırmak için 2 nolu pini çıkış olarak atayacağız int minareisikyak = 3; //Minare Işıkları için 3 nolu pini çıkış olarak atayacağız int ramazanayimi=1; //Ramazan ayı içinde 1 yapacağız void(* resetfunc) (void) = 0; //WAV Dosyası çalıştıkdan sonra RAM'ı boşaltmak için buraya donuyoruz void setup() { pinMode(anficalistir, OUTPUT); //çıkış olarak ayarlandı pinMode(minareisikyak, OUTPUT); //çıkış olarak ayarlandı digitalWrite(anficalistir, LOW); //Çıkış LOW yapıldı digitalWrite(minareisikyak, LOW); //Çıkış LOW yapıldı Serial.begin(9600); //myRTC.setDS1302Time(12, 15, 12, 5, 17, 3, 2024); //(saniye, dakika, saat, haftanın günü, ayın günü, ay, yıl) DS1302'yı ayarlamak için lcd.begin(); //lcd'yi başlatıyoruz lcd.backlight(); //lcd arka ışığını açıyoruz. tmrpcm.speakerPin = 11; // hoparlör + bacağı digital 11. pine tak if (!SD.begin(Sd_Chip_pin)) { // sd module bağlandık return; } } void loop() { myRTC.updateTime(); //Guncel Saati bilgisini istiyoruz int suanzaman[6]={myRTC.month,myRTC.dayofmonth,myRTC.year,myRTC.hours,myRTC.minutes,myRTC.seconds}; // Saat ve Tarih bilgisini suanzaman içine kaydettik // Şu anki ayı al ve ezan vakitlerini ona göre ayarla (örneğin, Ocak ayı için) int aybaslat = myRTC.month - 1; // Diziler sıfırdan başladığı için 1 çıkarıyoruz suankiay = aylar[aybaslat]; int sabahezansaati=suankiay->sabah[myRTC.dayofmonth][0]; //Sabah Ezan Vakti için Saatı ayarladık int sabahezandakikasi=suankiay->sabah[myRTC.dayofmonth][1]; //Sabah Ezan Vakti için Dakikayı ayarladık int sabahezansaniyesi=0; int oglenezansaati=suankiay->ogle[myRTC.dayofmonth][0]; //Öğlen Ezan Vakti için Saatı ayarladık int oglenezandakikasi=suankiay->ogle[myRTC.dayofmonth][1]; //Öğlen Ezan Vakti için Dakikayı ayarladık int oglenezansaniyesi=0; int ikindiezansaati=suankiay->ikindi[myRTC.dayofmonth][0]; //İkindi Ezan Vakti için Saatı ayarladık int ikindiezandakikasi=suankiay->ikindi[myRTC.dayofmonth][1]; //İkindi Ezan Vakti için Dakikayı ayarladık int ikindiezansaniyesi=0; int aksamezansaati=suankiay->aksam[myRTC.dayofmonth][0]; //Akşam Ezan Vakti için Saatı ayarladık int aksamezandakikasi=suankiay->aksam[myRTC.dayofmonth][1]; //Akşam Ezan Vakti için Dakikayı ayarladık int aksamezansaniyesi=0; int yatsiezansaati=suankiay->yatsi[myRTC.dayofmonth][0]; //Yatsı Ezan Vakti için Saatı ayarladık int yatsiezandakikasi=suankiay->yatsi[myRTC.dayofmonth][1]; //Yatsı Ezan Vakti için Dakikayı ayarladık int yatsiezansaniyesi=0; if (suanzaman[3]==sabahezansaati && suanzaman[4]==sabahezandakikasi && suanzaman[5]==sabahezansaniyesi) //Şuan Zaman Sabah ezanı zamanına eşit olduğunda çalışacak { digitalWrite(anficalistir, HIGH); //Anfi Başlatıldı lcd.setCursor(0,0); lcd.print("EZAN OKUNUYOR... "); lcd.setCursor(0,1); lcd.print(" SABAH "); lcd.print(myRTC.hours); lcd.print(":"); lcd.print(myRTC.minutes); lcd.print(":"); lcd.print(myRTC.seconds); lcd.print(" "); tmrpcm.play("1.wav"); // Sabah ezanı SD kartdaki Dosyamız tmrpcm.volume(1); //Sesi yükselttik tmrpcm.quality(1); //Ses kalitesi max. yapıldı delay(306000); //EZAN OKUNURKEN 5.1 DAKİKA BEKLE tmrpcm.stopPlayback(); //WAV dosyası durduruldu tmrpcm.disable(); //Kütüphane kapatıldı digitalWrite(anficalistir, LOW); //Anfi kapatıldı lcd.setCursor(0,0); lcd.print(" SABAH EZANI "); lcd.setCursor(0,1); lcd.print("EZAN OKUNDU.... "); delay(60000); resetfunc(); // reser atıldı } else if (suanzaman[3]==oglenezansaati && suanzaman[4]==oglenezandakikasi && suanzaman[5]==oglenezansaniyesi) { digitalWrite(anficalistir, HIGH); lcd.setCursor(0,0); lcd.print("EZAN OKUNUYOR.. "); lcd.setCursor(0,1); lcd.print(" OGLEN "); lcd.print(myRTC.hours); lcd.print(":"); lcd.print(myRTC.minutes); lcd.print(":"); lcd.print(myRTC.seconds); lcd.print(" "); tmrpcm.play("2.wav"); tmrpcm.volume(1); tmrpcm.quality(1); delay(210000);//EZAN OKUNURKEN 3,5 DAKİKA BEKLE tmrpcm.stopPlayback(); tmrpcm.disable(); digitalWrite(anficalistir, LOW); lcd.setCursor(0,0); lcd.print(" OGLEN EZANI "); lcd.setCursor(0,1); lcd.print("EZAN OKUNDU.... "); delay(60000); resetfunc(); } else if (suanzaman[3]==ikindiezansaati && suanzaman[4]==ikindiezandakikasi && suanzaman[5]==ikindiezansaniyesi) { digitalWrite(anficalistir, HIGH); lcd.setCursor(0,0); lcd.print("EZAN OKUNUYOR.. "); lcd.setCursor(0,1); lcd.print(" IKINDI "); lcd.print(myRTC.hours); lcd.print(":"); lcd.print(myRTC.minutes); lcd.print(":"); lcd.print(myRTC.seconds); lcd.print(" "); tmrpcm.play("3.wav"); tmrpcm.volume(1); tmrpcm.quality(1); delay(246000); //EZAN OKUNURKEN 4.1 DAKİKA BEKLE tmrpcm.stopPlayback(); tmrpcm.disable(); digitalWrite(anficalistir, LOW); lcd.setCursor(0,0); lcd.print(" IKINDI EZANI "); lcd.setCursor(0,1); lcd.print("EZAN OKUNDU.... "); delay(60000); resetfunc(); } else if (suanzaman[3]==aksamezansaati && suanzaman[4]==aksamezandakikasi && suanzaman[5]==aksamezansaniyesi) { digitalWrite(anficalistir, HIGH); lcd.setCursor(0,0); lcd.print("EZAN OKUNUYOR.. "); lcd.setCursor(0,1); lcd.print(" AKSAM "); lcd.print(myRTC.hours); lcd.print(":"); lcd.print(myRTC.minutes); lcd.print(":"); lcd.print(myRTC.seconds); lcd.print(" "); tmrpcm.play("4.wav"); tmrpcm.volume(1); tmrpcm.quality(1); delay(147000); //EZAN OKUNURKEN 2,45 DAKİKA BEKLE tmrpcm.stopPlayback(); tmrpcm.disable(); digitalWrite(anficalistir, LOW); lcd.setCursor(0,0); lcd.print(" AKSAM EZANI "); lcd.setCursor(0,1); lcd.print("EZAN OKUNDU.... "); delay(60000); resetfunc(); } else if (suanzaman[3]==yatsiezansaati && suanzaman[4]==yatsiezandakikasi && suanzaman[5]==yatsiezansaniyesi) { digitalWrite(anficalistir, HIGH); lcd.setCursor(0,0); lcd.print("EZAN OKUNUYOR.. "); lcd.setCursor(0,1); lcd.print(" YATSI "); lcd.print(myRTC.hours); lcd.print(":"); lcd.print(myRTC.minutes); lcd.print(":"); lcd.print(myRTC.seconds); lcd.print(" "); tmrpcm.play("5.wav"); tmrpcm.volume(1); tmrpcm.quality(1); delay(206400); tmrpcm.stopPlayback(); tmrpcm.disable(); digitalWrite(anficalistir, LOW); lcd.setCursor(0,0); lcd.print(" YATSI EZANI "); lcd.setCursor(0,1); lcd.print("EZAN OKUNDU.... "); delay(60000); resetfunc(); } else { lcd.setCursor(0,0); lcd.print("TARIH= "); lcd.print(myRTC.dayofmonth); lcd.print("/"); lcd.print(myRTC.month); lcd.print("/"); lcd.print(myRTC.year); lcd.print(" "); lcd.setCursor(0,1); switch(myRTC.dayofweek) { case 1: lcd.print("pts.");break; case 2: lcd.print("sal.");break; case 3: lcd.print("crs.");break; case 4: lcd.print("prs.");break; case 5: lcd.print("cum.");break; case 6: lcd.print("cts.");break; case 7: lcd.print("paz.");break; } lcd.print(" "); lcd.print(myRTC.hours); lcd.print(":"); lcd.print(myRTC.minutes); lcd.print(":"); lcd.print(myRTC.seconds); lcd.print(" "); } //CUMA GÜNÜ CUMA NAMAZINDAN 1 SAAT ÖNCE SELA OKUR if (myRTC.dayofweek==5 && suanzaman[3]==oglenezansaati - 1 && suanzaman[4]==oglenezandakikasi && suanzaman[5]==oglenezansaniyesi) { digitalWrite(anficalistir, HIGH); lcd.setCursor(0,0); lcd.print("SELAA OKUNUYOR.. "); lcd.setCursor(0,1); lcd.print(" CUMA SELASI "); lcd.print(myRTC.hours); lcd.print(":"); lcd.print(myRTC.minutes); lcd.print(":"); lcd.print(myRTC.seconds); tmrpcm.play("6.wav"); tmrpcm.volume(1); tmrpcm.quality(1); delay(378000); tmrpcm.stopPlayback(); tmrpcm.disable(); digitalWrite(anficalistir, LOW); lcd.setCursor(0,0); lcd.print(" CUMA "); lcd.setCursor(0,1); lcd.print("SELAA OKUNDU.... "); delay(60000); resetfunc(); } //-------- //PERŞEMBE GÜNÜ AKŞAM EZANI İLE CUMA SABAH EZANINA KADAR AKTİF OLUR (MİNARE IŞIKLARINI YAKMAK İÇİN KULLANILIR) if (myRTC.dayofweek==4 && suanzaman[3]==aksamezansaati && suanzaman[4]==aksamezandakikasi && suanzaman[5]==aksamezansaniyesi) {digitalWrite(minareisikyak, HIGH);} else if (myRTC.dayofweek==5 && suanzaman[3]==sabahezansaati && suanzaman[4]==sabahezandakikasi && suanzaman[5]==sabahezansaniyesi) {digitalWrite(minareisikyak, LOW);} //-------- //RAMAZAN AYI BOYUNCA İFTAR SAATI İLE SAHUR SAATI ARASINDA AKTİF OLUR (MİNARE IŞIKLARINI YAKMAK İÇİN KULLANILIR) if (ramazanayimi==1 && suanzaman[3]==aksamezansaati && suanzaman[4]==aksamezandakikasi && suanzaman[5]==aksamezansaniyesi) {digitalWrite(minareisikyak, HIGH);} else if (ramazanayimi==1 && suanzaman[3]==sabahezansaati && suanzaman[4]==sabahezandakikasi && suanzaman[5]==sabahezansaniyesi) {digitalWrite(minareisikyak, LOW);} //-------- }
Bu kod, bir Arduino mikrodenetleyici kullanarak ezan vakitlerini takip etmek için temel bir çerçeve sağlar. Kod, gerçek zamanlı saat modülünden zaman bilgisi alır, ardından depolanan ezan vakitleriyle karşılaştırır ve ekrana uygun bir mesaj yazdırır. Bu proje, ezan vakitlerini otomatik olarak takip etmek için bir başlangıç noktası sağlar ve ihtiyaçlara göre genişletilebilir veya özelleştirilebilir.
Greetings! Very helpful advice within this article! It’s
the little changes which will make the most significant changes.
Thanks for sharing!