Lekce 25 - Arduino a akcelerometr s MPU-6050
08.10.2013 09:15Translate 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ětDiskusní téma: Lekce 25 - Arduino a akcelerometr s MPU-6050
Datum | 11.11.2021 |
---|---|
Vložil | cialis dosage |
Titulek | cialis without a doctor prescription cialiswithdapoxetine.com |
<a href="https://cialiswithdapoxetine.com/#">fastest delivery of cialis</a> cialis alternative
———
Datum | 08.11.2021 |
---|---|
Vložil | buy cialis online |
Titulek | cialis tablets cialiswithdapoxetine.com |
cheap cialis <a href="https://cialiswithdapoxetine.com/#">buy cialis online</a>
———
Datum | 05.11.2021 |
---|---|
Vložil | cialis online |
Titulek | cialis tablets cialiswithdapoxetine.com |
<a href="https://cialiswithdapoxetine.com/#">cialis without a doctor prescription</a> cialis alternative
———
Datum | 01.11.2021 |
---|---|
Vložil | cialis 20mg |
Titulek | cialis generic cialiswithdapoxetine.com |
<a href="https://cialiswithdapoxetine.com/#">cialis tablets</a> cialis price
———
Datum | 29.10.2021 |
---|---|
Vložil | cheap cialis |
Titulek | cheap cialis cialiswithdapoxetine.com |
cialis without a doctor prescription https://cialiswithdapoxetine.com/
———
Datum | 26.10.2021 |
---|---|
Vložil | cialis alternative |
Titulek | cialis tablets cialiswithdapoxetine.com |
cialis 20mg <a href="https://cialiswithdapoxetine.com/#">can ubuy cialis on streets</a>
———
Datum | 23.10.2021 |
---|---|
Vložil | can i take cialis with daxpoteine |
Titulek | buy cialis usa cialiswithdapoxetine.com |
cialis tablets <a href="https://cialiswithdapoxetine.com/#">fastest delivery of cialis</a>
———
Datum | 19.10.2021 |
---|---|
Vložil | buy cialis usa |
Titulek | generic cialis cialiswithdapoxetine.com |
<a href="https://cialiswithdapoxetine.com/#">cialis tablets</a> cialis dosage
———
Datum | 14.10.2021 |
---|---|
Vložil | buy cialis usa |
Titulek | cialis 20 mg cialiswithdapoxetine.com |
<a href="https://cialiswithdapoxetine.com/#">cialis tablets</a> cialis online
———
Datum | 06.10.2021 |
---|---|
Vložil | cialis coupon |
Titulek | generic cialis cialiswithdapoxetine.com |
cialis price <a href="https://cialiswithdapoxetine.com/#">cialis coupon</a>