MPU6050 jest układem, który łączy w sobie 3-osiowy żyroskop, 3-osiowy akcelerometr oraz cyfrowy termometr. Z powodzeniem może zastąpić opisywane już wcześniej układy ADXL345 oraz L3G4200D. Jego szczególną cechą jest wbudowana sprzętowa jednostka DMP(Digital Motion Processor), która ułatwia przeliczanie przetwarzanych danych z wszystkich trzech czujników na konkretne położenie względem Ziemi, odciążając tym samym mikrokontroler. Jednostkę DMP można zaprogramować tak, aby wykorzystywała do swoich obliczeń również zewnętrzny magnetometr.
W odróżnieniu od opisywanego już żyroskopu L3G4200D, oprócz możliwości pracy w zakresach pomiarowych ±250°/s, ±500°/s oraz ±2000°/s posiada dodatkowy tryb ±1000°/s, co czyni go bardziej uniwersalnym rozwiązaniem. Za przetwarzanie danych odpowiada również 16 bitowy przetwornik. Przewagą MPU6050 nad ADXL345 jest również dokładniejszy 16-bitowy przetwornik zamiast 13-bitowego. Praktycznie MPU6050 posiada takie same funkcje jak ADXL345 oraz L3G4200D, jednak rozszerza swoje właściwości o programowalny filtr dolnoprzepustowy, dodatkową szynę do komunikacji z innymi układami oraz dodatkowe tryby oszczędzania energii. Wszystko to przy maksymalnym poborze prądu 4.1mA (w duecie L3G4200D oraz ADXL345 potrafi przekroczyć 6mA)
Napięcie zasilania może mieścić się w zakresie od 2.375V ÷ 3.46V, natomiast poziomy logiczne mogą mieścić się w zakresie od 1.71V do wartości napięcia zasilania
Wyprowadzania linii układu oraz orientacja osi
Podłączenie MPU6050 do Arduino
Układ MPU6050 toleruje zasilanie z przedziału 2.375V ÷ 3.46V, więc jeśli planujemy podłączyć go doArduino UNO, nie zapomnijmy o konwerterze napięć poziomów logicznych. W przypadku modułuIMU GY-86 oraz IMU GY-87, możemy skorzystać z 5V zasilania. Pin oznaczony SCL (adapter) podłączamy do pinu A5 (Arduino), natomiast pin SDA (adapter) do pinu A4 (Arduino). W moim układzie wykorzystałem również dwie diody z rezystorami 220Ω, sterowane wyjściami cyfrowymiArduino (4,7) do sygnalizacji przerwań.