Sisällysluettelo:
- Vaihe 1: Tarvittava laitteisto:
- Vaihe 2: Laitteiston kytkentä:
- Vaihe 3: Liikkeentunnistuksen koodi:
- Vaihe 4: Sovellukset:
Video: Liikkeen seuranta MPU-6000: n ja Arduino Nanon avulla: 4 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
MPU-6000 on 6-akselinen liikkeenseuranta-anturi, johon on upotettu 3-akselinen kiihtyvyysanturi ja 3-akselinen gyroskooppi. Tämä anturi pystyy tehokkaasti seuraamaan kohteen tarkan sijainnin ja sijainnin kolmiulotteisessa tasossa. Sitä voidaan käyttää järjestelmissä, jotka edellyttävät sijainnin analysointia mahdollisimman tarkasti.
Tässä opetusohjelmassa on kuvattu MPU-6000-anturimoduulin liitäntä arduino nanoon. Kiihtyvyys- ja kiertokulman arvojen lukemiseen olemme käyttäneet arduino nanoa ja I2c -sovitinta. Tämä I2C -sovitin tekee yhteyden anturimoduuliin helppoa ja luotettavaa.
Vaihe 1: Tarvittava laitteisto:
Tavoitteemme saavuttamiseen tarvittavat materiaalit sisältävät seuraavat laitteistokomponentit:
1. MPU-6000
2. Arduino Nano
3. I2C -kaapeli
4. I2C Shield arduino nanolle
Vaihe 2: Laitteiston kytkentä:
Laitteiston kytkentäosio selittää periaatteessa anturin ja arduino nanon väliset tarvittavat johdot. Oikeiden liitosten varmistaminen on perustarve, kun työskentelet minkä tahansa järjestelmän kanssa halutun lähdön saavuttamiseksi. Tarvittavat liitännät ovat siis seuraavat:
MPU-6000 toimii I2C: n kautta. Tässä on esimerkki kytkentäkaaviosta, joka osoittaa, miten anturin jokainen liitäntä kytketään.
Valmis levy on konfiguroitu I2C-rajapintaa varten, joten suosittelemme käyttämään tätä kytkentää, jos olet muuten agnostikko.
Tarvitset vain neljä johtoa! Tarvitaan vain neljä liitäntää Vcc, Gnd, SCL ja SDA, ja ne on kytketty I2C -kaapelin avulla.
Nämä yhteydet on esitetty yllä olevissa kuvissa.
Vaihe 3: Liikkeentunnistuksen koodi:
Aloitetaan nyt arduino -koodilla.
Kun käytät anturimoduulia arduinon kanssa, sisällytämme Wire.h -kirjaston. "Wire" -kirjasto sisältää toiminnot, jotka helpottavat i2c -tiedonsiirtoa anturin ja arduino -kortin välillä.
Koko arduino -koodi on annettu alla käyttäjän mukavuuden vuoksi:
#sisältää
// MPU-6000 I2C-osoite on 0x68 (104)
#define Addr 0x68
mitätön asennus ()
{
// Alusta I2C -viestintä päällikkönä
Wire.begin ();
// Alusta sarjaliikenne, aseta baudinopeus = 9600
Sarja.alku (9600);
// Aloita I2C -lähetys
Wire.beginTransmission (Addr);
// Valitse gyroskoopin määritysrekisteri
Wire.write (0x1B);
// Koko asteikon alue = 2000 dps
Wire.write (0x18);
// Pysäytä I2C -lähetys
Wire.endTransmission ();
// Aloita I2C -lähetys
Wire.beginTransmission (Addr);
// Valitse kiihtyvyysmittarin määritysrekisteri
Wire.write (0x1C);
// Koko asteikon alue = +/- 16 g
Wire.write (0x18);
// Pysäytä I2C -lähetys
Wire.endTransmission ();
// Aloita I2C -lähetys
Wire.beginTransmission (Addr);
// Valitse virranhallintarekisteri
Wire.write (0x6B);
// PLL xGyro -viitteellä
Wire.write (0x01);
// Pysäytä I2C -lähetys
Wire.endTransmission ();
viive (300);
}
tyhjä silmukka ()
{
allekirjoittamattomat int -tiedot [6];
// Aloita I2C -lähetys
Wire.beginTransmission (Addr);
// Valitse tietorekisteri
Wire.write (0x3B);
// Pysäytä I2C -lähetys
Wire.endTransmission ();
// Pyydä 6 tavua dataa
Wire.requestFrom (Addr, 6);
// Lue 6 tavua dataa
jos (Wire.available () == 6)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
data [2] = Wire.read ();
data [3] = Wire.read ();
data [4] = Wire.read ();
data [5] = Wire.read ();
}
// Muunna tiedot
int xAccl = data [0] * 256 + data [1];
int yAccl = data [2] * 256 + data [3];
int zAccl = data [4] * 256 + data [5];
// Aloita I2C -lähetys
Wire.beginTransmission (Addr);
// Valitse tietorekisteri
Wire.write (0x43);
// Pysäytä I2C -lähetys
Wire.endTransmission ();
// Pyydä 6 tavua dataa
Wire.requestFrom (Addr, 6);
// Lue 6 tavua dataa
jos (Wire.available () == 6)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
data [2] = Wire.read ();
data [3] = Wire.read ();
data [4] = Wire.read ();
data [5] = Wire.read ();
}
// Muunna tiedot
int xGyro = data [0] * 256 + data [1];
int yGyro = data [2] * 256 + data [3];
int zGyro = data [4] * 256 + data [5];
// Tulostustiedot sarjamittarille
Serial.print ("Kiihtyvyys X-akselissa:");
Sarja.println (xAccl);
Serial.print ("Kiihtyvyys Y-akselilla:");
Sarja.println (yAccl);
Serial.print ("Kiihtyvyys Z-akselissa:");
Sarja.println (zAccl);
Serial.print ("X-Axis of Rotation:");
Sarja.println (xGyro);
Serial.print ("Y-pyörimisakseli:");
Sarja.println (yGyro);
Serial.print ("Z-Axis of Rotation:");
Sarja.println (zGyro);
viive (500);
}
Johdinkirjastossa Wire.write () ja Wire.read () käytetään komentojen kirjoittamiseen ja anturilähdön lukemiseen.
Serial.print () ja Serial.println () käytetään anturin lähdön näyttämiseen Arduino IDE: n sarjamonitorissa.
Anturin lähtö näkyy yllä olevassa kuvassa.
Vaihe 4: Sovellukset:
MPU-6000 on liikkeenseuranta-anturi, joka löytää sovelluksensa älypuhelimien ja tablettien liikerajapinnassa. Älypuhelimissa näitä antureita voidaan käyttää sovelluksissa, kuten sovellusten elekomennot ja puhelimen ohjaus, parannettu pelaaminen, lisätty todellisuus, panoraamakuvien sieppaus ja katselu sekä jalankulkijoiden ja ajoneuvojen navigointi. MotionTracking-tekniikka voi muuttaa puhelimet ja tabletit tehokkaiksi 3D-älylaitteiksi, joita voidaan käyttää sovelluksissa terveydestä ja kuntotarkkailusta sijaintiin perustuviin palveluihin.
Suositeltava:
Ihmissilmän liikkeen seuranta: 6 vaihetta
Ihmissilmän liikkeen seuranta: Tämän projektin tarkoituksena on kaapata ihmissilmän liike ja näyttää sen liikkeen LED -valosarjalle, joka on sijoitettu silmän muotoon. Tämän tyyppisellä projektilla voi mahdollisesti olla monia käyttötarkoituksia robotiikan ja erityisesti human alalla
QeMotion - liikkeen seuranta jokaiselle kuulokkeelle!: 5 vaihetta (kuvilla)
QeMotion - liikkeen seuranta jokaiselle kuulokkeelle!: Yleiskatsaus: Tämän laitteen avulla voit käyttää pään liikettä tapahtumien käynnistämiseen periaatteessa missä tahansa videopelissä. Se toimii seuraamalla pään (tai kuulokkeiden) liikettä ja käynnistämällä näppäimistön painalluksia tiettyjä liikkeitä varten. Joten yrityksesi
Aloittaminen edullisen RPLIDARin avulla Jetson Nanon avulla: 5 vaihetta
Aloittaminen edullisen RPLIDAR-laitteen kanssa Jetson Nanon käyttö: Lyhyt katsaus Valon tunnistus ja etäisyys (LiDAR) toimii samalla tavalla kuin ääniaaltojen sijasta käytetään laserpulssilla varustettuja ultraääni-etäisyysmittaria. Yandex, Uber, Waymo ja muut investoivat voimakkaasti LiDAR -tekniikkaan autonomisessa autossaan
Silmien liikkeen seuranta infrapuna -anturin avulla: 5 vaihetta
Silmien liikkeen seuranta infrapuna -anturin avulla: Käytin infrapuna -anturia havaitsemaan silmien liikkeitä ja ohjaamaan LED -valoa
Tfcd 3D -liikkeen seuranta kapasitiivisen tunnistuksen ja LED -lähdön kautta: 6 vaihetta (kuvilla)
Tfcd 3D -liikkeen seuranta kapasitiivisen tunnistuksen ja LED -ulostulon kautta: Tässä ohjeessa selitetään, kuinka käden liikettä voidaan seurata 3D -tilassa kapasitiivisen tunnistuksen periaatteen avulla. Kun muutat etäisyyttä ladatun alumiinikalvon ja kätesi välillä, kondensaattorin kapasiteetti vaihtelee