Sadržaj:
Video: Vizualizacija žiroskopskog pokreta L3G4200D sa blenderom: 5 koraka
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
Kupio sam prilično jeftin žiroskop L3G4200D senzor od eBay -a koji može otkriti rotaciju s tri osi i isporučiti ga putem I2C ili SPI sučelja. Pokušao sam ga koristiti za otkrivanje vodoravne i okomite rotacije u stvarnom vremenu. Ovo se pokazalo prilično teškim jer nisam mogao zamisliti šta Gyro ispisuje. Trebala mi je vizualizacija. Na kraju sam upotrijebio Blender za vizualizaciju žiroskopa koji je povezan s Arduino Uno. S ovom kombinacijom sam dobio izvještaj u stvarnom vremenu koji se pokazao prilično dobrim i pokazao da je senzor prilično precizan u onome što radi.
Korak 1: Hardver
L3G4200D senzor
Arduino Uno (gotovo svaki Arduino će to učiniti)
Senzor se na ovaj način povezuje s Arduinom.
I Arduino se povezuje sa računarom.
Korak 2: Softver
Za vizualizaciju sam koristio blender i python.
Tu počinju problemi. Moramo postaviti Blender i python na pravi način. Potreban nam je Blender za dijeljenje iste verzije pythona koju sistem koristi. Najbolji način za to je da preuzmete najnoviji blender, instalirajte ga. Otvorite Blenders interni python. Na mom računaru se nalazi na adresi: C: / Program Files / Blender Foundation / Blender / 2.78 / python / bin / python.exe Otkriva Python verziju koju Blender koristi.
Idite na stranicu Python i preuzmite TAČNU istu korpu za python. https://www.python.org/downloads/Instalirajte python, ali provjerite [Add Python to PATH] na početku čarobnjaka za instalaciju.
Preimenujte fasciklu u kojoj se nalazi python koji koristi blender tako da je više neće prepoznati blender.rename
C: / Program Files / Blender Foundation / Blender / 2.78 / python
to
C: / Program Files / Blender Foundation / Blender / 2.78 / python_old
Ako sad pokrenemo blender, trebao bi se moći pokrenuti bez ikakvih problema. Ako se program ruši, to znači da verzija pythona nije potpuno ista kao blender koji je ranije korišten ili da PATH nije ažuriran.
Jedino što sada nedostaje su biblioteke koje ćemo koristiti s pythonom. Pokrenite python i mi ćemo preuzeti naredbu serijske biblioteke koja se može izvršiti putem komandne linije:
pip install serial
Ova je knjižnica potrebna jer omogućuje pythonu primanje serijskih veza s Arduina.
Korak 3: Skripte
Na Arduinu ćemo morati učitati ovu skriptu:
gist.github.com/BoKKeR/ac4b5e14e5dfe0476df7eb5065e98e98#file-l3g4200d-ino
Ovu skriptu sam pronašao i izmijenio iz ove teme na Arduino forumu.
Zadatak ove skripte je da dobije podatke sa senzora L3G4200D i pošalje ih preko postavljenog COM porta sa brzinom prijenosa 115200.
Primjer izlaza:
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
U blenderu ćemo morati promijeniti izgled u Scripting.
Na lijevoj strani moramo unijeti našu python skriptu koja će primati podatke i obrađivati ih sa senzora i promijeniti COM port u port na kojem se nalazi naš Arduino.
gist.github.com/BoKKeR/edb7cc967938d57c979d856607eaa658#file-blender-py
Korak 4: Pokrenite skriptu
Nakon što pritisnete Run Script, sve bi trebalo raditi i kocka bi se trebala okretati isto kao što je okrenut žiroskop.
Korak 5: Rješavanje problema
Ako naiđete na bilo kakav problem sa izvršavanjem skripte, morat ćete otvoriti sistemsku konzolu. Pritisnite Window -> Toggle System Console da biste otkrili konzolu na kojoj se prikazuje greška.
Najčešća greška je odbijanje dozvole za otvaranje porta. Da biste to riješili, brzo isključite Arduino i ponovo ga povežite.
Ako vam je potrebna dodatna pomoć, posjetite moju web stranicu radi bolje podrške.
tnorbert.com/visualizing-l3g4200d-gyro-movement-with-blender/