BMX160 - data o orientaci

Raspberry, Arduino, Mini-PC a další

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
petrfilipi
Příspěvky: 2901
Registrován: 13 zář 2005, 00:00

BMX160 - data o orientaci

#1 Příspěvek od petrfilipi »

Nazdar všem.

Nepracoval jste někdo s čipem BMX160?
Myslel jsem, že když je to "... 9-axis absolute orientation sensor from Bosch Sensortec ...", tak že z nějakých registrů vyčtu už hotové náklony (dopředu/dozadu, vlevo/vpravo) - např. ve °. Na webu jsou videa s krychlí a králíkem, jak se otáčejí v prostoru podle tohoto senzoru.
Na webu prodejce modulu je příklad (s chybami, takže nejde přeložit - nepochopitelné) - ale stáhl jsem knihovnu z Githubu i s funkčním příkladem - ale je tam jen čtení magnetometru, gyra a akcelerace.
Taktéž se mi moc nedaří vyčítat teplotu. Ze dvou registrů vyčtu číslo 8. Rozsah čísel je od -32767 do 32767 a tomu by měl odpovídat rozsah teploty od -41°C do 87°C. To mé číslo 8 odpovídá asi 23°C. Po dýchnutí na čip se teplota mění, ale asi jen do 15. Což je ve °C naprosto zanedbatelné.

Díky za odpovědi.

PF
Uživatelský avatar
Celeron
Příspěvky: 20508
Registrován: 02 dub 2011, 00:00
Bydliště: Nový Bydžov

#2 Příspěvek od Celeron »

Sám jsem zvědavej, jak dopadneš. Hrál jsem si s GY-271 a GY-521 a ani jedno jsem nerozchodil do použitelnýho stavu. Asi jsem na to už moc starej. :oops:
Jirka

Proč mi nemůže všechno chodit hned ?!!
Uživatelský avatar
passion
Příspěvky: 890
Registrován: 22 črc 2005, 00:00
Bydliště: Žilina

#3 Příspěvek od passion »

Nejak tomu nechápem, čo je v datasheete:

Value Temperature
0x7FFF 87 – ½9 °C
… …
0x0000 23 °C
… …
0x8001 -41 + ½9 °C
0x8000 Invalid

Ináč, akú chybu ti vypisuje pri kompilácii tvojho príkladu z uvedenej stránky? Aký program k tomu používaš? Nevidím tam zásadný problém.
Uživatelský avatar
Ruprecht
Příspěvky: 1494
Registrován: 28 zář 2005, 00:00
Bydliště: ZČ + JM

#4 Příspěvek od Ruprecht »

To "½ na devátou" je rozlišení LSB při 16bit čísle na rozsahu 128 ℃ (prostě +-1bit)
Když promluví, tak buď kňučí, nebo lže.
petrfilipi
Příspěvky: 2901
Registrován: 13 zář 2005, 00:00

#5 Příspěvek od petrfilipi »

passion píše:...
Ináč, akú chybu ti vypisuje pri kompilácii tvojho príkladu z uvedenej stránky? Aký program k tomu používaš? Nevidím tam zásadný problém.


Chybně je:
void loop(){
bmx160SensorData Omagn, Ogyro, Oaccel;

/* Get a new sensor event */
bmx160.getAllData(&Omagn, &Ogyro, &Oaccel);


Správně je:
void loop(){
sBmx160SensorData_t Omagn, Ogyro, Oaccel;

/* Get a new sensor event */
bmx160.getAllData(&Omagn, &Ogyro, &Oaccel);


Používám klasické Arduino IDE. Ale přestal jsem používat jejich speciální knihovny, které "vytáhnou" data najednou, to je lepší použít jen standardní I2C knihovnu a data vyčítat "ručně" a pak je spojit.

On ten modul stál 457 Kč s DPH, tedy nic závratného. Mám navíc 14 dní (resp. 30 dní u Botlandu) na vrácení bez důvodu, čili mám ještě čas na výzkum.
Ale nechápu, proč nemají kompletní příklad získání všech dat z čipu. Pak bych jen ubíral to, co nechci. Na fórum Bosche jsem napsal, zatím ani ten příspěvek neuveřejnili.

PF
Odpovědět

Zpět na „Miniaturní počítače (Arduino, Raspberry a další)“