Skocz do zawartości

Zegar czasu rzeczywistego w Arduino


Pomocna odpowiedź

Napisano

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 ? 

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

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
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. 

(edytowany)

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

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...