Innholdsfortegnelse:
- Trinn 1: Nødvendig maskinvare:
- Trinn 2: Maskinvaretilkobling:
- Trinn 3: Kode for bevegelsessporing:
- Trinn 4: Søknader:
Video: Bevegelsessporing ved bruk av MPU-6000 og Raspberry Pi: 4 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
MPU-6000 er en 6-akset bevegelsessensor som har 3-akset akselerometer og 3-akset gyroskop innebygd i den. Denne sensoren er i stand til effektivt å spore nøyaktig posisjon og plassering av et objekt i det tredimensjonale planet. Den kan brukes i systemene som krever posisjonsanalyse med høyeste presisjon.
I denne opplæringen har grensesnittet mellom MPU-6000 sensormodulen og bringebær pi blitt illustrert. For å lese verdiene for akselerasjon og rotasjonsvinkel har vi brukt bringebær pi med en I2c -adapter. Denne I2C -adapteren gjør tilkoblingen til sensormodulen enkel og mer pålitelig.
Trinn 1: Nødvendig maskinvare:
Materialene vi trenger for å nå målet vårt inkluderer følgende maskinvarekomponenter:
1. MPU-6000
2. Bringebær Pi
3. I2C -kabel
4. I2C Shield for bringebær pi
5. Ethernet -kabel
Trinn 2: Maskinvaretilkobling:
Maskinvaretilkoblingsdelen forklarer i utgangspunktet ledningsforbindelsene som kreves mellom sensoren og bringebær -pi. Å sikre riktige tilkoblinger er den grunnleggende nødvendigheten mens du arbeider på et hvilket som helst system for ønsket utgang. Så de nødvendige tilkoblingene er som følger:
MPU-6000 fungerer over I2C. Her er eksempel på koblingsskjema, som viser hvordan du kobler til hvert grensesnitt på sensoren.
Uten boksen er brettet konfigurert for et I2C-grensesnitt, derfor anbefaler vi å bruke denne tilkoblingen hvis du ellers er agnostiker.
Alt du trenger er fire ledninger! Bare fire tilkoblinger kreves Vcc, Gnd, SCL og SDA -pinner, og disse er koblet til ved hjelp av I2C -kabel.
Disse sammenhengene er vist på bildene ovenfor.
Trinn 3: Kode for bevegelsessporing:
Fordelen med å bruke bringebær pi er at det gir deg fleksibiliteten til programmeringsspråket der du vil programmere brettet for å koble sensoren til det. Ved å utnytte denne fordelen med dette brettet, demonstrerer vi her programmeringen i python. Python er et av de enkleste programmeringsspråkene med den enkleste syntaksen. Python-koden for MPU-6000 kan lastes ned fra vårt GitHub-fellesskap som er Dcube Store
I tillegg til brukernes brukervennlighet, forklarer vi koden også her:
Som det første trinnet i kodingen må du laste ned SMBus -biblioteket i tilfelle python fordi dette biblioteket støtter funksjonene som brukes i koden. Så for å laste ned biblioteket kan du besøke følgende lenke:
pypi.python.org/pypi/smbus-cffi/0.5.1
Du kan også kopiere arbeidskoden herfra:
importer smbus
importtid
# Få I2C -bussbuss = smbus. SMBus (1)
# MPU-6000-adresse, 0x68 (104)
# Velg konfigurasjonsregister for gyroskop, 0x1B (27)
# 0x18 (24) Fullskalaområde = 2000 dps
bus.write_byte_data (0x68, 0x1B, 0x18)
# MPU-6000-adresse, 0x68 (104)
# Velg akselerometer konfigurasjonsregister, 0x1C (28)
# 0x18 (24) Fullskalaområde = +/- 16g
bus.write_byte_data (0x68, 0x1C, 0x18)
# MPU-6000-adresse, 0x68 (104)
# Velg strømstyringsregister1, 0x6B (107)
# 0x01 (01) PLL med xGyro -referanse
bus.write_byte_data (0x68, 0x6B, 0x01)
time.sleep (0,8)
# MPU-6000-adresse, 0x68 (104)
# Les data tilbake fra 0x3B (59), 6 byte
# Akselerometer X-Axis MSB, X-Axis LSB, Y-Axis MSB, Y-Axis LSB, Z-Axis MSB, Z-Axis LSB
data = bus.read_i2c_block_data (0x68, 0x3B, 6)
# Konverter dataene
xAccl = data [0] * 256 + data [1]
hvis xAccl> 32767:
xAccl -= 65536
yAccl = data [2] * 256 + data [3]
hvis yAccl> 32767:
yAccl -= 65536
zAccl = data [4] * 256 + data [5]
hvis zAccl> 32767:
zAccl -= 65536
# MPU-6000-adresse, 0x68 (104)
# Les data tilbake fra 0x43 (67), 6 byte
# Gyrometer X-Axis MSB, X-Axis LSB, Y-Axis MSB, Y-Axis LSB, Z-Axis MSB, Z-Axis LSB
data = bus.read_i2c_block_data (0x68, 0x43, 6)
# Konverter dataene
xGyro = data [0] * 256 + data [1]
hvis xGyro> 32767:
xGyro -= 65536
yGyro = data [2] * 256 + data [3]
hvis yGyro> 32767:
yGyro -= 65536
zGyro = data [4] * 256 + data [5]
hvis zGyro> 32767:
zGyro -= 65536
# Utdata til skjermen
print "Akselerasjon i X-aksen: %d" %xAccl
print "Akselerasjon i Y-aksen: %d" %yAccl
print "Akselerasjon i Z-aksen: %d" %zAccl
print "X-Axis of Rotation: %d" %xGyro
print "Y-rotasjonsakse: %d" %yGyro
print "Z-aksen for rotasjon: %d" %zGyro
Koden kjøres med følgende kommando:
$> python MPU-6000.py gt; python MPU-6000.py
Sensorens utgang er vist på bildet ovenfor for referanse til brukeren.
Trinn 4: Søknader:
MPU-6000 er en bevegelsessporingssensor, som finner sin anvendelse i bevegelsesgrensesnittet til smarttelefoner og nettbrett. I smarttelefoner kan disse sensorene brukes i applikasjonene, for eksempel bevegelseskommandoer for applikasjoner og telefonkontroll, forbedret spill, utvidet virkelighet, panoramafotografering og visning, samt fotgjenger og kjøretøynavigasjon. MotionTracking-teknologien kan konvertere telefoner og nettbrett til kraftige 3D-intelligente enheter som kan brukes i applikasjoner som spenner fra helse- og treningsovervåking til stedsbaserte tjenester.
Anbefalt:
DIY Vanity Mirror i enkle trinn (ved bruk av LED -stripelys): 4 trinn
DIY Vanity Mirror i enkle trinn (ved hjelp av LED Strip Lights): I dette innlegget laget jeg et DIY Vanity Mirror ved hjelp av LED strips. Det er veldig kult, og du må prøve dem også
QeMotion - bevegelsessporing for hvert headset !: 5 trinn (med bilder)
QeMotion - Motion Tracking for Every Headset !: Oversikt: Denne enheten lar deg bruke hodebevegelsen til å utløse hendelser i stort sett alle videospill. Det fungerer ved å spore bevegelsen til hodet ditt (eller hodesettet i den forbindelse) og utløse tastaturpress for visse bevegelser. Så kompisen din
Kontroll ledet over hele verden ved bruk av internett ved hjelp av Arduino: 4 trinn
Kontroll ledet over hele verden ved bruk av internett ved hjelp av Arduino: Hei, jeg er Rithik. Vi kommer til å lage en Internett -kontrollert LED ved hjelp av telefonen din. Vi kommer til å bruke programvare som Arduino IDE og Blynk. Det er enkelt, og hvis du lyktes kan du kontrollere så mange elektroniske komponenter du vilTing We Need: Hardware:
Overvåke akselerasjon ved bruk av Raspberry Pi og AIS328DQTR ved hjelp av Python: 6 trinn
Overvåke akselerasjon ved hjelp av Raspberry Pi og AIS328DQTR Bruke Python: Akselerasjon er begrenset, tror jeg i henhold til noen fysikklover.- Terry Riley En gepard bruker fantastisk akselerasjon og raske endringer i hastighet når jeg jager. Den raskeste skapningen i land en gang i blant bruker sitt høyeste tempo for å fange byttedyr. Den
Atollic TrueStudio-Switch på LED-en ved å trykke på trykknappen ved bruk av STM32L100: 4 trinn
Atollic TrueStudio-Switch på LED-en ved å trykke på trykknappen ved bruk av STM32L100: I denne opplæringen til STM32 skal jeg fortelle deg hvordan du leser en GPIO-pin av STM32L100, så her skal jeg lage en ombord LED-glød av bare trykke på trykknappen