Taula de continguts:
- Pas 1: maquinari necessari:
- Pas 2: connexió de maquinari:
- Pas 3: codi per al seguiment de moviment:
- Pas 4: aplicacions:
Vídeo: Seguiment de moviment mitjançant MPU-6000 i Arduino Nano: 4 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:11
MPU-6000 és un sensor de seguiment de moviment de 6 eixos que té incrustat un acceleròmetre de 3 eixos i un giroscopi de 3 eixos. Aquest sensor és capaç de fer un seguiment eficient de la posició i ubicació exactes d’un objecte en el pla tridimensional. Es pot utilitzar en sistemes que requereixen una anàlisi de posició amb la màxima precisió.
En aquest tutorial s'ha il·lustrat la interfície del mòdul de sensor MPU-6000 amb arduino nano. Per llegir els valors de l’acceleració i l’angle de rotació, hem utilitzat arduino nano amb un adaptador I2c, que fa que la connexió al mòdul del sensor sigui més fàcil i fiable.
Pas 1: maquinari necessari:
Els materials que necessitem per assolir el nostre objectiu inclouen els components de maquinari següents:
1. MPU-6000
2. Arduino Nano
3. Cable I2C
4. Escut I2C per arduino nano
Pas 2: connexió de maquinari:
La secció de connexió de maquinari explica bàsicament les connexions de cablejat necessàries entre el sensor i l'arduino nano. Garantir connexions correctes és la necessitat bàsica mentre es treballa en qualsevol sistema per a la sortida desitjada. Per tant, les connexions necessàries són les següents:
El MPU-6000 funcionarà sobre I2C. Aquí teniu un exemple de diagrama de cablejat, que demostra com connectar cada interfície del sensor.
Fora de la caixa, el tauler està configurat per a una interfície I2C, per tant, us recomanem que utilitzeu aquesta connexió si no sou agnòstic.
Tot el que necessiteu són quatre cables. Només es necessiten quatre connexions pins Vcc, Gnd, SCL i SDA i es connecten amb l'ajut del cable I2C.
Aquestes connexions es mostren a les imatges anteriors.
Pas 3: codi per al seguiment de moviment:
Comencem ara amb el codi arduino.
Mentre s’utilitza el mòdul de sensor amb l’arduino, incloem la biblioteca Wire.h. La biblioteca "Wire" conté les funcions que faciliten la comunicació i2c entre el sensor i la placa arduino.
A continuació es proporciona tot el codi arduino per a la comoditat de l'usuari:
#incloure
// L’adreça MPU-6000 I2C és 0x68 (104)
#define Addr 0x68
configuració nul·la ()
{
// Inicialitzar la comunicació I2C com a Mestre
Wire.begin ();
// Inicialitzar la comunicació en sèrie, establir la velocitat de transmissió = 9600
Serial.begin (9600);
// Inicieu la transmissió I2C
Wire.beginTransmission (Addr);
// Seleccioneu el registre de configuració del giroscopi
Wire.write (0x1B);
// Rang d’escala completa = 2000 dps
Wire.write (0x18);
// Atura la transmissió I2C
Wire.endTransmission ();
// Inicieu la transmissió I2C
Wire.beginTransmission (Addr);
// Seleccioneu el registre de configuració de l’acceleròmetre
Wire.write (0x1C);
// Rang d’escala completa = +/- 16 g
Wire.write (0x18);
// Atura la transmissió I2C
Wire.endTransmission ();
// Inicieu la transmissió I2C
Wire.beginTransmission (Addr);
// Seleccioneu el registre de gestió d'energia
Wire.write (0x6B);
// PLL amb referència xGyro
Wire.write (0x01);
// Atura la transmissió I2C
Wire.endTransmission ();
retard (300);
}
bucle buit ()
{
dades int sense signar [6];
// Inicieu la transmissió I2C
Wire.beginTransmission (Addr);
// Selecciona el registre de dades
Wire.write (0x3B);
// Atura la transmissió I2C
Wire.endTransmission ();
// Sol·liciteu 6 bytes de dades
Wire.requestFrom (Addr, 6);
// Llegiu 6 bytes de dades
if (Wire.available () == 6)
{
dades [0] = Wire.read ();
dades [1] = Wire.read ();
dades [2] = Wire.read ();
dades [3] = Wire.read ();
dades [4] = Wire.read ();
dades [5] = Wire.read ();
}
// Converteix les dades
int xAccl = data [0] * 256 + data [1];
int yAccl = data [2] * 256 + data [3];
int zAccl = data [4] * 256 + data [5];
// Inicieu la transmissió I2C
Wire.beginTransmission (Addr);
// Selecciona el registre de dades
Wire.write (0x43);
// Atura la transmissió I2C
Wire.endTransmission ();
// Sol·liciteu 6 bytes de dades
Wire.requestFrom (Addr, 6);
// Llegiu 6 bytes de dades
if (Wire.available () == 6)
{
dades [0] = Wire.read ();
dades [1] = Wire.read ();
dades [2] = Wire.read ();
dades [3] = Wire.read ();
dades [4] = Wire.read ();
dades [5] = Wire.read ();
}
// Converteix les dades
int xGyro = data [0] * 256 + data [1];
int yGyro = data [2] * 256 + data [3];
int zGyro = data [4] * 256 + data [5];
// Sortida de dades al monitor sèrie
Serial.print ("Acceleració a l'eix X:");
Serial.println (xAccl);
Serial.print ("Acceleració a l'eix Y:");
Serial.println (yAccl);
Serial.print ("Acceleració a l'eix Z:");
Serial.println (zAccl);
Serial.print ("Eix X de rotació:");
Serial.println (xGyro);
Serial.print ("Eix Y de rotació:");
Serial.println (yGyro);
Serial.print ("Eix Z de rotació:");
Serial.println (zGyro);
retard (500);
}
A la biblioteca de cables, s’utilitzen Wire.write () i Wire.read () per escriure les ordres i llegir la sortida del sensor.
Serial.print () i Serial.println () s’utilitzen per mostrar la sortida del sensor al monitor sèrie de l’IDE Arduino.
La sortida del sensor es mostra a la imatge superior.
Pas 4: aplicacions:
MPU-6000 és un sensor de seguiment de moviment que troba la seva aplicació a la interfície de moviment de telèfons intel·ligents i tauletes. Als telèfons intel·ligents, aquests sensors es poden utilitzar en aplicacions com ara ordres gestuals per a aplicacions i control de telèfons, jocs millorats, realitat augmentada, captura i visualització de fotos panoràmiques i navegació per a vianants i vehicles. La tecnologia MotionTracking pot convertir telèfons i tauletes en potents dispositius intel·ligents en 3D que es poden utilitzar en aplicacions que van des de la vigilància de la salut i la forma física fins als serveis basats en la ubicació.
Recomanat:
Seguiment i seguiment de botigues petites: 9 passos (amb imatges)
Track & trace per a botigues petites: es tracta d’un sistema dissenyat per a petites botigues que se suposa que es munta en bicicletes elèctriques o patinets electrònics per a lliuraments a curt abast, per exemple, una fleca que vulgui lliurar pastes. Què significa Track and Trace? Track and trace és un sistema utilitzat per ca
Interfície home-ordinador: Funcionament d'un agafador (fabricat per Kirigami) mitjançant el moviment del canell mitjançant EMG .: 7 passos
Interfície home-ordinador: Funcionament d’un agafador (fabricat per Kirigami) mitjançant el moviment del canell mitjançant EMG .: Així que aquest va ser el meu primer intent en una interfície home-ordinador. Vaig capturar els senyals d’activació muscular del moviment del canell mitjançant un sensor EMG, el vaig processar a través de python i arduino i va accionar una pinça basada en origami
Kits de cotxes de seguiment de robots intel·ligents de bricolatge Seguiment fotosensible del cotxe: 7 passos
Kits de cotxes de seguiment de robots intel·ligents de bricolatge Seguiment del cotxe fotosensible: dissenyat per SINONING ROBOT Podeu comprar amb el robot de seguiment El xip LM393 compara els dos fotoresistors, quan hi ha un LED de fotoresistència lateral en BLANC, el costat del motor s'aturarà immediatament, l'altre costat del motor girar, de manera que
Seguiment del moviment dels ulls mitjançant sensor d'infrarojos: 5 passos
Seguiment del moviment ocular mitjançant el sensor d’infrarojos: he utilitzat un sensor d’infrarojos per detectar els moviments dels ulls i controlar el LED. Vaig fer globus oculars amb cinta LED NeoPixel
Seguiment de moviment 3D Tfcd mitjançant detecció capacitiva i sortida LED: 6 passos (amb imatges)
Seguiment de moviment 3D Tfcd mitjançant detecció capacitiva i sortida LED: en aquesta instrucció s’explica com es pot rastrejar el moviment d’una mà en un espai 3D mitjançant el principi de la detecció capacitiva. En canviar la distància entre un paper d'alumini carregat i la mà, la capacitat del condensador variarà