GY-521 GY-521
Chceš udělat svůj dron nebo RC letadlo z Arduina, ale nevíš, jak přimět gyro k práci? Možná už jsi koupil šestiosý GY-521 modul a zjistils, že to není tak jednoduché? Zkus tento návod!
Naučíš se zapojit jednoduchý obvod pro otestování MPU6050 s Arduinem a simulovat “YAW, PITCH a ROLL“ na 3D modelu letadla na obrazovce. Toto slouží jako učebnicová pomůcka k seznámení s gyroskopem a k nainstalování potřebných knihoven do Arduino IDE.
Co potřebuješ?
• 1 x Arduino UNO
• 1 x GY-521 akcelerometr
• Samec-samice kablíky
• Pájecí stroj
Krok 1: Zapoj obvod jak je uvedeno


Pro informaci:
- Gyro modul komunikuje s Arduinem přes sériovou sběrnici I2C a SCL + SDA
- Čip MPU6050 potřebuje 3.3V. Regulátor napětí modulu GY-521 umožňuje napájet desku 5V.
- Více informací o tomto modulu nalezneš na stránce: Arduino Playground, ale vše tam je v angličtině.
Krok 2: Instalace I2Cdev a MPU6050 knihoven

Pokud bychom psali kód od nuly, trvalo by to věčnost. Dobrá zpráva je, že někdo už těžkou práci pro nás udělal. Jeff Rowberg napsal Arduino knihovny k získání dat z akcelerometru / gyra a potřebných výpočtů. Jsou dostupné jako zip:
https://github.com/jrowberg/i2cdevlib/zipball/master
Po odzipování v ní najdeš Arduino složku, která má další dvě podložky: „I2Cdev“ a „MPU6050“. Obě dvě složky zkopíruj do své Arduino knihovny, která je na adrese:
C:\Program Files (x86)\Arduino\libraries v Windows
xxxxxxxxx v macOS
Pak nastartuj IDE a v sekci příklady najdeš MPU6050_DMP6 s MPU6050. Otevři ji, připoj Arduino k počítači, vyber potřebný COM Port a nahrej kód. V sériovém monitoru vyber rychlost 115200. Budeš upozorněn, že spojení s MPU6050 bylo úspěšné. Testovat můžeš začít stisknutím libovolné klávesy a pak Enter. Měla by se objevovat data.
Teď chceme zkusit 3D simulaci. Zavři sériový monitor a najdi řádek #define OUTPUT_READABLE_YAWPITCHROLL a zakomentuj. Najdi řádek: //#define OUTPUT_TEAPOT a odkomentuj. Ulož to “save as” a vyber, kam to uložíš. Nahraj kód do Arduina a neotevírej tentokrát sériový monitor.
Krok 3: Stáhni a nainstaluj poslední verzi Processing a knihovny
Ke spuštění 3D simulace otevřeme teapot demo ze složky MPU6050_DMP6, příklad od Jeffa Rowberga MPU6050 knihovny. Bohužel, Arduino IDE bude získávat pouze data. Pro zobrazení 3D simulace budeme potřebovat dodatečný software: Processing. Stáhni a rozbal, kam budeš chtít: https://processing.org/download/?processing
Potřebujeme jednu knhovnu pro 3D simulace: ToxicLib. Tuhle knihovnu rozbal do složky knihoven Processing. Poslední verze ToxicLibs je ke stažení zde:
https://bitbucket.org/postspectacular/toxiclibs/downloads/
Knihovny Processing najdeš tady: Processing: modes -> java -> libraries. Všechno rozbal do této složky.
Krok 4: Zkus 3D simulace

Teď otevři Processing a demo v následujícím pořadí:
Windows:
File -> Open -> C:\Program Files (x86)\Arduino\libraries\MPU6050\Examples\MPU6050_DMP6\Processing\MPUTeapot
macOS:
File -> Open -> Documents\Arduino\libraries\MPU6050\Examples\MPU6050_DMP6\Processing\MPUTeapot
Klikni na tlačítko “Play” a nehýbej s modulem po dobu 20-30 vteřin. Je to nutné pro kalibraci.

Teď vezmi gyro a zkus yaw / pitch / roll. Teď, když víš, že všechno funguje tak, jak má, můžeš odstartovat svůj vlastní projekt.
Jeslí se nic neděje, v souboru MPUTeapot.pde najdi řádek String portName = Serial.list()[0] a zakomentuj. Najdi řádek: //String portName = „/dev/tty.wchusbserial1420“ a odkomentuj.
Změň “ tty.wchusbserial1420″ na port, ve kterém máš připojené Arduino, např.: „COM3″ v windows, nebo “wchusbserial1420“ v Applu.