#include <Adafruit_NeoPixel.h>
#define FIRST_RING_PIN 6 // Pin pro první NeoPixel Ring (10 prvků pro sekundy)
#define SECOND_RING_PIN 7 // Pin pro druhý NeoPixel Ring (6 prvků pro desítky sekund)
#define THIRD_RING_PIN 8 // Pin pro třetí NeoPixel Ring (60 prvků pro minuty)
#define FIRST_RING_COUNT 10 // Počet prvků v prvním kruhu (sekundy)
#define SECOND_RING_COUNT 6 // Počet prvků v druhém kruhu (desítky sekund)
#define THIRD_RING_COUNT 60 // Počet prvků v třetím kruhu (minuty)
Adafruit_NeoPixel firstRing = Adafruit_NeoPixel(FIRST_RING_COUNT, FIRST_RING_PIN, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel secondRing = Adafruit_NeoPixel(SECOND_RING_COUNT, SECOND_RING_PIN, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel thirdRing = Adafruit_NeoPixel(THIRD_RING_COUNT, THIRD_RING_PIN, NEO_GRB + NEO_KHZ800);
int seconds = 0;
int tensOfSeconds = 0;
int minutes = 0;
void setup() {
firstRing.begin();
secondRing.begin();
thirdRing.begin();
firstRing.show(); // Ukáže výchozí stav prvního kruhu
secondRing.show(); // Ukáže výchozí stav druhého kruhu
thirdRing.show(); // Ukáže výchozí stav třetího kruhu
}
void loop() {
if (seconds < FIRST_RING_COUNT) {
firstRing.setPixelColor(seconds, firstRing.Color(255, 0, 0)); // Nastaví barvu pixelu na červenou
firstRing.show();
delay(1000); // Čeká 1 sekundu
seconds++;
}
if (seconds == FIRST_RING_COUNT && tensOfSeconds < SECOND_RING_COUNT) {
secondRing.setPixelColor(tensOfSeconds, secondRing.Color(0, 255, 0)); // Nastaví barvu pixelu na zelenou
secondRing.show();
delay(100); // Čeká 1 sekundu
tensOfSeconds++;
firstRing.clear(); // Vymaže první kruh (sekundy)
firstRing.show(); // Ukáže prázdný první kruh
seconds = 0; // Resetuje sekundy
}
if (tensOfSeconds == SECOND_RING_COUNT && minutes < THIRD_RING_COUNT) {
thirdRing.setPixelColor(minutes, thirdRing.Color(0, 0, 255)); // Nastaví barvu pixelu na modrou
thirdRing.show();
delay(100); // Čeká 1 sekundu
minutes++;
secondRing.clear(); // Vymaže druhý kruh (desítky sekund)
secondRing.show(); // Ukáže prázdný druhý kruh
tensOfSeconds = 0; // Resetuje desítky sekund
}
}