
Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-23 15:03


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

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

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

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

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:
Sterowanie led żyroskopu z Arduino: 5 kroków

Sterowanie led żyroskopu z Arduino: W tym projekcie pokażę, jak zbudować prosty ściemniacz z 4 diodami led za pomocą żyroskopu i arduino uno. Dostępne są 4 diody led ułożone w „+”; kształt i będą świecić bardziej, gdy przechylisz płytkę stykową. Nie będzie to wymagało lutowania
Symulator gry na smartfony - Graj w gry Windows za pomocą IMU sterowania gestami, akcelerometru, żyroskopu, magnetometru: 5 kroków

Symulator gry na smartfony - graj w gry Windows za pomocą IMU sterowania gestami, akcelerometru, żyroskopu, magnetometru: wesprzyj ten projekt: https://www.paypal.me/vslcreations, przekazując darowizny na kody open-source i amp; wsparcie dalszego rozwoju
Arduino Nano i Visuino: Konwersja przyspieszenia do kąta z akcelerometru i żyroskopu Czujnik MPU6050 I2C: 8 kroków (ze zdjęciami)

Arduino Nano i Visuino: Konwertuj przyspieszenie na kąt z akcelerometru i żyroskopu Czujnik MPU6050 I2C: Jakiś czas temu opublikowałem samouczek, w jaki sposób można podłączyć akcelerometr, żyroskop i czujnik kompasu MPU9250 do Arduino Nano i zaprogramować go za pomocą Visuino, aby wysyłać dane pakietowe i wyświetlać na oscyloskopie i instrumentach wizualnych. Akcelerometr wysyła X, Y
Pomiar kąta za pomocą żyroskopu, akcelerometru i Arduino: 5 kroków

Pomiar kąta za pomocą żyroskopu, akcelerometru i Arduino: Urządzenie jest wstępnym prototypem tego, co ostatecznie stanie się robotem samobalansującym, jest to druga część dziury (odczytaj akcelerometr i kontroluj silnik do samobalansowania). Pierwsza część z samym żyroskopem znajduje się tutaj
Samouczek dotyczący akcelerometru i żyroskopu: 3 kroki

Akcelerometr i żyroskop – samouczek: Wprowadzenie Ten przewodnik jest przeznaczony dla wszystkich zainteresowanych wykorzystaniem akcelerometrów i żyroskopów, a także kombinacji urządzeń IMU (Inertial Measurement Unit) w swoich projektach elektronicznych. Omówimy: Co mierzy akcelerometr?