Skocz do zawartości

Funkcja milis


SebaSaper

Pomocna odpowiedź

Witam zwracam się z proźbą to bardziej zaawansowanych w programowaniu Arduino, mugl by mi ktoś wytłumaczyć jak za pomocą funkcji milis zmierzyć czas i wyświetlić na LCD  .

Zbudowałem w oparciu o Arduino tester ogniw li-ion i nie wiem za bardzo jak za pomocą tej funkcji zmierzyć czas od rozpoczęcia testu (włączenia tranzystora)  do momętu gdzie tester wyłącza tranzystor  max czas testu to 3h .

Chciał bym aby czas był wyświetlany na bieżaco (sek.min.h)  i aktualizowany co sekundę, za każdą poradę będę wdzieczny.

Z góry dziękuję.

Edytowano przez SebaSaper
Link do komentarza
Share on other sites

unsigned long momentOfBegining = 0;

void loop(){
  if(jakis warunek rozpoczynajacy prace){
    momentOfBegining = millis();
  }
  if(!momentOfBegining && millis() - momentOfBegining >= 1000){
    momentOfBegining = millis();
    odswiezLCD();
  }
}

 

Edytowano przez rziomber
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Pytanie może ma niskim poziomie ale,czy w tym kodzie jest zawarta procedura w kturej jeśli warunek nie jest spełniony czas przestaje być odliczany i jest tylko wyświetlany , jeśli mugl byś to wklej mi część kodu która by za to odpowiadała bo chciał bym zrozumieć jak to działa a nie tylko kopiuj wklej

Link do komentarza
Share on other sites

@rziomber - kolega przed chwilą wyjaśnił że chyba nie wie co zrobić w funkcji odswiezLCD() 😉

Na takie wyświetlanie jest sposobów mnóstwo i każdy będzie chwalił swój, zaczniemy więc od jednego:
 

int sekundy = millisekundy / 1000; // wiadomo czemu
int minuty = sekundy / 60;  // chyba też wiadomo czemu
sekundy = sekundy % 60; // czyli reszta z pełnych minut
int godziny = minuty / 60; // jak wyżej
minuty = minuty % 60;

Czy potrafisz wyświetlić czas mając już obliczone godzin, minuty i sekundy?

Tak przy okazji: ponieważ mamy być grzeczni i zachowywać się zgodnie z Polityką Przyjaznego Forum miło by było, aby ktoś zgłaszający się pierwszy raz z pytaniem również zgodnie z ową polityką się zachował i raczył napisać parę słów o sobie, bo nie wiadomo jak mamy odpowiedzieć. Inaczej odpowiem programiście PHP z paroletnim stażem, który postanowił zabrać się za Arduino a inaczej komuś, kto nie bardzo wie z której strony toto się włącza. Więc jak będzie?

po edycji

W pierwszym poście nic nie wspominałeś o przerwaniu odliczania, może więc uściślij swoje wymagania. Najpierw chcesz porad, teraz kodu, za chwilę będzie gotowiec?

Edytowano przez ethanak
Link do komentarza
Share on other sites

(edytowany)

Przepraszam 

Mam na imię Sebastian mam 22lata  Arduino mam doczynienia około 6miesięcy podstawy ogarniam , jedynie funkcją milis to dla mnie czarna magia bo nie korzystałem z niej jeszcze .

Teraz już wiem jak się za to zabrać i dziękuję za wyrozumiałość 🙂

Jeśli mugl byś podać jakiś przykład jak to wyświetlić to by było super.

Edytowano przez SebaSaper
Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.