Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze | ||
2014:boat-sensor [2015/01/15 19:16] Martin Svozil [Demo] |
2014:boat-sensor [2015/01/18 05:15] (aktuální) Martin Svozil [Demo] |
||
---|---|---|---|
Řádek 15: | Řádek 15: | ||
===== Popis funkce ===== | ===== Popis funkce ===== | ||
- | Složené zařízení (desky FRDM-KL25Z a FRDM-FXS-MULTI-B) pro snímaní úhlové polohy lodě, jsou připojeny přes USB micro kabel do PC. Na počítači běží grafická vizualizace lodě viz obr. 1. Na obrázku lze vidět že obsahuje tři prvky a to vertikální uhlovou rovinu, horizontální uhlovou rovinu a indikaci nebezpečí pro loď. Poloha lodi je se mění v závislosti na změně uhlu kdy silná bílá plná přímka udává hladinu vody v závislosti na lodi a slabá bílá čárkovaná přímka udává na stupnici velikost úhlu. | + | Složené zařízení (desky FRDM-KL25Z a FRDM-FXS-MULTI-B) pro snímaní úhlové polohy lodě, jsou připojeny přes USB micro kabel do PC. Na počítači běží grafická vizualizace lodě viz obr. 1. Na obrázku lze vidět, že obsahuje tři prvky a to vertikální úhlovou rovinu, horizontální úhlovou rovinu a indikaci nebezpečí pro loď. Poloha lodi se mění v závislosti na změně úhlu, kde silná bílá plná přímka udává hladinu vody v závislosti na lodi a slabá bílá čárkovaná přímka udává na stupnici velikost úhlu. |
{{:2014:mpoa_stabilizace_lod.png?1000x500| Grafické rozhraní projektu rozhraní}} | {{:2014:mpoa_stabilizace_lod.png?1000x500| Grafické rozhraní projektu rozhraní}} | ||
Řádek 24: | Řádek 24: | ||
| | ||
**Indikace nebezpečí** obsahuje tři stavy a to: | **Indikace nebezpečí** obsahuje tři stavy a to: | ||
- | *Bezpeční stav (obr.2, vrchní) | + | *Bezpečný stav (obr.2, vrchní) |
- | *Nebezpeční stav (obr.2, prostřední) | + | *Nebezpečný stav (obr.2, prostřední) |
*Kritický stav (obr. 2, spodní) | *Kritický stav (obr. 2, spodní) | ||
- | Bezpeční stav v vertikální poloze kolem 0°-10° a v horizontálním poloze o trochu více cca. 0°-20°. Bezpečný stav je od | ||
- | ^ Stavy ^ Vertikální rovině ^ Horizontální rovině ^ | + | ^ Stavy ^ Vertikální rovina ^ Horizontální rovina ^ |
- | | Bezpeční | 0°-10° | 0°-20° | | + | | Bezpečný | 0°-10° | 0°-20° | |
- | | Nebezpeční | 10°-20° | 20°-30° | | + | | Nebezpečný | 10°-20° | 20°-30° | |
| Kritický | < 10° | < 30° | | | Kritický | < 10° | < 30° | | ||
Řádek 42: | Řádek 41: | ||
Nejprve byla otestována samotná funkce snímání uhlů při pootočení desky, za pomocí sériového rozhraní. Deska funguje ovšem né moc s přesnými hodnoty při prudších pohybech, což nevadí z důvodu pomalého pohybu pro loď. | Nejprve byla otestována samotná funkce snímání uhlů při pootočení desky, za pomocí sériového rozhraní. Deska funguje ovšem né moc s přesnými hodnoty při prudších pohybech, což nevadí z důvodu pomalého pohybu pro loď. | ||
- | Pro realizaci realizaci grafického rozhraní bylo nutné vytvoření několika objektu které se využívají pro zobrazení. | + | Pro realizaci grafického rozhraní bylo nutné vytvoření několika objektu, které se využívají pro zobrazení. |
- | A to {{2014:mpoa_poloha_1.png?0x20}} , {{2014:mpoa_poloha_2.png?0x20}} , {{2014:mpoa_stav_1.png?0x20}} , {{mpoa_stav_2.png?0x20}} , {{2014:mpoa_stav_3.png?0x20}} , {{mpoa_stabilizace_lod_prazdny.png?0x20}}. Všechny obrázky byli vytvořeny v programu Photoshop, kromě indikace nebezpečí které byli jen upraveny pro použití. Při použití stabilizace_lod_prazdny.png jako statický pozadí do kterého jsou v intervalech vkládány obrazce poloha_1 a poloha_2 které jsou natočeny v o X stupnů, kde X je rovno uhlu dané osy. Záznam byl uložen do souboru .txt [[http://uloz.to/xmhVM7Sq/zaznam-multi-b-txt|odkaz na záznam]] a nahrán do aplikace pro vizualizaci,viz DEMO4. | + | A to {{2014:mpoa_poloha_1.png?0x20}} , {{2014:mpoa_poloha_2.png?0x20}} , {{2014:mpoa_stav_1.png?0x20}} , {{mpoa_stav_2.png?0x20}} , {{2014:mpoa_stav_3.png?0x20}} , {{mpoa_stabilizace_lod_prazdny.png?0x20}}. Všechny obrázky byli vytvořeny v programu Photoshop, kromě indikace nebezpečí, které byli jen upraveny pro použití. Při použití stabilizace_lod_prazdny.png jako statický pozadí do kterého jsou v intervalech vkládány obrazce poloha_1 a poloha_2, které jsou natočeny v X stupňů, kde X je rovno úhlu dané osy. Záznam byl uložen do souboru .txt [[http://uloz.to/xmhVM7Sq/zaznam-multi-b-txt|odkaz na záznam]] a nahrán do aplikace pro vizualizaci. |
{{ :2014:mpoa_demo4.gif?1000x500 | Animace grafické funkce}} | {{ :2014:mpoa_demo4.gif?1000x500 | Animace grafické funkce}} | ||
Řádek 59: | Řádek 58: | ||
MotionSensorDataUnits mdata; | MotionSensorDataUnits mdata; | ||
int16_t acc_raw[3]; | int16_t acc_raw[3]; | ||
- | int X,Y,Z; | + | float X,Y,Z; |
printf("\r\nStarting\r\n\r\n"); | printf("\r\nStarting\r\n\r\n"); | ||
Řádek 75: | Řádek 74: | ||
printf("MPL3115A2 Alt = %X\r\n", alt.getDeviceID()); | printf("MPL3115A2 Alt = %X\r\n", alt.getDeviceID()); | ||
#endif | #endif | ||
+ | printf("cas(s) Accelerometer_osa_X Accelerometer_osa_Y Accelerometer_osa_Z \r\n"); | ||
| | ||
wait(3); | wait(3); | ||
Řádek 81: | Řádek 81: | ||
acc1.ReadXYZ(acc_data); | acc1.ReadXYZ(acc_data); | ||
acc1.ReadXYZraw(acc_raw); | acc1.ReadXYZraw(acc_raw); | ||
- | printf("FXLS8471 Acc: X:%6.3f Y:%6.3f Z:%6.3f (Raw X:%4d Y:%4d Z:%4d)\r\n", acc_data[0], acc_data[1], acc_data[2], acc_raw[0], acc_raw[1], acc_raw[2]); | ||
- | |||
acc2.ReadXYZ(acc_data); | acc2.ReadXYZ(acc_data); | ||
acc2.ReadXYZraw(acc_raw); | acc2.ReadXYZraw(acc_raw); | ||
- | printf("MMA8652 Acc: X:%6.3f Y:%6.3f Z:%6.3f (Raw X:%4d Y:%4d Z:%4d)\r\n", acc_data[0], acc_data[1], acc_data[2], acc_raw[0], acc_raw[1], acc_raw[2]); | ||
- | |||
combo_acc.getAxis(adata); | combo_acc.getAxis(adata); | ||
- | printf("FXOS8700 Acc: X:%6.3f Y:%6.3f Z:%6.3f\r\n", adata.x, adata.y, adata.z); | + | printf("%6.3f %6.3f %6.3f %6.3f\r\n", time, adata.x, adata.y, adata.z); |
- | + | ||
- | | + | |
wait(1); | wait(1); | ||
} | } | ||
Řádek 96: | Řádek 90: | ||
</code> | </code> | ||
- | |||
===== Závěr ===== | ===== Závěr ===== | ||
Projekt byl vytvořen pouze na dvě fáze a to nahraní dat samostatně a poté zpracování dat do grafické podoby. Využiti akcelerometru a gyroskopu se neosvědčilo, docházelo k velkým odchylkám. Lepších výsledků bylo dosaženo samotným akcelerometrem s přidaným filtrem "//Plovoucí okno//", pro plynulejší pohyb ukazatele. | Projekt byl vytvořen pouze na dvě fáze a to nahraní dat samostatně a poté zpracování dat do grafické podoby. Využiti akcelerometru a gyroskopu se neosvědčilo, docházelo k velkým odchylkám. Lepších výsledků bylo dosaženo samotným akcelerometrem s přidaným filtrem "//Plovoucí okno//", pro plynulejší pohyb ukazatele. | ||
- | Při pokusu zprovozní doporučovaného softwaru CodeWarrior od Freescale, jsem narazil na hodně problému, proto jsem tuto možnost opustil. Ani po týdnu jsem nedocílil pokroku. Problém se nalézá zřejmě mezi klávesnicí a židli. | + | Při pokusu zprovoznění doporučovaného softwaru CodeWarrior od Freescale, jsem narazil na hodně problému, proto jsem tuto možnost opustil. Měl jsem menší problém s hardwarem, ale byl vyřešen výměnou. Ani po týdnu jsem nedocílil pokroku. Problém se nalézá zřejmě mezi klávesnicí a židli. |