Skocz do zawartości

Zegar czasu rzeczywistego w Arduino


faustin

Pomocna odpowiedź

Witam ostatnio robiłam taki projekt który co sekundę miał odczytywać predkosc silnika i wgrywać te dane na kartę sd tylko ja te sekundy odmierzał wykorzystując funkcje delay() jednak jak się później dowiedziałam to trzeba było zrobić wykorzystując do tego coś takiego jak zegar wbudowany w ardu i moje pytanie czy ktoś dałby jakiegoś pożytecznego linka do strony albo pozycji gdzie ten temat zegarów jest fajnie wytłumaczony. Na forbocie widzialam coś o funkcji millis ale to nie jest chyba to samo. Czy są jakieś specjalne biblioteki do tego ? 

Link do komentarza
Share on other sites

http://mikrokontrolery.blogspot.com/2011/03/led-sterowany-przez-timer.html?m=1 

https://playground2014.wordpress.com/arduino/basics-timer-interrupts/ (użyj translatora) 

Miałem jeszcze jedną fajną zakładkę to już zeżarli...😢 (Not found)😡 

Generalnie do takich czynności jak wgrywanie na sd,ekran etc, to millis() bez problemu wystarczy...tu nie musisz mieć dokładności do uS..co innego jeśli robisz programowy pwm, liczniki etc... ogólnie timery używa się do dokładnego pomiaru czasu gdzie liczysz cykle zegara/kwarcu... oczywiście dokładność tego zegara zależy od dokładności kwarcu procka 

I zegar czasu rzeczywistego to tak zwany RTC i jest to coś innego niż timery...

 

 

  • Lubię! 1
Link do komentarza
Share on other sites

Trudno powiedzieć o jakim Arduino mówisz (jest ich kilka). Jeśli o uC ATmega 328P to nie ma on wbudowanego zegara RTC. Ma za to liczniki / czasomierze czyli Timery, które możesz oprogramować by nie korzystać z delay(), millis() itp. Są za to moduły RTC, które możesz podłączyć.

 

  • Lubię! 2
Link do komentarza
Share on other sites

40 minut temu, Belferek napisał:

Jeśli o uC ATmega 328P to nie ma on wbudowanego zegara RTC

Timer2 może pracować jako RTC z zewnętrznym kwarcem zegarkowym. 

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

Nadal nie został przeanalizowany projekt proste podświetlanie schodów.Biblioteka timers pozbywa się uciążliwego delay.Jak to napisał jeden z forumowiczów programowanie to przede wszystkim logika i jeszcze raz logika. Przed  nią  kroczy wyobraźnia reszta to warsztat czyli umiejętność korzystania z książek,internetu czyli wiedzy o języku programowania.Nie trzeba uczyć się na pamięć wystarczy umiejętność czytania ze zrozumieniem.Po to zresztą wymyślono język pisany i zapis na tabliczkach glinianych,papirusie ,papier, w pamięci półprzewodnikowe.Wracając do tematu najlepiej zrobić to można na stm32 bo w każdym jest zegar czasu rzeczywistego -RTC.To rozwiązanie ma swoją wadę bo momencie wyłączenia czyli braku zasilania to co masz ustawione w zegarze przestaje istnieć.By skorzystać z tego rozwiązania   należy zainstalować najnowszą wersję STM32Cubeide.Natomiast atmega328   nie ma RTC i trzeba dołączyć moduł zegara RTC,który ma swoje zasilanie.Jest to zaleta bo gdy zdarzy się wyłączyć procesor to zegar nadal idzie.Wadą RTC(przynajmniej na rynku polskim) jest to,że się zazwyczaj śpieszy i to nie mało.

Edytowano przez szymonw
Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • 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.