04-04-2021, 18:58
(31-03-2021, 23:24)Domino67 napisał(a):Chyba się poddam do czasu gdy lepiej poznam Arduino. Kombinuję jak koń pod górę i cały czas ten sam efekt. Sekundy się zerują a minuty po odliczeniu 60 minut odliczają dalej do 99 minut. Jedynie zaczęły mi się liczyć godziny. Zmieniłem wartość TimeValue<86400 tak by liczył dobę oraz tak jak radził kolega h1 i h2 3600. Gdy ostatnio na trenażerze wpakowałem się w Alpy cieszyłem się z niewiedzy teraz niewiedza raczej przeszkadza(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.