Obsah:
- Krok 1: Potrebný hardvér:
- Krok 2: Pripojenie hardvéru:
- Krok 3: Kód na sledovanie pohybu:
- Krok 4: Aplikácie:
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:55
MPU-6000 je 6-osý snímač sledovania pohybu, ktorý má v sebe zabudovaný 3-osový akcelerometer a 3-osový gyroskop. Tento senzor je schopný efektívne sledovať presnú polohu a umiestnenie objektu v trojrozmernej rovine. Môže byť použitý v systémoch, ktoré vyžadujú analýzu polohy s najvyššou presnosťou.
V tomto návode je ilustrované prepojenie senzorového modulu MPU-6000 s arduino nano. Na čítanie hodnôt zrýchlenia a uhla rotácie sme použili arduino nano s adaptérom I2c. Vďaka tomuto adaptéru I2C je pripojenie k senzorovému modulu jednoduché a spoľahlivejšie.
Krok 1: Potrebný hardvér:
Materiály, ktoré potrebujeme na dosiahnutie nášho cieľa, obsahujú nasledujúce hardvérové komponenty:
1. MPU-6000
2. Arduino Nano
3. Kábel I2C
4. I2C štít pre arduino nano
Krok 2: Pripojenie hardvéru:
Časť zapojenia hardvéru v zásade vysvetľuje zapojenie potrebné medzi senzorom a arduino nano. Zabezpečenie správneho pripojenia je základnou potrebou pri práci na akomkoľvek systéme s požadovaným výstupom. Potrebné spojenia sú teda tieto:
MPU-6000 bude fungovať na I2C. Tu je príklad schémy zapojenia, ktorá ukazuje, ako prepojiť každé rozhranie snímača.
Hneď po vybalení je doska nakonfigurovaná na rozhranie I2C, preto vám toto pripojenie odporúčame použiť, ak ste inak agnostik.
Všetko, čo potrebujete, sú štyri drôty! Vyžadujú sa iba štyri pripojenia Vcc, Gnd, SCL a SDA piny, ktoré sú prepojené pomocou kábla I2C.
Tieto spojenia sú znázornené na obrázkoch vyššie.
Krok 3: Kód na sledovanie pohybu:
Začnime teraz arduino kódom.
Pri použití senzorového modulu s arduinom obsahuje knižnicu Wire.h. Knižnica "Wire" obsahuje funkcie, ktoré uľahčujú komunikáciu i2c medzi senzorom a doskou Arduino.
Celý arduino kód je pre pohodlie užívateľa uvedený nižšie:
#zahrnúť
// Adresa MPU-6000 I2C je 0x68 (104)
#define Addr 0x68
neplatné nastavenie ()
{
// Inicializujte komunikáciu I2C ako Master
Wire.begin ();
// Inicializujte sériovú komunikáciu, nastavte prenosovú rýchlosť = 9600
Serial.begin (9600);
// Spustite prenos I2C
Wire.beginTransmission (Addr);
// Vyberte register konfigurácie gyroskopu
Wire.write (0x1B);
// Celý rozsah stupnice = 2000 dps
Wire.write (0x18);
// Zastavte prenos I2C
Wire.endTransmission ();
// Spustite prenos I2C
Wire.beginTransmission (Addr);
// Vyberte register konfigurácie akcelerometra
Wire.write (0x1C);
// Celý rozsah stupnice = +/- 16 g
Wire.write (0x18);
// Zastavte prenos I2C
Wire.endTransmission ();
// Spustite prenos I2C
Wire.beginTransmission (Addr);
// Vyberte register správy napájania
Wire.write (0x6B);
// PLL s referenciou xGyro
Wire.write (0x01);
// Zastavte prenos I2C
Wire.endTransmission ();
oneskorenie (300);
}
prázdna slučka ()
{
nepodpísané int údaje [6];
// Spustite prenos I2C
Wire.beginTransmission (Addr);
// Vyberte dátový register
Wire.write (0x3B);
// Zastavte prenos I2C
Wire.endTransmission ();
// Požiadajte o 6 bajtov údajov
Wire.requestFrom (Addr, 6);
// Prečítajte 6 bajtov údajov
ak (Wire.available () == 6)
{
data [0] = Wire.read ();
údaje [1] = Wire.read ();
údaje [2] = Wire.read ();
údaje [3] = Wire.read ();
údaje [4] = Wire.read ();
údaje [5] = Wire.read ();
}
// Previesť údaje
int xAccl = dáta [0] * 256 + dáta [1];
int yAccl = údaje [2] * 256 + údaje [3];
int zAccl = údaje [4] * 256 + údaje [5];
// Spustite prenos I2C
Wire.beginTransmission (Addr);
// Vyberte dátový register
Wire.write (0x43);
// Zastavte prenos I2C
Wire.endTransmission ();
// Požiadajte o 6 bajtov údajov
Wire.requestFrom (Addr, 6);
// Prečítajte 6 bajtov údajov
ak (Wire.available () == 6)
{
data [0] = Wire.read ();
údaje [1] = Wire.read ();
údaje [2] = Wire.read ();
údaje [3] = Wire.read ();
údaje [4] = Wire.read ();
údaje [5] = Wire.read ();
}
// Previesť údaje
int xGyro = údaje [0] * 256 + údaje [1];
int yGyro = údaje [2] * 256 + údaje [3];
int zGyro = údaje [4] * 256 + údaje [5];
// Výstup údajov na sériový monitor
Serial.print ("Zrýchlenie v osi X:");
Serial.println (xAccl);
Serial.print ("Zrýchlenie v osi Y:");
Serial.println (yAccl);
Serial.print ("Zrýchlenie v osi Z:");
Serial.println (zAccl);
Serial.print ("Os otáčania X:");
Serial.println (xGyro);
Serial.print ("Os otáčania Y:");
Serial.println (yGyro);
Serial.print ("Osa Z rotácie:");
Serial.println (zGyro);
oneskorenie (500);
}
V knižnici drôtov Wire.write () a Wire.read () sa používajú na zápis príkazov a čítanie výstupu snímača.
Serial.print () a Serial.println () sa používa na zobrazenie výstupu senzora na sériovom monitore Arduino IDE.
Výstup senzora je zobrazený na obrázku vyššie.
Krok 4: Aplikácie:
MPU-6000 je snímač sledovania pohybu, ktorý nachádza svoje uplatnenie v pohybovom rozhraní smartfónov a tabletov. V smartfónoch je možné tieto senzory použiť v aplikáciách, ako sú gestové príkazy pre aplikácie a ovládanie telefónu, vylepšené hranie hier, rozšírená realita, panoramatické snímanie a prezeranie fotografií a navigácia chodcov a vozidiel. Technológia MotionTracking dokáže konvertovať mobilné telefóny a tablety na výkonné 3D inteligentné zariadenia, ktoré je možné použiť v aplikáciách od monitorovania zdravia a kondície po služby založené na polohe.
Odporúča:
ATtiny85 Nositeľné zariadenie na sledovanie vibrácií, sledovanie a programovanie ATtiny85 s Arduino Uno: 4 kroky (s obrázkami)
ATtiny85 Nositeľné hodinky na sledovanie vibrácií a programovanie ATtiny85 s Arduino Uno: Ako vyrobiť hodinky na sledovanie nositeľnej aktivity? Toto je nositeľný gadget navrhnutý tak, aby vibroval, keď zistí stagnáciu. Trávite väčšinu času pri počítači ako ja? Sedíte hodiny bez toho, aby ste si to uvedomovali? Potom je toto zariadenie
Sledovanie a sledovanie malých obchodov: 9 krokov (s obrázkami)
Track & trace pre malé obchody: Jedná sa o systém, ktorý je vytvorený pre malé obchody a ktorý sa má montovať na e-bicykle alebo e-skútre pri dodávkach na krátku vzdialenosť, napríklad v pekárni, ktorá chce dodávať pečivo. Čo znamená Track and Trace? Track and Trace je systém, ktorý používa približne
Vylepšite svojpomocný zavlažovací hrniec pomocou WiFi na kutilský detektor pohybu s detekciou pohybu a sadbovačom: 17 krokov
Vylepšite svojpomocný zavlažovací kvetináč pomocou WiFi na kutilský detektor pohybu detektora pohybu : V tomto článku vám ukážeme, ako upgradovať svoj vlastný zavlažovací kvetináč s WiFi na samonavlažovací kvetináč s WiFi a alarmom detekcie pohybu. nečítali ste článok o tom, ako si postaviť svojpomocný zavlažovací hrniec pomocou WiFi, môžete
Sledovanie pohybu očí pomocou infračerveného senzora: 5 krokov
Sledovanie pohybu očí pomocou infračerveného senzora: Na snímanie pohybov očí a ovládanie LED som použil infračervený senzor. Očné gule som vyrobil pomocou pásky LED NeoPixel
Inatel - SmartHome - SH2Y - Sledovanie systému a sledovanie okolitého prostredia: 6 krokov
Inatel - SmartHome - SH2Y - Sledovanie systému a okolité prostredie: Zobrazenie monitora a systém monitora a systému Ambiente " para Smart Homes, intuitívne monitorujúce aktuálny stav a teplotu "Temperatura", "Luminosidade" e " Senzor