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 tutoriáli bolo ilustrované prepojenie senzorového modulu MPU-6000 s fotónom častíc. Na čítanie hodnôt zrýchlenia a uhla rotácie sme použili častice s adaptérom I2c. Tento adaptér I2C umožňuje jednoduché a spoľahlivejšie pripojenie k modulu senzora.
Krok 1: Potrebný hardvér:
Materiály potrebné na splnenie našej úlohy zahŕňajú nižšie uvedené hardvérové komponenty:
1. MPU-6000
2. Fotón častíc
3. Kábel I2C
4. I2C štít pre časticový fotón
Krok 2: Pripojenie hardvéru:
Časť zapojenia hardvéru v zásade vysvetľuje zapojenie potrebné medzi senzorom a fotónom častíc. 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 s časticovým kódom.
Pri použití senzorového modulu s arduino zahrnujeme knižnicu application.h a spark_wiring_i2c.h. Knižnica "application.h" a spark_wiring_i2c.h obsahuje funkcie, ktoré uľahčujú i2c komunikáciu medzi senzorom a časticou.
Celý kód častíc je pre pohodlie užívateľa uvedený nižšie:
#zahrnúť #zahrnúť // adresa MPU-6000 I2C je 0x68 (104) #define Addr 0x68 int xGyro = 0, yGyro = 0, zGyro = 0, xAccl = 0, yAccl = 0, zAccl = 0; void setup () {// Nastaviť premennú Particle.variable ("i2cdevice", "MPU-6000"); Particle.variable ("xAccl", xAccl); Particle.variable ("yAccl", yAccl); Particle.variable ("zAccl", zAccl); Častica.proměnná ("xGyro", xGyro); Častica.proměnná ("yGyro", yGyro); Častica.proměnná ("zGyro", zGyro); // Inicializácia komunikácie I2C ako Master Wire.begin (); // Inicializácia sériovej komunikácie, nastavenie prenosovej rýchlosti = 9600 Serial.begin (9600); // Spustenie prenosu I2C Wire.beginTransmission (Addr); // Vyberte register konfigurácie gyroskopu Wire.write (0x1B); // Celý rozsah stupnice = 2000 dps Wire.write (0x18); // Zastavenie prenosu I2C Wire.endTransmission (); // Spustenie prenosu I2C Wire.beginTransmission (Addr); // Vyberte register konfigurácie akcelerometra Wire.write (0x1C); // Celý rozsah stupnice = +/- 16g Wire.write (0x18); // Zastavenie prenosu I2C Wire.endTransmission (); // Spustenie prenosu I2C Wire.beginTransmission (Addr); // Vyberte register správy napájania Wire.write (0x6B); // PLL s referenciou xGyro Wire.write (0x01); // Zastavenie prenosu I2C Wire.endTransmission (); oneskorenie (300); } void loop () {nepodpísané int údaje [6]; // Spustenie prenosu I2C Wire.beginTransmission (Addr); // Vyberte dátový register Wire.write (0x3B); // Zastavenie prenosu 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 (); } oneskorenie (800); // Previesť údaje xAccl = ((údaje [1] * 256) + údaje [0]); ak (xAccl> 32767) {xAccl -= 65536; } yAccl = ((údaje [3] * 256) + údaje [2]); if (yAccl> 32767) {yAccl -= 65536; } zAccl = ((údaje [5] * 256) + údaje [4]); ak (zAccl> 32767) {zAccl -= 65536; } oneskorenie (800); // Spustenie prenosu I2C Wire.beginTransmission (Addr); // Vyberte dátový register Wire.write (0x43); // Zastavenie prenosu 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 xGyro = ((údaje [1] * 256) + údaje [0]); ak (xGyro> 32767) {xGyro -= 65536; } yGyro = ((údaje [3] * 256) + údaje [2]); ak (yGyro> 32767) {yGyro -= 65536; } zGyro = ((údaje [5] * 256) + údaje [4]); ak (zGyro> 32767) {zGyro -= 65536; } // Výstup údajov na palubnú dosku Particle.publish ("Zrýchlenie v osi X:", reťazec (xAccl)); oneskorenie (1000); Particle.publish ("Zrýchlenie v osi Y:", reťazec (yAccl)); oneskorenie (1000); Particle.publish ("Zrýchlenie v osi Z:", reťazec (zAccl)); oneskorenie (1000); Particle.publish ("Osa X rotácie:", reťazec (xGyro)); oneskorenie (1000); Particle.publish ("Os otáčania Y:", reťazec (yGyro)); oneskorenie (1000); Particle.publish ("Osa Z rotácie:", reťazec (zGyro)); oneskorenie (1000); }
Funkcia Particle.variable () vytvára premenné na ukladanie výstupu zo senzora a funkcia Particle.publish () zobrazuje výstup na palubnej doske webu.
Výstup senzora je pre vašu referenciu 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:
Meranie zrýchlenia pomocou ADXL345 a fotónu častíc: 4 kroky
Meranie zrýchlenia pomocou ADXL345 a časticového fotónu: ADXL345 je malý, tenký, ultra nízky výkon, 3-osový akcelerometer s meraním s vysokým rozlíšením (13-bit) až do ± 16 g. Digitálne výstupné údaje sú formátované ako 16-bitové dvojčatá a sú prístupné prostredníctvom digitálneho rozhrania I2 C. Meria
Meranie magnetického poľa pomocou HMC5883 a fotónu častíc: 4 kroky
Meranie magnetického poľa pomocou HMC5883 a fotónu častíc: HMC5883 je digitálny kompas určený na magnetické snímanie v nízkom poli. Toto zariadenie má široký rozsah magnetického poľa +/- 8 Oe a výstupnú frekvenciu 160 Hz. Senzor HMC5883 obsahuje ovládače popruhov na automatické odmontovanie, zrušenie ofsetu a
Meranie vlhkosti pomocou HYT939 a fotónu častíc: 4 kroky
Meranie vlhkosti pomocou fotónu HYT939 a časticového fotónu: HYT939 je digitálny snímač vlhkosti, ktorý pracuje na komunikačnom protokole I2C. Vlhkosť je kľúčovým parametrom, pokiaľ ide o lekárske systémy a laboratóriá, takže aby sme dosiahli tieto ciele, pokúsili sme sa prepojiť HYT939 s malinovou pi. Ja
Meranie zrýchlenia pomocou H3LIS331DL a fotónu častíc: 4 kroky
Meranie zrýchlenia pomocou H3LIS331DL a fotónu častíc: H3LIS331DL je nízkoenergetický vysokovýkonný 3-osový lineárny akcelerometer patriaci do rodiny „nano“s digitálnym sériovým rozhraním I²C. H3LIS331DL má užívateľsky voliteľné plné stupnice ± 100 g/± 200 g/± 400 g a je schopný merať zrýchlenia
Meranie teploty pomocou MCP9803 a fotónu častíc: 4 kroky
Meranie teploty pomocou MCP9803 a fotónu častíc: MCP9803 je 2-vodičový vysoko presný teplotný senzor. Sú vybavené užívateľsky programovateľnými registrami, ktoré uľahčujú aplikácie snímania teploty. Tento senzor je vhodný pre vysoko sofistikovaný viaczónový systém monitorovania teploty. V