2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
W tej instrukcji podzielę się z wami sposobem na pobranie kąta z MPU6050 za pomocą raspberry pi za pomocą Pythona. Piszę ten artykuł, ponieważ nie mogłem znaleźć w Internecie żadnego, który poprowadziłby nas do korzystania z MPU6050, aby znaleźć kąt z raspberry pi za pomocą Pythona. Używamy kalman-filter algorytmu fuzji, który był używany w misjach Apollo (nie żartuję). Podziękowania dla TJK za wyjaśnienie tak złożonego algorytmu, aby manekiny z niewielką i przyzwoitą wiedzą matematyczną (jak ja) mogły zrozumieć działanie filtra Kalmana. Jeśli jesteś zainteresowany, przejrzyj jego bloga blog TJK wyjaśniający kalman-filter
Swój algorytm zaimplementował w C++. Nie mogę znaleźć implementacji tego algorytmu w Pythonie nigdzie w Internecie. Pomyślałem więc, że zrobię implementację jego algorytmu w Pythonie, aby użytkownicy Pythona mogli go użyć do znalezienia kąta z raspberry pi.
Fajny. Zacznijmy.
Krok 1: Wymagana aparatura:)
- Raspberry pi i jego zależności (środki do wyświetlenia, źródło zasilania i wiesz, co jeszcze jest wymagane)
- MPU6050 (oczywiście)
- Zworki - (żeńskie do żeńskich - w zależności od modułu MPU6050)
Krok 2: Połączmy się z nimi
Protokół:
Jeśli nie jesteś świadomy, MPU6050 używa protokołu komunikacyjnego o nazwie I2C (wymawiane jako I do kwadratu C). Jest bardzo wydajny - wystarczą dwa przewody do SDA i SCL, a maksymalna liczba urządzeń, które mogą być używane w tym samym, jest ograniczona ograniczeniami sprzętowymi (powinieneś być w stanie podłączyć przynajmniej do 128 urządzeń). W naszym przypadku raspberry pi działa jako master, a MPU6050 jako slave.
Jeśli jesteś zainteresowany nauką działania I2C, oto on.
W porządku. Chodźmy do pracy.
Połączmy je:
Połączenia są dość proste.
MPU6050 ---------- Raspberry Pi
VCC ---------- 5 V (piny 2 lub 4)
GND ----------- GND (pin 6)
SDA ----------- SDA (pin 5)
SCL ----------- SCL(styk 3)
Jeśli nie znasz konfiguracji pinów raspberry pi, możesz to wygooglować. Konfigurację pinów raspberry pi 3 znajdziesz tutaj.
Możesz też rzucić okiem na schemat połączeń i pomóc sobie. (Na schemacie GND MPU6050 jest podłączone do 34. pinu raspberry pi. To też jest pin uziemiający. Więc nie pomyl się. Możesz to podłączyć w dowolny sposób.)
Krok 3: Pozwólmy im pracować
Pobierz kod:
Możesz pobrać lub skopiować kod z tego linku git-hub. Wolałbym pobieranie zamiast kopiowania, ponieważ python czasami rzuca „niespójne użycie tabulatorów i spacji we wcięciach”, jeśli skopiujesz i wkleisz kod. Dowiedz się dlaczego tutaj.
Uruchom program:
Po skopiowaniu kodu otwórz AngleOMeter.py i uruchom go. Upewnij się, że skopiuj oba pliki AngleOMeter.py i Kalman.py i znajdują się one w tym samym folderze (katalogu). Wszystko gotowe. Przechyl moduł MPU6050, a kąt na ekranie powinien się zmienić.
Miłego tworzenia!