Lekce 25 - Arduino a akcelerometr s MPU-6050

08.10.2013 09:15

Translate to English

Jak jsem sliboval dnes zvolíme lehčí a oddechové téma. Připravil jsem si pro Vás modul se senzorem zrychlení GY521 osazený čipem MPU6050. Na obrázku můžete vidět že modul má 8 vývodů avšak jeho zapojení není těžké, protože komunikuje přes rozhraní I2C, které jak jsme si dříve popsali obsahuje pouze 2 komunikační vodiče SDA a SLC. Ostatní vývody nás pro dnešek zajímat nebudou kromě pinu pro napájecí napětí. Modul je napájený napětím 5V a již nepotřebuje žádné externí součástky. Ke spojení s Arduinem budeme potřebovat pouze 4 vodiče. 

Obrázek čipu MPU-6050 máte nahoře. Jak vidíte v experimentálních podmínkách by se nám s čipem špatně pracovalo, protože je vyráběn pouze v technologii SMD. Využijeme proto hotový modul na obrázku níže.

Datasheet k čipu MPU-6050 si můžete stáhnout zde. Pro naše experimentování využijeme již napsanou a vyzkoušenou knihovnu. Stáhnete si jí z toho odkazu, kde vyberete po rozbalení adresář "Arduino" a poté "MPU6050", který překopírujete do adresáře "libraries" v místě kde je nainstalováno prostředí Arduino IDE. Tento postup jsme si již ukazovali mnohokrát.

Zapojíme si modul k Arduinu a po importu knihoven a resetování programu Arduino IDE (zavřít / otevřít program) se by Vám měl ukázat příklad zdrojového kódu v Examples.  (File --> Examples --> MPU6050 --> Examples --> MPU6050_raw). Program nahrajeme a spustíme SerialMonitor, kde si nastavíme rychlost 38400 !!!. Program vypisu aktuální hodnoty ve třech osách pro rotaci a akceleraci. V příkladovém programu od autora si můžete všimnout asi nejdůležitějšího řádku, který obsahuje 

accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);

  ten uloží všech 6 hodnot do proměných, které dále v programu využíváme. 

Tak nějaké hodnoty sice máme ale moc nám toho neříkají a jak je vidět z výpisu na seriový port čísla se docela i rychle mění i když je senzor v klidu. Program si upravíme podle nás. Ukol, který jsem si stanovil bude měření náklonu a sklonu. Taková elektronická vodováha, která nám ovšem nemude říkat, zda je to v rovině nebo ne, ale ukáže přími náklon a sklon ve stupních (°). Jak na to?

Pátral jsem na internetu, abych našel našel postup při výpočtu sklonu nebo nákonu. Našel jsem tyto velmi zajímavé vzorce. 

Při použití techto vzorců bude výsledek v radiánech. Pro stupně musíme číslo vydělit podílem Ludulfova čísla a čísla 180 (PI/180). Tak teorii máme a teď k samotnému celému programu. Zatím si hodnoty necháme taktéž zapisovat na seriový port. Displej zapojíme poté. Ukázku programu máte zde:

 

Jsou tam nějaké změny oproti příkladu ke knihovně. Snažil jsem se celou věc hodně zjednodušit, aby jste to lépe pochopili. Základem všeho je vypočítat tedy z hodnot ax, ay a az sklon a náklon. V programovaní s Arduinem nám v tom pomůže knihovna Math.h. Ta obsahuje výpočty různých matematických funkcí, mocnin, odmocnin, logaritmů a pod. Bližší specifikaci knihovny poskytnou stránky Arduina zde. Z kódu programu jste si mohli všimnout toho abych odstranil chyby měření, různé drobné odchylky a šum, že výpočty program udělá po odběru 100 vzorků, které sečte a poté vydělí počtem vzorků. Tím dostaneme průměrnou hodnotu pro zpřesnění měření a odstranění záchvěvů.

Chceme-li získat, zařízení, které nebude závislé na počítači pro čtení hodnot ze sériového portu, připojíme si k Arduinu ještě LCD displej. Já jsem si vybral modul displeje z NOKIE 5110, aby jsme si práci s ním trošku zopakovali. Připojíme si ho tedy stejně jako v lekci 7 a do Arduina nahrajeme tento program:

Vy samozřejmě můžete použít i jiný typ displeje nebo zobrazovacího prvku. Můžete využít i také akustického upozornění, kdy je dosaženo roviny. Vzhledem ke skutečnosti, že displej zobrazuje data zadaní pouze ve "String" a převod float do String je věc obtížnější, zaokrouhlil jsem stupně na celá čísla, kdy je poté převedeno pomocí funkce sprintf. 

Zpět

Diskusní téma: Lekce 25 - Arduino a akcelerometr s MPU-6050

Datum
Vložil
Titulek

cialis without a doctor prescription cialiswithdapoxetine.com

<a href="https://cialiswithdapoxetine.com/#">fastest delivery of cialis</a> cialis alternative

Datum
Vložil
Titulek

cialis tablets cialiswithdapoxetine.com

cheap cialis <a href="https://cialiswithdapoxetine.com/#">buy cialis online</a>

Datum
Vložil
Titulek

cialis tablets cialiswithdapoxetine.com

<a href="https://cialiswithdapoxetine.com/#">cialis without a doctor prescription</a> cialis alternative

Datum
Vložil
Titulek

cialis generic cialiswithdapoxetine.com

<a href="https://cialiswithdapoxetine.com/#">cialis tablets</a> cialis price

Datum
Vložil
Titulek

cheap cialis cialiswithdapoxetine.com

cialis without a doctor prescription https://cialiswithdapoxetine.com/

Datum
Vložil
Titulek

cialis tablets cialiswithdapoxetine.com

cialis 20mg <a href="https://cialiswithdapoxetine.com/#">can ubuy cialis on streets</a>

Datum
Vložil
Titulek

buy cialis usa cialiswithdapoxetine.com

cialis tablets <a href="https://cialiswithdapoxetine.com/#">fastest delivery of cialis</a>

Datum
Vložil
Titulek

generic cialis cialiswithdapoxetine.com

<a href="https://cialiswithdapoxetine.com/#">cialis tablets</a> cialis dosage

Datum
Vložil
Titulek

cialis 20 mg cialiswithdapoxetine.com

<a href="https://cialiswithdapoxetine.com/#">cialis tablets</a> cialis online

Datum
Vložil
Titulek

generic cialis cialiswithdapoxetine.com

cialis price <a href="https://cialiswithdapoxetine.com/#">cialis coupon</a>

1 | 2 | 3 | 4 >>

Vyhledávání

arduino8.cz © 2015 Všechna práva vyhrazena.