31-03-2021, 23:24
(29-03-2021, 10:05)Robson Kerman napisał(a): Trzeba zmodyfikować funkcje refreshTimer(), oraz displaySegments().Dzięki za podpowiedź. Zmodyfikowałem jak napisałeś i "ożyły" mi dodatkowe segmenty i to tyle sukcesów. Przed modyfikacją wygląda tak
void refreshTimer() {
if (mode == 0 && blinkDots == 1) {
displayDots(3);
} else if (mode == 4 && timerRunning == 1 && timerValue < 6000) {
timerValue++;
int m1 = (timerValue / 60) / 10 ;
int m2 = (timerValue / 60) % 10 ;
int s1 = (timerValue % 60) / 10;
int s2 = (timerValue % 60) % 10;
displaySegments(0, s2);
displaySegments(7, s1);
displaySegments(16, m2);
displaySegments(23, m1);
displayDots(0);
FastLED.show();
Po zmianie :
void refreshTimer() {
if (mode == 0 && blinkDots == 1) {
displayDots(3);
} else if (mode == 4 && timerRunning == 1 && timerValue < 6000) {
timerValue++;
int h1 = (timerValue % 60) / 10;
int h2 = (timerValue % 60) % 10;
int m1 = (timerValue / 60) / 10 ;
int m2 = (timerValue / 60) % 10 ;
int s1 = (timerValue % 60) / 10;
int s2 = (timerValue % 60) % 10;
displaySegments(0, s2);
displaySegments(7, s1);
displaySegments(16, m2);
displaySegments(23, m1);
displaySegments(30, h2);
displaySegments(37, h1);
displayDots(0);
FastLED.show();
Efekt jest taki, że nie odlicza mi godzin tylko dubluje minuty. Coś podpowiecie? Dzięki.