<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=30&amp;t=19913&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2018-01-05T15:16:44+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=30&amp;t=19913&amp;mode</id>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2018-01-05T15:16:44+01:00</updated>
<published>2018-01-05T15:16:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19913&amp;p=201522#p201522</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19913&amp;p=201522#p201522"/>
<title type="html"><![CDATA[Re: Uśrednianie wyników z kompasu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19913&amp;p=201522#p201522"><![CDATA[
Tak sobie myślę w przerwach w pracy,<br />Z tablicy wypełnionej wynikami pomiarów kątów,<br />Można policzyć wypadkową x oraz y.<br />Przeciwprostokątną możemy ustalić na 1 dla zredukowania obliczeń.<br />x = x+(cosinus(TAB[i]) )<br />y = y+(sinus(TAB[i]) )<br />i++; // zamknąć w pętli inkrementacji<br /> aż do uzyskania wartości równej ilości pomiarów.<br />Po uzyskaniu końcowego x oraz y,<br />Obliczyć kąt wypadkowy. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />Taki pomysł.<br /><br />Wysłane z mojego Lenovo K33a42 przy użyciu Tapatalka<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11549">Daro69</a> — 5 sty 2018, o 15:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2018-01-05T10:26:31+01:00</updated>
<published>2018-01-05T10:26:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19913&amp;p=201514#p201514</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19913&amp;p=201514#p201514"/>
<title type="html"><![CDATA[Re: Uśrednianie wyników z kompasu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19913&amp;p=201514#p201514"><![CDATA[
<div class="quotetitle">resonator napisał(a):</div><div class="quotecontent"><br />Obliczenie średniej arytmetycznej nie wchodzi w grę, ponieważ jeśli liczby wahają się wokół 0 np. 59, 2, 58, 57, 2 itd. to średnia wychodzi po drugiej stronie okręgu.<br /></div><br />Nie chce mi się tworzyć rysunków, więc spróbuję to przedstawić opisowo. Kiedy narysujemy dwie półproste rozpoczynające się w tym samym punkcie, to tworzą one dwa kąty - czasami jeden jest wklęsły a drugi wypukły, a czasami są to dwa kąty półpełne.<br />Rozumiem, że Twoim zamierzeniem jest wyznaczenie dwusiecznej kąta wypukłego. Jeśli liczysz średnią z dwóch wartości  równych kolejno 59 i 2, to wyznaczasz dwusieczną kąta wklęsłego:<br /><br />(59 + 3) / 2  = 31<br /><br />Aby tego uniknąć wystarczyłoby na przykład od jednej z wartości odjąć wartość kąta pełnego, czyli w Twoim przypadku 60:<br /><br />( (59 - 60) + 3) / 2 = 1<br /><br />Jeśli wynikiem będzie liczba ujemna, należy z powrotem dodać 60:<br /><br />( (56 - 60) + 2) / 2 = -1<br />-1 + 60 = 59<br /><br />Dokładniej mówiąc należałoby sprawdzić różnicę kątów, i na jej podstawie użyć odpowiedniego wzoru do obliczenia średniej:<br /><ul><li>jeżeli <span style="text-decoration: underline"><span style="color: #8000BF">wartość bezwzględna</span></span> różnicy wartości, z których obliczana jest średnia, jest większa od kąta półpełnego, czyli w tym przypadku większa od 30, to należy odjąć od jednej z wartości 60, a jeśli wynik będzie miał wartość ujemną, dodać do niego 60,</li><li>jeżeli <span style="text-decoration: underline"><span style="color: #8000BF">wartość bezwzględna</span></span> różnicy jest mniejsza od 30, średnią liczymy normalnie, czyli suma dwóch składników przez dwa.</li></ul><br />Nadal problemem pozostaje kąt półpełny, czyli kiedy obliczamy średnią  z wartości, których różnica jest dokładnie równa 30 (np. dla dwóch wartości równych 30 i 0, zarówno wartość średnia 15 jak i 45 są prawidłowe), ale zakładam, że takie sytuacje nie będą występowały zbyt często, więc chyba można byłoby takie skrajne próbki pominąć.<br /><br />Jeszcze jeden problem jest taki, że nie da się raczej tym sposobem policzyć od razu średniej z 10 wyników. Należałoby raczej zrobić to w pętli - najpierw obliczyć średnią z dwóch pierwszych próbek, później średnią z tej średniej i trzeciego wyniku itd.<br /><br />Mam nadzieję, że napisałem zrozumiale. Może nie jest to jakiś super prosty sposób, ale chyba prostszy od obliczeń wektorowych <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />Osobiście nie widzę w tej chwili prostszego rozwiązania.<br /><br />EDIT:<br />Muszę jeszcze uściślić/poprawić się, że pisząc o różnicy większej od 30 miałem na myśli wartość bezwzględną różnicy.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 5 sty 2018, o 10:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2018-01-05T10:18:29+01:00</updated>
<published>2018-01-05T10:18:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19913&amp;p=201513#p201513</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19913&amp;p=201513#p201513"/>
<title type="html"><![CDATA[Re: Uśrednianie wyników z kompasu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19913&amp;p=201513#p201513"><![CDATA[
Witam,<br />wg moich dotychczasowych informacji,<br />algorytm układasz poprawnie.<br />Należy w obliczeniach uwzględnić wektor choćby o stałej długości. (promień z rysunku).<br />Po wyliczeniu wypadkowej i jej współrzędnych,<br />dopiero wyliczyć kąt.<br />Jeżeli chodziłoby o program, to myślę że pomocne w zadaniu mogą się okazać wzory stosowane do rysowania okręgu . <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Pozdrawiam<br /><br />Wysłane z mojego Lenovo K33a42 przy użyciu Tapatalka<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11549">Daro69</a> — 5 sty 2018, o 10:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[maverick_as]]></name></author>
<updated>2018-01-05T10:06:27+01:00</updated>
<published>2018-01-05T10:06:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19913&amp;p=201511#p201511</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19913&amp;p=201511#p201511"/>
<title type="html"><![CDATA[Re: Uśrednianie wyników z kompasu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19913&amp;p=201511#p201511"><![CDATA[
Tak na szybko.<br />O ile dobrze zrozumiałem zagadnienie, to masz kompas który dostarcza dane z przedziału 0-59,<br />0 reprezentuje kąt między 0 a 5 stopni,<br />1 to kąt między 6 a 11 stopni,<br />2 to kąt między 12 a 17 stopni, itd.,<br />......<br />do<br />59 reprezentuje kąt między 354 a 360 stopni.<br /><br />Uśredniania widziałbym tak.<br />W dwóch tablicach [60] elementowych masz umieszczone odpowiednio współrzędne x i y reprezentujące dane dla kątów; <br />indeks 0 - kąt 2 stopnie ,<br />indeks 1 - kąt 8 stopnii,<br />indeks 2 - kąt 14 stopni , itd.<br /><br />dla indeksów &lt;0,14&gt; x dodatnie , y dodatnie (1-sza ćwiartka)<br />dla indeksów &lt;15,29&gt; x dodatnie ,y ujemne (2-ga ćwiartka)<br />dla indeksów &lt;30, 44&gt; x ujemne , y ujemne (3-cia ćwiartka)<br />dla indeksów &lt;45,59&gt; x ujemne, y dodatnie (4-ta ćwiartka)<br /><br />Odpowiedzią z kompasu indeksujesz obie tablice dokonując uśredniania osobno dla współrzędnych x i y.<br />Tablice będą tylko czytane ,można je umieścić w ROM-ie.<br />Do zastanowienia pozostaje sprawa obliczeń (reprezentacji liczb). <br />Pozdr.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=9169">maverick_as</a> — 5 sty 2018, o 10:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[resonator]]></name></author>
<updated>2018-01-04T20:50:28+01:00</updated>
<published>2018-01-04T20:50:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19913&amp;p=201496#p201496</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19913&amp;p=201496#p201496"/>
<title type="html"><![CDATA[Uśrednianie wyników z kompasu]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19913&amp;p=201496#p201496"><![CDATA[
Temat raczej bardziej matematyczny, ale przecież elektronik=fizyk a fizyk&gt;matematyk <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><br /><br />Robię obecnie projekt, w którym wykorzystuje odczyty z kompasu. Odbieram od niego liczby oznaczające kierunek w przedziale 0-60. I teraz interesuje mnie jaki obrót wykonało urządzeniem względem wzorca zapisanego wcześniej w pamięci.<br /><br />Niby proste problem jednak w tym, że porównanie nie ma się odbywać z każdą odebraną liczbą (czyli nie porównujemy liczba z liczbą) lecz średnią z ostatnich 10 liczb ze wzorcem z pamięci.<br /><br /><a href="https://obrazkiforum.atnel.pl/8721/e6ca9048f73234db199cf7833c8c7359.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/8721/e6ca9048f73234db199cf7833c8c7359.png" alt="Obrazek" /></a><br />Obliczenie średniej arytmetycznej nie wchodzi w grę, ponieważ jeśli liczby wahają się wokół 0 np. 59, 2, 58, 57, 2 itd. to średnia wychodzi po drugiej stronie okręgu.<br /><br />I teraz wpadłem na pomysł żeby interpretować odebrane dane jako wektory na płaszczyźnie kartezjańskiej a wektory jako promienie centralnie umiejscowionego na niej okręgu. Mogło by to wyglądać tak:<br /><a href="https://obrazkiforum.atnel.pl/8721/bc8b974289daeea61d5d0fc918bf8140.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/8721/bc8b974289daeea61d5d0fc918bf8140.png" alt="Obrazek" /></a><br />Długość wektora byłaby stała, potrzeba tylko obliczyć współrzędne wektorów, (z równania okręgu, i prostej) z tych współrzędnych średnią arytmetyczną co dałoby jedną współrzędną, do której wystarczyłoby poprowadzić prostą i znaleźć jej kąt alfa. I właśnie ta alfa byłaby tym czego szukam <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><br /><br />Niestety teraz nie mam czasu żeby posiedzieć przy tym(tylko posta napisałem na szybkości), może jutro uda mi się coś podziałać. Miło by było gdyby ktoś ogarniający matmę popatrzył na to, albo zaproponował jakieś prostsze rozwiązanie <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8721">resonator</a> — 4 sty 2018, o 20:50</p><hr />
]]></content>
</entry>
</feed>