Sisukord:
- Samm: vajalik riistvara:
- 2. samm: riistvara ühendamine:
- 3. samm: liikumise jälgimise kood:
- 4. samm: rakendused:
Video: Liikumise jälgimine MPU-6000 ja Raspberry Pi abil: 4 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:46
MPU-6000 on 6-teljeline liikumisjälgimisandur, millesse on integreeritud 3-teljeline kiirendusmõõtur ja 3-teljeline güroskoop. See andur on võimeline tõhusalt jälgima objekti täpset asukohta ja asukohta kolmemõõtmelisel tasapinnal. Seda saab kasutada süsteemides, mis nõuavad võimalikult täpset positsioonianalüüsi.
Selles õpetuses on illustreeritud MPU-6000 andurimooduli liidestamist vaarika pi-ga. Kiirenduse ja pöördenurga väärtuste lugemiseks oleme kasutanud vaarika pi koos I2c adapteriga. See I2C adapter muudab ühenduse andurimooduliga lihtsaks ja usaldusväärsemaks.
Samm: vajalik riistvara:
Eesmärgi saavutamiseks vajalikud materjalid sisaldavad järgmisi riistvarakomponente:
1. MPU-6000
2. Vaarika Pi
3. I2C kaabel
4. I2C Shield vaarika pi jaoks
5. Etherneti kaabel
2. samm: riistvara ühendamine:
Riistvara ühendamise jaotis selgitab põhimõtteliselt anduri ja vaarika pi vahel vajalikke juhtmestiku ühendusi. Soovitud väljundi mis tahes süsteemiga töötamisel on põhivajadus õigete ühenduste tagamine. Seega on vajalikud ühendused järgmised:
MPU-6000 töötab üle I2C. Siin on näide ühendusskeemist, mis näitab, kuidas anduri iga liidest ühendada.
Valmis plaat on konfigureeritud I2C liidese jaoks, seega soovitame seda ühendamist kasutada, kui olete muidu agnostik.
Kõik, mida vajate, on neli juhtmest! Vaja on ainult nelja ühendust Vcc, Gnd, SCL ja SDA ning need ühendatakse I2C kaabli abil.
Neid seoseid on näidatud ülaltoodud piltidel.
3. samm: liikumise jälgimise kood:
Vaarika pi kasutamise eeliseks on see, et saate paindlikult programmeerida keelt, milles soovite plaati programmeerida, et andurit sellega liidestada. Kasutades selle plaadi eeliseid, demonstreerime siin selle programmeerimist pythonis. Python on üks lihtsamaid programmeerimiskeeli, millel on lihtsaim süntaks. MPU-6000 püütoni koodi saab alla laadida meie GitHubi kogukonnast, mis on Dcube Store
Lisaks kasutajate mugavusele selgitame koodi ka siin:
Kodeerimise esimese sammuna peate pythoni korral alla laadima SMBusi teegi, kuna see teek toetab koodis kasutatavaid funktsioone. Niisiis, teegi allalaadimiseks võite külastada järgmist linki:
pypi.python.org/pypi/smbus-cffi/0.5.1
Töökoodi saate kopeerida ka siit:
import smbus
impordi aeg
# Hankige I2C siinus = smbus. SMBus (1)
# MPU-6000 aadress, 0x68 (104)
# Valige güroskoobi konfiguratsiooniregister, 0x1B (27)
# 0x18 (24) Täielik skaala vahemik = 2000 dps
bus.write_byte_data (0x68, 0x1B, 0x18)
# MPU-6000 aadress, 0x68 (104)
# Valige kiirendusmõõturi konfiguratsiooniregister, 0x1C (28)
# 0x18 (24) Kogu skaala vahemik = +/- 16 g
bus.write_byte_data (0x68, 0x1C, 0x18)
# MPU-6000 aadress, 0x68 (104)
# Valige toitehaldusregister1, 0x6B (107)
# 0x01 (01) PLL koos xGyro viitega
bus.write_byte_data (0x68, 0x6B, 0x01)
uneaeg (0,8)
# MPU-6000 aadress, 0x68 (104)
# Lugege andmeid tagasi 0x3B (59), 6 baiti
# Kiirendusmõõtur X-telg MSB, X-telg LSB, Y-telg MSB, Y-telg LSB, Z-telg MSB, Z-telg LSB
andmed = bus.read_i2c_block_data (0x68, 0x3B, 6)
# Teisendage andmed
xAccl = andmed [0] * 256 + andmed [1]
kui xAccl> 32767:
xAccl -= 65536
yAccl = andmed [2] * 256 + andmed [3]
kui yAccl> 32767:
yAccl -= 65536
zAccl = andmed [4] * 256 + andmed [5]
kui zAccl> 32767:
zAccl -= 65536
# MPU-6000 aadress, 0x68 (104)
# Lugege andmeid tagasi 0x43 (67), 6 baiti
# Güromeeter X-telg MSB, X-telg LSB, Y-telg MSB, Y-telg LSB, Z-telg MSB, Z-telg LSB
andmed = bus.read_i2c_block_data (0x68, 0x43, 6)
# Teisendage andmed
xGyro = andmed [0] * 256 + andmed [1]
kui xGyro> 32767:
xGyro -= 65536
yGyro = andmed [2] * 256 + andmed [3]
kui yGyro> 32767:
yGyro -= 65536
zGyro = andmed [4] * 256 + andmed [5]
kui zGyro> 32767:
zGyro -= 65536
# Väljastage andmed ekraanile
print "Kiirendus X-teljel: %d" %xAccl
print "Kiirendus Y-teljel: %d" %yAccl
print "Z-telje kiirendus: %d" %zAccl
print "X-pöörlemistelg: %d" %xGyro
print "Y-pöörlemistelg: %d" %yGyro
print "Z-pöörlemistelg: %d" %zGyro
Kood käivitatakse järgmise käsu abil:
$> python MPU-6000.py gt; python MPU-6000.py
Anduri väljund on näidatud ülaltoodud pildil kasutaja jaoks.
4. samm: rakendused:
MPU-6000 on liikumise jälgimise andur, mis leiab rakenduse nutitelefonide ja tahvelarvutite liikumisliideses. Nutitelefonides saab neid andureid kasutada sellistes rakendustes nagu rakenduste liigutamise käsud ja telefoni juhtimine, täiustatud mängud, liitreaalsus, panoraamfotode jäädvustamine ja vaatamine ning jalakäijate ja sõidukite navigeerimine. MotionTracking tehnoloogia võib muuta telefonid ja tahvelarvutid võimsateks 3D-intelligentseteks seadmeteks, mida saab kasutada rakendustes, alates tervise- ja treeningseirest kuni asukohapõhiste teenusteni.
Soovitan:
Inimese silma liikumise jälgimine: 6 sammu
Inimese silma liikumise jälgimine: selle projekti eesmärk on jäädvustada inimsilma liikumist ja kuvada selle liikumine silma kujuga LED -tulede komplektile. Seda tüüpi projektidel võib robootika ja eriti humaani valdkonnas olla palju kasutusvõimalusi
QeMotion - iga peakomplekti liikumise jälgimine!: 5 sammu (koos piltidega)
QeMotion - iga peakomplekti liikumise jälgimine! See toimib, jälgides teie pea (või peakomplekti) liikumist ja käivitades teatud liigutuste jaoks klahvivajutusi. Nii et teie arvuti
Kiirenduse jälgimine Raspberry Pi ja AIS328DQTR abil Pythoni abil: 6 sammu
Kiirenduse jälgimine Raspberry Pi ja AIS328DQTR abil Pythoni kasutamine: Kiirendus on piiratud, ma arvan, et mõne füüsikaseaduse kohaselt.- Terry Riley Gepard kasutab jälitamisel hämmastavat kiirendust ja kiireid kiiruse muutusi. Kiireim olend kaldal kasutab aeg -ajalt oma tipptempot saagi püüdmiseks
Kiirenduse variatsioonide jälgimine Raspberry Pi ja MMA7455 abil Pythoni abil: 6 sammu
Kiirenduse variatsioonide jälgimine Raspberry Pi ja MMA7455 abil Pythoni abil: ma ei komistanud, vaid testisin gravitatsiooni. See töötab endiselt … Kiirendava kosmosesüstiku esitus selgitas, et süstiku kõrgeimas punktis olev kell valib gravitatsioonilise aja laienemise tõttu kiiremini kui baasi. Mõned
Tfcd 3D -liikumise jälgimine läbi mahtuvusliku anduri ja LED -väljundi: 6 sammu (piltidega)
Tfcd 3D -liikumise jälgimine läbi mahtuvusanduri ja LED -väljundi: selles juhendis selgitatakse, kuidas käe liikumist saab 3D -ruumis jälgida, kasutades mahtuvusliku tuvastamise põhimõtet. Kui muudate laetud alumiiniumfooliumi ja käe vahelist kaugust, muutub kondensaatori võimsus