Spisu treści:

Wizualizacja ruchu żyroskopu L3G4200D z blenderem: 5 kroków
Wizualizacja ruchu żyroskopu L3G4200D z blenderem: 5 kroków

Wideo: Wizualizacja ruchu żyroskopu L3G4200D z blenderem: 5 kroków

Wideo: Wizualizacja ruchu żyroskopu L3G4200D z blenderem: 5 kroków
Wideo: Moduł IMU, porównanie graficzne - filtr Kalmana, filtr komplementarny, akcelerometr, żyroskop 2024, Listopad
Anonim
Image
Image

Kupiłem dość tani czujnik żyroskopowy L3G4200D z eBay, który może wykryć obrót w 3 osiach i dostarczyć go przez interfejs I2C lub SPI. Próbowałem go użyć do wykrywania rotacji w poziomie i pionie w czasie rzeczywistym. Okazało się to dość trudne, ponieważ nie mogłem sobie wyobrazić, co wysyłał żyroskop. Potrzebowałem wizualizacji. Skończyło się na użyciu Blendera do wizualizacji żyroskopu podłączonego do Arduino Uno. Dzięki tej kombinacji otrzymałem raport w czasie rzeczywistym, który okazał się całkiem dobry i udowodnił, że czujnik jest dość dokładny w tym, co robi.

Krok 1: Sprzęt

Oprogramowanie
Oprogramowanie

Czujnik L3G4200D

Arduino Uno (zrobi to prawie każdy Arduino)

W ten sposób czujnik łączy się z Arduino.

A Arduino łączy się z komputerem.

Krok 2: Oprogramowanie

Do wizualizacji użyłem blendera i pytona.

Tu zaczynają się problemy. Musimy odpowiednio skonfigurować Blendera i Pythona. Potrzebujemy Blendera, aby udostępniał tę samą wersję Pythona, z której korzysta system. Najlepszym sposobem jest pobranie najnowszego Blendera, zainstalowanie go. Otwórz wewnętrzny Python Blendera. Na moim komputerze znajduje się on pod adresem: C:\Program Files\Blender Foundation\Blender\2.78\python\bin\python.exe Pokazuje wersję Pythona, z której korzysta Blender.

Udaj się na stronę Pythona i pobierz DOKŁADNY ten sam bin Pythona. https://www.python.org/downloads/Install python, ale sprawdź [Dodaj Pythona do PATH] na początku kreatora instalacji.

Zmień nazwę folderu, w którym znajduje się Python, którego używa blender, aby nie był już rozpoznawany przez blender.rename

C:\Program Files\Blender Foundation\Blender\2.78\python

do

C:\Program Files\Blender Foundation\Blender\2.78\python_old

Jeśli teraz uruchomimy blender, powinien on uruchomić się bez problemu. Jeśli program ulegnie awarii, oznacza to, że wersja Pythona nie jest dokładnie taka sama, jak używany wcześniej blender lub PATH nie zostały zaktualizowane.

Jedyne, czego teraz brakuje, to biblioteki, których będziemy używać z pythonem. Odpal pythona, a my pobierzemy bibliotekę szeregową to polecenie, które można wykonać za pomocą wiersza poleceń:

pip zainstalować serial

Ta biblioteka jest potrzebna, ponieważ umożliwia pythonowi odbieranie połączeń szeregowych z Arduino.

Krok 3: Skrypty

Skrypty
Skrypty

Na Arduino będziemy musieli wgrać ten skrypt:

gist.github.com/BoKKeR/ac4b5e14e5dfe0476df7eb5065e98e98#file-l3g4200d-ino

Ten skrypt znalazłem i zmodyfikowałem z tego wątku na forum Arduino.

Zadaniem tego skryptu jest pobranie danych z czujnika L3G4200D i przesłanie ich przez ustawiony port COM z szybkością 115200 bodów.

Przykład wyjścia:

X: 38,72 Y: 8,61 Z: -17,66

X: 39,30 Y: 8,37 Z: -18,17

X: 40,07 Y: 8,24 Z: -18,81

X: 40,89 Y: 8,30 Z: -19,46

X: 41,69 Y: 8,41 Z: -20,05

X: 42,42 Y: 8,41 Z: -20,44

W blenderze będziemy musieli zmienić układ na Scripting.

Po lewej stronie musimy wpisać nasz skrypt Pythona, który będzie odbierał dane i przetwarzał je z czujnika oraz zmienić port COM na port, w którym znajduje się nasze Arduino.

gist.github.com/BoKKeR/edb7cc967938d57c979d856607eaa658#file-blender-py

Krok 4: Uruchom skrypt

Uruchom skrypt
Uruchom skrypt

Po naciśnięciu Run Script wszystko powinno działać, a kostka powinna się obracać, tak jak obracany jest czujnik żyroskopowy.

Krok 5: Rozwiązywanie problemów

Rozwiązywanie problemów
Rozwiązywanie problemów

Jeśli napotkasz jakikolwiek problem z wykonaniem skryptu, będziesz musiał otworzyć konsolę systemową. Kliknij Okno -> Przełącz konsolę systemową, aby wyświetlić konsolę, w której wyświetlany jest błąd.

Najczęstszym błędem jest odmowa zezwolenia na otwarcie portu. Aby to naprawić, szybko odłącz Arduino i podłącz go ponownie.

Jeśli potrzebujesz więcej pomocy, przejdź na moją stronę internetową, aby uzyskać lepsze wsparcie.

tnorbert.com/visualizing-l3g4200d-gyro-movement-with-blender/

Zalecana: