BirdNet-goMikrofon/Arduino-audio-tools-main/arduino-audio-tools-main/examples/examples-custom-boards/esp32-s3-ai-smart-speaker/real-time-clock/real-time-clock.ino

80 lines
1.9 KiB
Arduino
Raw Normal View History

2026-09-26 01:20:55 +02:00
/**
* @file real-time-clock.ino
* @brief RTC PCF85063A example for ESP32-S3-AI-Smart-Speaker
*
* Dependencies:
* - https://github.com/pschatzmann/arduino-audio-tools
* - https://github.com/pschatzmann/arduino-audio-driver
* - https://github.com/SolderedElectronics/Soldered-PCF85063A-RTC-Module-Arduino-Library
*
* @author Phil Schatzmann
* @copyright GPLv3
*/
#include "AudioTools.h"
#include "AudioTools/AudioLibs/AudioBoardStream.h"
#include "PCF85063A-SOLDERED.h"
PCF85063A rtc;
AudioBoardStream board(ESP32S3AISmartSpeaker);
void setup() {
Serial.begin(115200);
// Initialize audio board: I2C
board.begin();
// Initialize RTC module
rtc.begin();
// setTime(hour, minute, sec);
rtc.setTime(6, 54, 00); // 24H mode, ex. 6:54:00
// setDate(weekday, day, month, yr);
rtc.setDate(6, 16, 5, 2020); // 0 for Sunday, ex. Saturday, 16.5.2020.
}
void loop() {
printCurrentTime(); // Call funtion printCurrentTime()
delay(1000);
}
void printCurrentTime() {
// Get weekday, 0 is Sunday and decode to string
switch (rtc.getWeekday()) {
case 0:
Serial.print("Sunday , ");
break;
case 1:
Serial.print("Monday , ");
break;
case 2:
Serial.print("Tuesday , ");
break;
case 3:
Serial.print("Wednesday , ");
break;
case 4:
Serial.print("Thursday , ");
break;
case 5:
Serial.print("Friday , ");
break;
case 6:
Serial.print("Saturday , ");
break;
}
Serial.print(rtc.getDay()); // Function for getting day in month
Serial.print(".");
Serial.print(rtc.getMonth()); // Function for getting month
Serial.print(".");
Serial.print(rtc.getYear()); // Function for getting year
Serial.print(". ");
Serial.print(rtc.getHour()); // Function for getting hours
Serial.print(":");
Serial.print(rtc.getMinute()); // Function for getting minutes
Serial.print(":");
Serial.println(rtc.getSecond()); // Function for getting seconds
}