Inhoudsopgave:

L3G4200D Gyro-beweging visualiseren met blender - Ajarnpa
L3G4200D Gyro-beweging visualiseren met blender - Ajarnpa

Video: L3G4200D Gyro-beweging visualiseren met blender - Ajarnpa

Video: L3G4200D Gyro-beweging visualiseren met blender - Ajarnpa
Video: How to use MicroPython on Your Arduino? 2024, November
Anonim
Image
Image

Ik heb een vrij goedkope gyro L3G4200D-sensor van eBay gekocht die 3-assige rotatie kan detecteren en deze via een I2C- of SPI-interface kan leveren. Ik heb geprobeerd het te gebruiken om horizontale en verticale rotatie in realtime te detecteren. Dit bleek vrij moeilijk omdat ik niet kon visualiseren wat de Gyro uitvoerde. Ik had een visualisatie nodig. Uiteindelijk heb ik Blender gebruikt om de gyro te visualiseren die is aangesloten op een Arduino Uno. Met deze combinatie kreeg ik een realtime rapport dat redelijk goed bleek te zijn en aantoonde dat de sensor behoorlijk nauwkeurig was in wat hij doet.

Stap 1: De hardware

De software
De software

L3G4200D-sensor

Arduino Uno (bijna elke Arduino zal het doen)

De sensor maakt op deze manier verbinding met de Arduino.

En de Arduino maakt verbinding met de pc.

Stap 2: De software

Voor de visualisatie heb ik blender en python gebruikt.

Hier beginnen de problemen. We moeten Blender en Python op de juiste manier instellen. We hebben Blender nodig om dezelfde python-versie te delen die het systeem gebruikt. De beste manier om dit te doen is door de nieuwste Blender te downloaden en te installeren. Open de interne python van Blenders. Op mijn computer bevindt het zich op: C:\Program Files\Blender Foundation\Blender\2.78\python\bin\python.exe Het onthult de Python-versie die Blender gebruikt.

Ga naar de Python-pagina en download de EXACT dezelfde python-bak. https://www.python.org/downloads/Install python maar check in [Python toevoegen aan PATH] aan het begin van de installatiewizard.

Hernoem de map waarin python zich bevindt die blender gebruikt, zodat deze niet meer wordt herkend door blender.rename

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

tot

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

Als we de blender nu starten, zou deze zonder enig probleem moeten kunnen starten. Als het programma crasht, betekent dit dat de python-versie niet exact hetzelfde is als de blender die eerder werd gebruikt of dat PATH niet is bijgewerkt.

Het enige dat nu nog ontbreekt, zijn de bibliotheken die we met python zullen gebruiken. Start python op en we zullen de seriële bibliotheek downloaden deze opdracht die kan worden uitgevoerd via de opdrachtregel:

pip serieel installeren

Deze bibliotheek is nodig omdat python seriële verbindingen van de Arduino kan ontvangen.

Stap 3: De scripts

de scripts
de scripts

Op de Arduino moeten we dit script uploaden:

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

Dit script heb ik gevonden en aangepast vanuit deze thread op het Arduino-forum.

De taak van dit script is om de gegevens van de L3G4200D-sensor te krijgen en deze via een ingestelde COM-poort met een baudrate van 115200 te verzenden.

Uitvoervoorbeeld:

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

In blender moeten we de lay-out wijzigen in Scripting.

Aan de linkerkant moeten we ons python-script invoeren dat de gegevens ontvangt en verwerkt van de sensor en de COM-poort wijzigen in de poort waar onze Arduino zich bevindt.

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

Stap 4: Voer het script uit

Voer het script uit
Voer het script uit

Nadat je op Run Script hebt gedrukt, zou alles moeten werken en zou de kubus moeten draaien net zoals de gyrosensor wordt gedraaid.

Stap 5: Problemen oplossen

Probleemoplossen
Probleemoplossen

Als u een probleem tegenkomt met de uitvoering van het script, moet u de systeemconsole openen. Klik op Venster -> Systeemconsole omschakelen om de console weer te geven waar de fout wordt weergegeven.

De meest voorkomende fout is dat toestemming wordt geweigerd om de poort te openen. Om dit op te lossen, ontkoppelt u snel de Arduino en sluit u deze opnieuw aan.

Als je meer hulp nodig hebt, ga dan naar mijn website voor betere ondersteuning.

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

Aanbevolen: