Hodiny a časování

Odpovědět
pgerla
Příspěvky: 400
Registrován: 11 dub 2013, 00:17

Re: Hodiny a časování

Příspěvek od pgerla »

Nabídka určuje poptávku.
Uživatelský avatar
fulda
Příspěvky: 1363
Registrován: 04 led 2016, 17:18

Re: Hodiny a časování

Příspěvek od fulda »

daton píše:No tak jsme se :D a ted trochu vážně o nevážných věcech. Stále zkouším ten můj matematický algoritmus o kterém si myslím že by čisě matematicky mohl dorovnávat ty milisekundy ale on nechodí!!! A není mi jasné proč vždyt matematika arduinu docela jde.

Tak že když mám

Kód: Vybrat vše

unsigned long ms,tik,pom;
ms = millis();
 if ((tik>=1000) && (tik <= ms)) || ((tik<1000) && (ms<2000) &&  (tik <= ms)) {
{ if (tik <ms) { tik = (1000 - (ms- tik) +ms);} else {tik = ms}}
      // číslo 2000 je jakékoli číslo větší než 1000 a menší než (maxint-1000), zahrnuje jistou rezervu pro zdržení kódu.
      // tady se dělá co je potřeba
  }
no ale když jsem si dal zobrazit ten tik co by měl být zkrácen tak nic je tam přičtena 1s tedy 1000. když jsem si dal pouze do

pom = (ms-tik)

tak to vychází krásně je vidět jak se algoritmus spožduje a milisekundy přibývají na ale když je chci odečíst

pom = ms - pom
tak na pom dostanu hodnotu ms bez odečtu , proč je tomu tak????? Proč zde nechce arduino odečítat když ms -tik odečte???
Abych ti odpověděl:
Takže správně je ten výpočet takhle:
Mám 1000 milisekund a vím, že jsem posunutý v čase o (ms - tik), takže kompenzace je 1000 - (ms - tik), k tomu potřebuji přičíst ms, abych se posunul.
Celkem tedy: tik = (1000 - (ms- tik)) + ms

Ale pokud se vrátím do páté třídy základní školy, tak vím, že mohu zrušit závorku, před kterou je - tak, že otočím znaménka uvnitř závorky.
Dostanu tedy: tik = (1000 - ms + tik) + ms
Závorka, která má před sebou + je v případě sčítání a odčítání neužitečná, takže jí mohu vynechat.
Dostanu tedy: tik = 1000 - ms + tik + ms
A teď už stačí jen vykrátit proměnnou, která se ve vzorci nachází s kladným a zároveň záporným znaménkem. Je to proměnná ms.
Dostanu tedy: tik = 1000 + tik
Takže jsme se nakonec celkem hezky dostali na začátek.
Za pravopisné chyby v této zprávě může moje učitelka češtiny.
Jirka
Příspěvky: 55
Registrován: 18 lis 2015, 12:06

Re: Hodiny a časování

Příspěvek od Jirka »

Zdravím, mě připadá, že millis lze využít jen pro nedlouhodobé měření času (odměřit jakýsi časový kousek).
Tak či onak se při zpracování narazí na nepřesnost základu (1ms-z instrukce <>0,001s-v reálu) a jeho zpracování. V běžných NEčasových aplikacích (zpozdit o nějakou chvíli) to nevadí.
Uživatelský avatar
fulda
Příspěvky: 1363
Registrován: 04 led 2016, 17:18

Re: Hodiny a časování

Příspěvek od fulda »

Jirko, nejsem si jistý tím, jestli chápu o čem píšeš. Asi moc ne, ale doufám, že se zítra sejdeme a podíváme se na to.
Za pravopisné chyby v této zprávě může moje učitelka češtiny.
daton
Příspěvky: 664
Registrován: 16 bře 2013, 16:12

Re: Hodiny a časování

Příspěvek od daton »

Jo tak tohle jsem přehlédl nebo spíš neuvážil, tak jsem se soustředil na program že jsem si tu matematiku nedal dohromady, ale to ted už neukecám, asi ted vypadám jako b...c co neumí matematiku páté třídy :oops:
Uživatelský avatar
fulda
Příspěvky: 1363
Registrován: 04 led 2016, 17:18

Re: Hodiny a časování

Příspěvek od fulda »

tomu se říká provozní slepota :mrgreen:
Za pravopisné chyby v této zprávě může moje učitelka češtiny.
Jirka
Příspěvky: 55
Registrován: 18 lis 2015, 12:06

Re: Hodiny a časování

Příspěvek od Jirka »

fulda píše:Jirko, nejsem si jistý tím, jestli chápu o čem píšeš. Asi moc ne, ale doufám, že se zítra sejdeme a podíváme se na to.
No millis určitě běží jak má. Jen využití (zpracování) kulhá.Ale my s tím nakonec vyběhnem. Dneska se nedostanu :( ale není všem dnům konec.
Uživatelský avatar
fulda
Příspěvky: 1363
Registrován: 04 led 2016, 17:18

Re: Hodiny a časování

Příspěvek od fulda »

zpracování odpovídá potřebám.
například pro to co tu bylo popisováno (posouvání minutové ručičky na věžních hodinách) je ta přesnost víc než luxusní. A ještě zbývá spoustu času na dekódování DCF signálu a doladění případné nepřesnosti.

Pokud bych potřeboval něco přesnějšího, tak udělám jinou konstrukci programu a rozhodnu se, jak budu prioritizovat úlohy.
Za pravopisné chyby v této zprávě může moje učitelka češtiny.
Uživatelský avatar
fulda
Příspěvky: 1363
Registrován: 04 led 2016, 17:18

Re: Hodiny a časování

Příspěvek od fulda »

Ahoj,

Jak dneska zaznělo, pro čtení času se dá použít Timer1 v režimu counter s použitím vstupu T1 (digital pin 5)
Jako dobrý popis se považuje Nick Gammon
Za pravopisné chyby v této zprávě může moje učitelka češtiny.
daton
Příspěvky: 664
Registrován: 16 bře 2013, 16:12

Re: Hodiny a časování

Příspěvek od daton »

Ahoj
moc dik za priklad zkusim se v tom postourat snad to pochopim :D
Odpovědět