Cuprins:
- Pasul 1: Hardware necesar:
- Pasul 2: conectare hardware:
- Pasul 3: Cod pentru urmărirea mișcării:
- Pasul 4: Aplicații:
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:41
MPU-6000 este un senzor de urmărire a mișcării cu 6 axe care are încorporat accelerometru pe 3 axe și giroscop cu 3 axe. Acest senzor este capabil să urmărească eficient poziția și locația exactă a unui obiect în planul tridimensional. Poate fi utilizat în sistemele care necesită analiza poziției cu cea mai mare precizie.
În acest tutorial a fost ilustrată interfața modulului senzor MPU-6000 cu raspberry pi. Pentru a citi valorile accelerației și unghiului de rotație, am folosit raspberry pi cu un adaptor I2c. Acest adaptor I2C face conexiunea la modulul senzor mai ușoară și mai fiabilă.
Pasul 1: Hardware necesar:
Materialele de care avem nevoie pentru îndeplinirea obiectivului nostru includ următoarele componente hardware:
1. MPU-6000
2. Raspberry Pi
3. Cablu I2C
4. I2C Shield pentru zmeură pi
5. Cablu Ethernet
Pasul 2: conectare hardware:
Secțiunea de conectare hardware explică practic conexiunile de cablare necesare între senzor și raspberry pi. Asigurarea conexiunilor corecte este necesitatea de bază în timp ce lucrați la orice sistem pentru ieșirea dorită. Deci, conexiunile necesare sunt următoarele:
MPU-6000 va funcționa pe I2C. Iată exemplul schemei de cablare, care demonstrează cum se conectează fiecare interfață a senzorului.
Out-of-the-box, placa este configurată pentru o interfață I2C, ca atare, vă recomandăm să utilizați această conexiune dacă sunteți altfel agnostic.
Nu ai nevoie decât de patru fire! Sunt necesare doar patru conexiuni Vcc, Gnd, SCL și pinii SDA și acestea sunt conectate cu ajutorul cablului I2C.
Aceste conexiuni sunt prezentate în imaginile de mai sus.
Pasul 3: Cod pentru urmărirea mișcării:
Avantajul utilizării raspberry pi este că vă oferă flexibilitatea limbajului de programare în care doriți să programați placa pentru a interfața senzorul cu aceasta. Profitând de acest avantaj al acestei plăci, demonstrăm aici programarea sa în python. Python este unul dintre cele mai ușoare limbaje de programare cu cea mai ușoară sintaxă. Codul python pentru MPU-6000 poate fi descărcat din comunitatea noastră GitHub care este Dcube Store
Pe lângă ușurința utilizatorilor, explicăm și codul aici:
Ca primul pas al codificării, trebuie să descărcați biblioteca SMBus în cazul python, deoarece această bibliotecă acceptă funcțiile utilizate în cod. Deci, pentru a descărca biblioteca puteți vizita următorul link:
pypi.python.org/pypi/smbus-cffi/0.5.1
Puteți copia codul de lucru și de aici:
import smbus
timpul de import
# Obțineți autobuzul I2C = smbus. SMBus (1)
# Adresă MPU-6000, 0x68 (104)
# Selectați registrul de configurare a giroscopului, 0x1B (27)
# 0x18 (24) Gama completă a scalei = 2000 dps
bus.write_byte_data (0x68, 0x1B, 0x18)
# Adresă MPU-6000, 0x68 (104)
# Selectați registrul de configurare a accelerometrului, 0x1C (28)
# 0x18 (24) Gama completă a scării = +/- 16g
bus.write_byte_data (0x68, 0x1C, 0x18)
# Adresă MPU-6000, 0x68 (104)
# Selectați registrul de gestionare a energiei1, 0x6B (107)
# 0x01 (01) PLL cu referință xGyro
bus.write_byte_data (0x68, 0x6B, 0x01)
time.sleep (0.8)
# Adresă MPU-6000, 0x68 (104)
# Citiți datele înapoi de la 0x3B (59), 6 octeți
# Accelerometru Axa X MSB, Axa X LSB, Axa Y MSB, Axa Y LSB, Axa Z MSB, Axa Z LSB
data = bus.read_i2c_block_data (0x68, 0x3B, 6)
# Convertiți datele
xAccl = data [0] * 256 + data [1]
dacă xAccl> 32767:
xAccl - = 65536
yAccl = data [2] * 256 + data [3]
dacă yAccl> 32767:
yAccl - = 65536
zAccl = data [4] * 256 + data [5]
dacă zAccl> 32767:
zAccl - = 65536
# Adresă MPU-6000, 0x68 (104)
# Citiți datele înapoi de la 0x43 (67), 6 octeți
# Girometru axa X MSB, axa X LSB, axa Y MSB, axa Y LSB, axa Z MSB, axa Z LSB
data = bus.read_i2c_block_data (0x68, 0x43, 6)
# Convertiți datele
xGyro = data [0] * 256 + data [1]
dacă xGyro> 32767:
xGyro - = 65536
yGyro = data [2] * 256 + data [3]
dacă yGyro> 32767:
yGyro - = 65536
zGyro = data [4] * 256 + data [5]
dacă zGyro> 32767:
zGyro - = 65536
# Ieșire date pe ecran
print "Accelerare în axa X:% d"% xAccl
print "Accelerare în axa Y:% d"% yAccl
print "Accelerare în axa Z:% d"% zAccl
tipăriți „Axa X de rotație:% d”% xGyro
tipăriți "Axa Y de rotație:% d"% yGyro
tipăriți "Axa Z de rotație:% d"% zGyro
Codul este executat folosind următoarea comandă:
$> python MPU-6000.py gt; python MPU-6000.py
Ieșirea senzorului este prezentată în imaginea de mai sus pentru referința utilizatorului.
Pasul 4: Aplicații:
MPU-6000 este un senzor de urmărire a mișcării, care își găsește aplicația în interfața de mișcare a smartphone-urilor și tabletelor. Pe smartphone-uri, acești senzori pot fi utilizați în aplicații, cum ar fi comenzile gestuale pentru aplicații și controlul telefonului, jocuri îmbunătățite, realitate augmentată, captare și vizualizare panoramică a fotografiilor și navigație pietonală și vehicul. Tehnologia MotionTracking poate converti telefoane și tablete în dispozitive inteligente 3D puternice care pot fi utilizate în aplicații care variază de la monitorizarea stării de sănătate și fitness până la servicii bazate pe locație.
Recomandat:
Urmărirea mișcării ochiului uman: 6 pași
Urmărirea mișcării ochiului uman: Acest proiect își propune să capteze mișcarea ochiului uman și își afișează mișcarea pe un set de lumini LED care sunt plasate în formă de ochi. Acest tip de proiect ar putea avea multe utilizări în domeniul roboticii și în special al umanității
DIY Smart Robot Urmărirea truselor de mașini Urmărirea mașinii fotosensibile: 7 pași
DIY Smart Robot Tracking Car Kits Tracking Car Photosensitive: Design by SINONING ROBOT Puteți cumpăra de la robotul de urmărire Teoria LM393 cip comparați cei doi fotorezistenți, când există un LED fotorezistor lateral pe ALB, partea motorului se va opri imediat, cealaltă parte a motorului răsuciți, astfel încât
QeMotion - Urmărirea mișcării pentru fiecare cască !: 5 pași (cu imagini)
QeMotion - Urmărirea mișcării pentru fiecare cască !: Prezentare generală: Acest dispozitiv vă permite să utilizați mișcarea capului pentru a declanșa evenimente în practic orice joc video. Funcționează urmărind mișcarea capului (sau căștile în acest sens) și declanșând apăsarea tastaturii pentru anumite mișcări. Așa că comp
Urmărirea mișcării ochilor utilizând senzorul infraroșu: 5 pași
Urmărirea mișcării ochilor folosind senzorul cu infraroșu: am folosit un senzor cu infraroșu pentru a simți mișcările ochilor și pentru a controla LED-ul. Am realizat globi oculari cu bandă LED NeoPixel
Urmărirea mișcării 3D Tfcd prin detectare capacitivă și ieșire LED: 6 pași (cu imagini)
Urmărirea mișcării 3D Tfcd prin detectare capacitivă și ieșire LED: În această instrucțiune este explicat modul în care mișcarea unei mâini poate fi urmărită într-un spațiu 3D utilizând principiul detectării capacitive. Prin schimbarea distanței dintre o folie încărcată de aluminiu și mâna dvs., capacitatea condensatorului va varia