Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Pouze tento týden sleva až 80 % na e-learning týkající se C a C++. Zároveň využij akce až 80 % zdarma při nákupu e-learningu - více informací.
c++ week

Diskuze: Výpočet otočení pomocí tříosého kompasu

Aktivity
Avatar
Lukáš Křehula
Redaktor
Avatar
Lukáš Křehula:15.6.2016 21:33

Ahoj,
nevím, zda to vůbec nějak jde určit ale doufám, že ano. Mám tříosý kompas GY-271, používám ho na raspbíčku a potřebuji pomoct s nějakým vzorcem, který by mi určil jak je zrovna natočený (nejlépe ve stupních)
Respektive, mám vyrobené robotické auto a potřeboval bych získat nějakou hodnotu při startu programu, po které se bude robot rychlostí motorů vyrovnávat zpátky na tuto hodnotu. Nejideálnější by bylo získávat 0 - 359 stupňů. Používám pouze 2 osy - Y, Z
Díky za nápady nebo pomoc.

 
Odpovědět
15.6.2016 21:33
Avatar
Martin Dráb
Redaktor
Avatar
Martin Dráb:16.6.2016 0:49

Mrkni sem
http://www.robotpark.com/…_COMPASS.pdf
případně si najdi datasheet či prostuduj knihovnu, kteoru používáš na získávání informací z čidla. Tak se dozvíš, v jakém formátu ta data jsou.

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět
16.6.2016 0:49
2 + 2 = 5 for extremely large values of 2
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Lukáš Křehula
Redaktor
Avatar
Odpovídá na Martin Dráb
Lukáš Křehula:16.6.2016 19:33

Díky, pomohlo mi to. Předtím jsem si toho nevšiml kvůli tomu, že je to kód pro arduino. Ještě jednou, díky :)

 
Nahoru Odpovědět
16.6.2016 19:33
Avatar
Martin Dráb
Redaktor
Avatar
Odpovídá na Lukáš Křehula
Martin Dráb:16.6.2016 19:44

Jestli to chápu době, tak fígl je v tom, že to čidlo je natočené ve směru vektoru v = (x;y;z), kde x, y, z jsou příspěvky ve směru jednotlivých os. Řekl bych, že platí:

v = (x;0;0) + (0;y;0) + (0;0;z)

takže pak jen zbývá vypočítat úhly, což se děje díky definicy funce tangens (protilehlá odvěsna ku přilehlé). Jelikož tangens úhlů znáš a potřebuješ naopak vypočítat ty úhly, tak použiješ arcus tangens pro správné podíly hodnot x, y a z (to si nakresli, z toho by to mělo být vidět). Pak už je to jenom o tom přepočítat radiány na stupně.

Nahoru Odpovědět
16.6.2016 19:44
2 + 2 = 5 for extremely large values of 2
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.