mihaicozac Postat Martie 28, 2021 Partajează Postat Martie 28, 2021 (editat) Acum 40 minute, Liviu.Mihaiu a spus: @mihaicozac tot de la ideea ta am plecat cu pad la zile. cam asa zic eu intr-o singura linie de cod: trim(substr("DuminicaLuni Marti MiercuriJoi Vineri Sambata ",tm_wday*8,8)); Mie nu mi se compilează linia, nici dacă modific substr în substring, sau renunţ la trim. Există o funcţie substring în Arduino dar care se implementează uşor diferit: UnString.substring( (day * 8) - 8, day * 8); Dar se referă la un String definit deja, deci tot de 2 linii e nevoie. trim() se referă la eliminarea unor spaţii goale, din ce ştiu eu. Editat Martie 28, 2021 de mihaicozac Link spre comentariu
fratello Postat Martie 29, 2021 Autor Partajează Postat Martie 29, 2021 Cred ca nu am lasat si spatii inainte de numele zilei ... adica asa "____Luni"... Link spre comentariu
mihaicozac Postat Martie 29, 2021 Partajează Postat Martie 29, 2021 Asta e din cauza că nu se şterge automat zona aia de deisplay la schimbarea datei. Probabil că e nevoie să revii la varianta cu poziţie fixă de începere a afişării zilei şi să completezi cu spaţii numele până atingi 8 caractere total. Mai e varianta în care laşi aşa zilele şi faci un lcd.print(" ") o dată pe zi la ora 00:00:00, ca să se şteargă zona aia de afişare la schimbarea datei. Link spre comentariu
Liviu M Postat Martie 29, 2021 Partajează Postat Martie 29, 2021 Ti-am scris deja ca lcd.clear() nu sta bine. Sunt sanse ca daca-l activezi sa mearga si afisarea cum trebuie. Desi sunt sanse sa aibe si efecte "negative". Link spre comentariu
mihaicozac Postat Martie 29, 2021 Partajează Postat Martie 29, 2021 Posibil să pulseze display-ul o dată pe secundă dacă se şterge permanent, depinde însă de timpul dintre ştergere şi afişare, dacă e foarte scurt nu se observă. Link spre comentariu
fratello Postat Martie 29, 2021 Autor Partajează Postat Martie 29, 2021 Pulseaza displayul.... asa ca am adaugat spatii inainte de denumirea zilei, dupa caz (pentru luni 4 spatii, pentru marti 3, samd). Link spre comentariu
Liviu M Postat Martie 29, 2021 Partajează Postat Martie 29, 2021 Pe de alta parte, nu e nevoie de lcd.clear() la fiecare secunda. Dupa cum nici interogarea serverului ntp nu e necesara chiar din secunda in secunda. Cred ca ajunge s-o faci o data pe ora. Intre poti folosi linistit millis() pentru secunde/minute. Link spre comentariu
mihaicozac Postat Martie 30, 2021 Partajează Postat Martie 30, 2021 De fapt toată linia 2 a display-ului ar trebui actualizată doar o dată pe zi, la schimbarea datei, în rest reafişarea este complet inutilă. Link spre comentariu
fratello Postat Martie 31, 2021 Autor Partajează Postat Martie 31, 2021 Pare corecta aceasta secventa de cod ? if ((time_output) == "00:00:00"){ lcd.setCursor(9, 1); lcd.print(" "); } Multumesc ! Link spre comentariu
mihaicozac Postat Martie 31, 2021 Partajează Postat Martie 31, 2021 Dacă ăla e formatul stringului orei da, ar merge. Link spre comentariu
fratello Postat Martie 31, 2021 Autor Partajează Postat Martie 31, 2021 sprintf(time_output, "%02d:%02d:%02d", localTime->tm_hour, localTime->tm_min, localTime->tm_sec); lcd.print(time_output); Insa am incercat la ora 20:00:00 si nu s-a intamplat nimic ... sau "stergerea" a fost atat de rapida incat nu se vede ?!? Link spre comentariu
mihaicozac Postat Martie 31, 2021 Partajează Postat Martie 31, 2021 Păi face o ştergere apoi imediat vin rescrierile, dacă este situată între citirea orei şi afişarea zilei. Link spre comentariu
fratello Postat Martie 31, 2021 Autor Partajează Postat Martie 31, 2021 Multumesc. Vad maine .. daca afiseaza MiercJoi ... Link spre comentariu
fratello Postat Aprilie 1, 2021 Autor Partajează Postat Aprilie 1, 2021 Job done ! Afiseaza corect. Multumesc frumos tuturor pentru suport ! Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum