MPU6050 to wszechstronny i niedrogi czujnik, który łączy 3-osiowy akcelerometr i 3-osiowy żyroskop w jednym pakiecie. Komunikuje się za pośrednictwem interfejsu I2C i jest idealny do śledzenia ruchu, równoważenia robotów i sterowania gestami. Ten samouczek pokaże, jak połączyć MPU6050 z Arduino.
Czego będziesz potrzebować
- MPU6050 Moduł
- Arduino Board (np. UNO, Mega, Nano)
- Tablica chleba
- Przewody zworki
- Komputer z zainstalowanym Arduino IDE
Krok 1: Okablowanie MPU6050 do Arduino
MPU6050 wykorzystuje protokół I2C, wymagający tylko dwóch linii danych: SDA (dane) i Scl (zegar). Oto typowe połączenia:
Pin MPU6050 | Arduino Uno Pin |
---|---|
VCC | 5v |
GND | GND |
SDA | A4 (SDA) |
Scl | A5 (SCL) |
Notatka: Sprawdź konkretny pinout płyty Arduino, jeśli używasz innego modelu.
Krok 2: Zainstaluj bibliotekę MPU6050
Aby ułatwić interfejs z MPU6050, użyjemy biblioteki „MPU6050”.
- Otwórz Arduino IDE.
- Idź do Naszkicować > Uwzględnij bibliotekę > Zarządzaj bibliotekami.
- W menedżerze biblioteki wyszukaj „MPU6050 przez Electronic Cats”.
- Wybierz bibliotekę i kliknij Zainstalować.
Krok 3: Prześlij kod
Oto podstawowy przykład odczytu danych akcelerometru i żyroskopu z MPU6050:
#include <Wire.h>
#include <MPU6050.h>
MPU6050 mpu;
void setup() {
Serial.begin(9600);
Wire.begin();
Serial.println("Initializing MPU6050...");
if (!mpu.begin()) {
Serial.println("Failed to find MPU6050 sensor!");
while (1) {
delay(10);
}
}
Serial.println("MPU6050 Initialized.");
}
void loop() {
mpu.update();
Serial.print("Accel X: ");
Serial.print(mpu.getAccX());
Serial.print(" | Accel Y: ");
Serial.print(mpu.getAccY());
Serial.print(" | Accel Z: ");
Serial.println(mpu.getAccZ());
Serial.print("Gyro X: ");
Serial.print(mpu.getGyroX());
Serial.print(" | Gyro Y: ");
Serial.print(mpu.getGyroY());
Serial.print(" | Gyro Z: ");
Serial.println(mpu.getGyroZ());
delay(500); // Update every 500ms
}
Krok 4: Przetestuj konfigurację
- Podłącz swoje Arduino do komputera za pomocą kabla USB.
- Otwórz Arduino IDE i wybierz poprawne Tablica I Port z Narzędzia menu.
- Prześlij kod, klikając Wgrywać przycisk.
- Otwórz monitor szeregowy (Narzędzia > Monitor szeregowy) i ustaw wskaźnik transmisji na
9600
. - Powinieneś zobaczyć wyświetlane odczyty akcelerometru na żywo i żyroskop.
Zrozumienie danych
- Akcelerometr (Accel X, Y, Z): Mierzy liniowe przyspieszenie w trzech osiach.
- Gyroscope (Gyro X, Y, Z): Mierzy prędkość kątową (prędkość obrotu) wokół trzech osi.
Rozwiązywanie problemów
- Czujnik nie wykryty: Dokładnie sprawdź okablowanie i upewnij się, że linie I2C są poprawnie podłączone.
- Brak wyjścia na monitorze szeregowym: Sprawdź, czy wskaźnik transmisji pasuje do ustawienia kodu (9600).
- Nieprawidłowe odczyty: Utrzymuj poziom czujnika podczas inicjalizacji, aby zapobiec dryfowi.
Zastosowania MPU6050
- Równoważenie robotów
- Rozpoznawanie gestów
- Śledzenie ruchu dla VR/AR
- Urządzenia do śledzenia fitness
Wniosek
Gratulacje! Z powodzeniem połączyłeś MPU6050 z Arduino i odczytałeś dane dotyczące ruchu w czasie rzeczywistym. Ten czujnik jest niezwykle wszechstronny i może być używany w niezliczonych projektach. Spróbuj zintegrować MPU6050 z następnym projektem opartym na ruchu i uwolnij jego potencjał!