• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
DS3231 wyświetlanie zera w godzinach i minutach
#1
Poskładałem prosty zegarek na DS3231 i Oledzie 128x64px i zastałem jeden, mały problem który mnie irytuje, mianowicie gdy w godzinie bądź minucie jest pojedyńcza liczba (dajmy na to 08:04) to zegar wyswietla to jako 8:4 co jest słabo czytelne Sad
Czy da radę to jakoś uzupełnić by automatycznie dodawał 0 na początku ?

biblioteka zegara to DS3231.h, wyświetlacza to Adafruit_SSD1306.h
Polecenia które wykorzystuje do ukazania czasu:

Kod:
display.println(dt.hour);
i analogicznie dla minuty:
Kod:
  display.println(dt.minute);
 
Odpowiedź
#2
Może rozdziel w programie wyświetlanie godzin i minut.
I najpierw sprawdź czy np. godzina jest mniejsza niż 10 i jeżeli tak to przed nią wyświetl najpierw 0.
Z minutami analogicznie tak samo.

Pozdr.
ANT
Jeżeli pomogłem, to poproszę o punkt reputacji Big Grin
 
Odpowiedź
#3
Hmm:

Kod:
if (dt.hour < 10 ) {
    
  }
i tutaj własnie nie wiem, co zrobić by było to 01 itp Sad
 
Odpowiedź
#4
Nikt ci nie pomoże, jeśli nie podasz kodu odpowiedzialnego za wyświetlanie czasu.
Bo mógłbym napisać:
if (ss>9)
{
lcd.setCursor ( 9, 1 );
lcd.print(ss);
}
else
{
lcd.setCursor ( 9, 1 );
lcd.print("0");
lcd.setCursor ( 10, 1 );
lcd.print(ss);
}

Ale to nie są twoje zmienne, twoje funkcje i twoje współrzędne, zresztą na innego typu ekranie wyświetlane.
Podaj kod.
 
Odpowiedź
#5
Nie mniej pomogłeś, bo tak nie myślałem by podejść do problemu Smile
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości