#include "RTClib.h"
RTC_DS1307 rtc;
char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
const int ledCount = 15; // تعداد LEDها
int ledPins[ledCount] = {2, 4,16, 17, 5, 18, 19, 32, 33, 25, 26, 27, 14, 12, 13};
void setup() {
for (int i = 0; i < ledCount; i++) {
pinMode(ledPins[i], OUTPUT);
}
Serial.begin(115200);
if (! rtc.begin()) {
Serial.println("Couldn't find RTC");
Serial.flush();
abort();
}
}
void loop() {
DateTime now = rtc.now();
uint8_t day = now.day();
displayMoonPhase(day);
delay(1000);
// for (int day = 1; day <= 30; day++) {
// displayMoonPhase(day);
// delay(1000);
// }
}
void displayMoonPhase(int day) {
for (int i = 0; i < ledCount; i++) {
digitalWrite(ledPins[i], LOW);
}
if (day <=15) {
for (int i = 0; i < day; i++) {
digitalWrite(ledPins[i], HIGH);
}
}
else {
int offCount = day - 15;
for (int i = offCount; i < day; i++) {
digitalWrite(ledPins[i], HIGH);
}
}
}