program arduino nano untuk membuat alarm jam waktu shalat atau alarm berbuka puasa

nah buat kalian yang ingin membuat alarm waktu masuknya waktu shalat atau alarm berbuka puasa kalian bisa gunakan program ini :


sumber : channel yutube carapaklek dot com
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <RTClib.h>

#define BUZZER_PIN 4

// Inisialisasi LCD dan RTC
LiquidCrystal_I2C lcd(0x27, 16, 2);
RTC_DS3231 rtc;

// Jadwal alarm untuk 5 waktu sholat (format: jam, menit)
const int alarmTimes[5][2] = {
    {4, 30},  // Subuh
    {12, 0},  // Dzuhur
    {15, 30}, // Ashar
    {18, 0},  // Maghrib
    {19, 30}  // Isya
};
const char* alarmNames[5] = {"Subuh", "Dzuhur", "Ashar", "Maghrib", "Isya"};
int currentAlarmIndex = 0;

void setup() {
    pinMode(BUZZER_PIN, OUTPUT);
    digitalWrite(BUZZER_PIN, LOW);
    
    Wire.begin();
    lcd.begin();
    lcd.backlight();
    
    if (!rtc.begin()) {
        lcd.print("RTC Tidak Ditemukan");
        while (1);
    }
    
    if (rtc.lostPower()) {
        rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
    }
}

void loop() {
    DateTime now = rtc.now();
    
    lcd.setCursor(0, 0);
    lcd.print("Waktu: ");
    lcd.print(now.hour(), DEC);
    lcd.print(":");
    lcd.print(now.minute(), DEC);
    
    lcd.setCursor(0, 1);
    lcd.print("Alarm: ");
    lcd.print(alarmTimes[currentAlarmIndex][0]);
    lcd.print(":");
    if (alarmTimes[currentAlarmIndex][1] < 10) {
        lcd.print("0"); // Tambahkan nol di depan jika menit < 10
    }
    lcd.print(alarmTimes[currentAlarmIndex][1]);
    lcd.print(" ");
    lcd.print(alarmNames[currentAlarmIndex]);
    
    // Cek apakah waktu sekarang cocok dengan waktu alarm saat ini
    if (now.hour() == alarmTimes[currentAlarmIndex][0] && now.minute() == alarmTimes[currentAlarmIndex][1]) {
        for (int j = 0; j < 3; j++) { // Ulang 3 kali
            for (int i = 0; i < 3; i++) { // Bunyi pendek 3 kali
                digitalWrite(BUZZER_PIN, HIGH);
                delay(500);
                digitalWrite(BUZZER_PIN, LOW);
                delay(500);
            }
            delay(1000); // Jeda antar pengulangan
        }
        
        // Pindah ke alarm berikutnya
        currentAlarmIndex = (currentAlarmIndex + 1) % 5;
    }
    
    delay(1000);
}
 

nah program tersebut bisa kalian kreasikan sendiri bagaimana kalian bisa set waktu alarm, buat yang bingung kalian bisa cek vidionya di yutube carapaklek dot com.

untuk format .ino kalian bisa download disini 



 


 

web blog tempat sharing berbagai informasi dan trik serta tips seputar laptop komputer dan elektronika
carapaklek dot com... Welcome to WhatsApp chat
Howdy! How can we help you today?
Type here...