Tartalomjegyzék:
- 1. lépés: Szükséges hardver:
- 2. lépés: Hardver csatlakoztatása:
- 3. lépés: A mozgáskövetés kódja:
- 4. lépés: Alkalmazások:
Videó: Mozgáskövetés MPU-6000 és Raspberry Pi használatával: 4 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Az MPU-6000 egy 6 tengelyes mozgáskövető érzékelő, amelybe 3 tengelyes gyorsulásmérő és 3 tengelyes giroszkóp van beépítve. Ez az érzékelő képes hatékonyan követni az objektum pontos helyzetét és elhelyezkedését a 3 dimenziós síkban. Alkalmazható olyan rendszerekben, amelyek a legnagyobb pontosságú helyzetelemzést igényelnek.
Ebben az oktatóanyagban szemléltetjük az MPU-6000 érzékelő modul és a málna pi illesztését. A gyorsulás és a forgási szög értékeinek leolvasásához málna pi -t használtunk I2c adapterrel. Ez az I2C adapter megkönnyíti és megbízhatóbbá teszi a kapcsolatot az érzékelőmodullal.
1. lépés: Szükséges hardver:
A célunk eléréséhez szükséges anyagok a következő hardverkomponenseket tartalmazzák:
1. MPU-6000
2. Málna Pi
3. I2C kábel
4. I2C Shield málna pi
5. Ethernet kábel
2. lépés: Hardver csatlakoztatása:
A hardvercsatlakozási szakasz alapvetően elmagyarázza az érzékelő és a málna pi között szükséges vezetékeket. A megfelelő kapcsolatok biztosítása az alapvető szükséglet, amikor bármilyen rendszeren dolgozik a kívánt kimenet érdekében. Tehát a szükséges kapcsolatok a következők:
Az MPU-6000 az I2C-n keresztül fog működni. Íme a példa kapcsolási rajz, amely bemutatja, hogyan kell bekötni az érzékelő egyes interfészeit.
A doboz készenlétben I2C interfészre van konfigurálva, ezért javasoljuk, hogy használja ezt a csatlakozást, ha egyébként agnosztikus.
Csak négy vezetékre van szüksége! Csak négy csatlakozóra van szükség Vcc, Gnd, SCL és SDA csapokra, és ezeket I2C kábel segítségével kell csatlakoztatni.
Ezeket az összefüggéseket a fenti képek mutatják be.
3. lépés: A mozgáskövetés kódja:
A málna pi használatának előnye az, hogy rugalmasságot biztosít a programozási nyelvben, amelyen a táblát programozni szeretné, hogy az érzékelőt hozzá lehessen illeszteni. A tábla ezen előnyét kihasználva bemutatjuk a programozását a pythonban. A Python az egyik legegyszerűbb programozási nyelv, a legegyszerűbb szintaxissal. Az MPU-6000 python kódja letölthető a GitHub közösségünkből, azaz a Dcube Store-ból
A felhasználók kényelme érdekében itt is elmagyarázzuk a kódot:
A kódolás első lépéseként le kell töltenie az SMBus könyvtárat python esetén, mert ez a könyvtár támogatja a kódban használt funkciókat. Tehát a könyvtár letöltéséhez látogasson el az alábbi linkre:
pypi.python.org/pypi/smbus-cffi/0.5.1
Innen is átmásolhatja a működőkódot:
import smbus
importálási idő
# I2C busz beszerzése = smbus. SMBus (1)
# MPU-6000 cím, 0x68 (104)
# Válassza ki a giroszkóp konfigurációs regiszterét, 0x1B (27)
# 0x18 (24) Teljes skálatartomány = 2000 dps
bus.write_byte_data (0x68, 0x1B, 0x18)
# MPU-6000 cím, 0x68 (104)
# Válassza ki a gyorsulásmérő konfigurációs regiszterét, 0x1C (28)
# 0x18 (24) Teljes skálatartomány = +/- 16g
bus.write_byte_data (0x68, 0x1C, 0x18)
# MPU-6000 cím, 0x68 (104)
# Válassza ki az energiagazdálkodási nyilvántartást1, 0x6B (107)
# 0x01 (01) PLL xGyro hivatkozással
bus.write_byte_data (0x68, 0x6B, 0x01)
time.sleep (0.8)
# MPU-6000 cím, 0x68 (104)
# Adatok visszaolvasása 0x3B (59), 6 bájtból
# Gyorsulásmérő X-tengely MSB, X-tengely LSB, Y-tengely MSB, Y-tengely LSB, Z-tengely MSB, Z-tengely LSB
data = bus.read_i2c_block_data (0x68, 0x3B, 6)
# Konvertálja az adatokat
xAccl = adatok [0] * 256 + adatok [1]
ha xAccl> 32767:
xAccl -= 65536
yAccl = adatok [2] * 256 + adatok [3]
ha yAccl> 32767:
yAccl -= 65536
zAccl = adatok [4] * 256 + adatok [5]
ha zAccl> 32767:
zAccl -= 65536
# MPU-6000 cím, 0x68 (104)
# Adatok visszaolvasása 0x43 (67), 6 bájtból
# Girométer X-tengely MSB, X-tengely LSB, Y-tengely MSB, Y-tengely LSB, Z-tengely MSB, Z-tengely LSB
data = bus.read_i2c_block_data (0x68, 0x43, 6)
# Konvertálja az adatokat
xGyro = adatok [0] * 256 + adatok [1]
ha xGyro> 32767:
xGyro -= 65536
yGyro = adatok [2] * 256 + adatok [3]
ha yGyro> 32767:
yGyro -= 65536
zGyro = adatok [4] * 256 + adatok [5]
ha zGyro> 32767:
zGyro -= 65536
# Adatok megjelenítése a képernyőn
print "Gyorsulás az X-tengelyben: %d" %xAccl
print "Gyorsulás Y tengelyen: %d" %yAccl
print "Gyorsulás Z-tengelyben: %d" %zAccl
print "X forgástengely: %d" %xGyro
print "Y forgástengely: %d" %yGyro
print "Z forgástengely: %d" %zGyro
A kód végrehajtása a következő paranccsal történik:
$> python MPU-6000.py gt; python MPU-6000.py
Az érzékelő kimenete a fenti képen látható a felhasználó számára.
4. lépés: Alkalmazások:
Az MPU-6000 egy mozgáskövető érzékelő, amely az okostelefonok és táblagépek mozgásfelületén találja meg alkalmazását. Az okostelefonokban ezek az érzékelők olyan alkalmazásokban használhatók, mint az alkalmazások gesztusparancsai és a telefonvezérlés, a továbbfejlesztett játék, a kibővített valóság, a panorámás fényképek rögzítése és megtekintése, valamint a gyalogosok és a járművek navigálása. A MotionTracking technológia a készülékeket és a táblagépeket erőteljes 3D intelligens eszközökké alakíthatja, amelyek felhasználhatók az egészségtől és a fitnesz felügyeletétől a helyalapú szolgáltatásokig.
Ajánlott:
QeMotion - Mozgáskövetés minden fejhallgatóhoz!: 5 lépés (képekkel)
QeMotion - Mozgáskövetés minden fejhallgatóhoz !: Áttekintés: Ez az eszköz lehetővé teszi, hogy fejmozgását felhasználva eseményeket indítson el alapvetően bármely videojátékban. Úgy működik, hogy nyomon követi a fej (vagy a fejhallgató) mozgását, és billentyűlenyomást indít bizonyos mozgásokra. Szóval a te komp
A gyorsulás felügyelete a Raspberry Pi és az AIS328DQTR használatával Python használatával: 6 lépés
A gyorsulás nyomon követése a Raspberry Pi és az AIS328DQTR használatával Python használatával: A gyorsulás véges, azt hiszem, a fizika egyes törvényei szerint.- Terry Riley A gepárd elképesztő gyorsulást és gyors sebességváltozásokat használ üldözés közben. A leggyorsabb lény a parton időnként kihasználja csúcssebességét a zsákmány elkapására. Az
Neopixel Ws2812 Rainbow LED izzás M5stick-C - Szivárvány futtatása a Neopixel Ws2812 készüléken az M5stack M5stick C használatával Arduino IDE használatával: 5 lépés
Neopixel Ws2812 Rainbow LED izzás M5stick-C | Szivárvány futása a Neopixel Ws2812-en az M5stack M5stick C használatával Arduino IDE használatával: Sziasztok, srácok, ebben az oktatási útmutatóban megtanuljuk, hogyan kell használni a neopixel ws2812 LED-eket, vagy led szalagot vagy led mátrixot vagy led gyűrűt m5stack m5stick-C fejlesztőtáblával Arduino IDE-vel, és elkészítjük szivárványos mintát vele
RF 433MHZ rádióvezérlés HT12D HT12E használatával - Rf távirányító készítése HT12E és HT12D használatával 433 MHz -en: 5 lépés
RF 433MHZ rádióvezérlés HT12D HT12E használatával | Rf távirányító létrehozása HT12E és HT12D használatával 433 MHz -en: Ebben az oktatóanyagban megmutatom, hogyan készítsünk RADIO távirányítót a 433 MHz -es adó vevőmodul használatával HT12E kódolással & HT12D dekódoló IC. Ebben az utasításban nagyon olcsó komponenseket küldhet és fogadhat, mint például: HT
Tfcd 3D mozgáskövetés kapacitív érzékelésen és LED kimeneten keresztül: 6 lépés (képekkel)
Tfcd 3D mozgáskövetés a kapacitív érzékelés és a LED kimenet segítségével: Ebben az utasításban elmagyarázzuk, hogyan lehet nyomon követni egy kéz mozgását egy 3D térben a kapacitív érzékelés elvével. A feltöltött alumíniumfólia és a kéz közötti távolság megváltoztatásával a kondenzátor kapacitása változik