Indholdsfortegnelse:
- Trin 1: Påkrævet hardware:
- Trin 2: Hardware -tilslutning:
- Trin 3: Kode til bevægelsessporing:
- Trin 4: Ansøgninger:
Video: Bevægelsessporing ved hjælp af MPU-6000 og Arduino Nano: 4 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:25
MPU-6000 er en 6-akset bevægelsessporingssensor, der har 3-akset accelerometer og 3-akset gyroskop indlejret i det. Denne sensor er i stand til effektivt at spore den nøjagtige position og placering af et objekt i det tredimensionelle plan. Det kan bruges i de systemer, der kræver positionsanalyse til den højeste præcision.
I denne vejledning er grænsefladen mellem MPU-6000 sensormodulet og arduino nano illustreret. For at læse værdierne for acceleration og rotationsvinkel har vi brugt arduino nano med en I2c -adapter. Denne I2C -adapter gør forbindelsen til sensormodulet let og mere pålidelig.
Trin 1: Påkrævet hardware:
De materialer, vi har brug for for at nå vores mål, omfatter følgende hardwarekomponenter:
1. MPU-6000
2. Arduino Nano
3. I2C -kabel
4. I2C Shield til arduino nano
Trin 2: Hardware -tilslutning:
Hardwaretilslutningssektionen forklarer dybest set de nødvendige ledningsforbindelser mellem sensoren og arduino nano. At sikre korrekte forbindelser er den grundlæggende nødvendighed, mens du arbejder på et hvilket som helst system til den ønskede output. Så de nødvendige forbindelser er som følger:
MPU-6000 fungerer over I2C. Her er eksemplet på ledningsdiagram, der viser, hvordan du tilslutter hver grænseflade på sensoren.
Out-of-the-box er tavlen konfigureret til en I2C-grænseflade, som sådan anbefaler vi at bruge denne tilslutning, hvis du ellers er agnostiker.
Alt du behøver er fire ledninger! Der kræves kun fire tilslutninger Vcc, Gnd, SCL og SDA ben, og disse er forbundet ved hjælp af I2C kabel.
Disse forbindelser er vist på billederne ovenfor.
Trin 3: Kode til bevægelsessporing:
Lad os starte med arduino -koden nu.
Mens vi bruger sensormodulet med arduino, inkluderer vi Wire.h -bibliotek. "Wire" -biblioteket indeholder de funktioner, der letter i2c -kommunikationen mellem sensoren og arduino -kortet.
Hele arduino -koden er angivet nedenfor for brugerens bekvemmelighed:
#omfatte
// MPU-6000 I2C-adressen er 0x68 (104)
#define Addr 0x68
ugyldig opsætning ()
{
// Initialiser I2C -kommunikation som Master
Wire.begin ();
// Initialiser seriel kommunikation, indstil baudhastighed = 9600
Serial.begin (9600);
// Start I2C -transmission
Wire.beginTransmission (Addr);
// Vælg konfigurationsregister for gyroskop
Wire.write (0x1B);
// Fuld skala = 2000 dps
Wire.write (0x18);
// Stop I2C -transmission
Wire.endTransmission ();
// Start I2C -transmission
Wire.beginTransmission (Addr);
// Vælg accelerometer -konfigurationsregister
Wire.write (0x1C);
// Fuld skala område = +/- 16g
Wire.write (0x18);
// Stop I2C -transmission
Wire.endTransmission ();
// Start I2C -transmission
Wire.beginTransmission (Addr);
// Vælg strømstyringsregister
Wire.write (0x6B);
// PLL med xGyro -reference
Wire.write (0x01);
// Stop I2C -transmission
Wire.endTransmission ();
forsinkelse (300);
}
hulrum ()
{
usignerede int -data [6];
// Start I2C -transmission
Wire.beginTransmission (Addr);
// Vælg dataregister
Wire.write (0x3B);
// Stop I2C -transmission
Wire.endTransmission ();
// Anmod om 6 bytes data
Wire.requestFrom (Addr, 6);
// Læs 6 byte data
hvis (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 ();
}
// Konverter dataene
int xAccl = data [0] * 256 + data [1];
int yAccl = data [2] * 256 + data [3];
int zAccl = data [4] * 256 + data [5];
// Start I2C -transmission
Wire.beginTransmission (Addr);
// Vælg dataregister
Wire.write (0x43);
// Stop I2C -transmission
Wire.endTransmission ();
// Anmod om 6 bytes data
Wire.requestFrom (Addr, 6);
// Læs 6 byte data
hvis (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 ();
}
// Konverter dataene
int xGyro = data [0] * 256 + data [1];
int yGyro = data [2] * 256 + data [3];
int zGyro = data [4] * 256 + data [5];
// Output data til seriel skærm
Serial.print ("Acceleration i X-akse:");
Serial.println (xAccl);
Serial.print ("Acceleration i Y-akse:");
Serial.println (yAccl);
Serial.print ("Acceleration i Z-akse:");
Serial.println (zAccl);
Serial.print ("X-rotationsakse:");
Serial.println (xGyro);
Serial.print ("Y-aksen for rotation:");
Serial.println (yGyro);
Serial.print ("Z-aksen for rotation:");
Serial.println (zGyro);
forsinkelse (500);
}
I trådbiblioteket bruges Wire.write () og Wire.read () til at skrive kommandoer og læse sensoroutput.
Serial.print () og Serial.println () bruges til at vise sensorens output på den serielle monitor på Arduino IDE.
Sensorens output er vist på billedet ovenfor.
Trin 4: Ansøgninger:
MPU-6000 er en bevægelsessporingssensor, som finder sin anvendelse i bevægelsesgrænsefladen på smartphones og tablets. I smartphones kan disse sensorer bruges i applikationer såsom gestuskommandoer til applikationer og telefonkontrol, forbedret spil, augmented reality, panoramafotografering og visning samt fodgænger- og køretøjsnavigation. MotionTracking-teknologi kan konvertere håndsæt og tablets til kraftfulde 3D intelligente enheder, der kan bruges i applikationer lige fra sundheds- og fitnessovervågning til lokationsbaserede tjenester.
Anbefalede:
DIY -- Sådan laver du en edderkoprobot, der kan kontrolleres ved hjælp af smartphone ved hjælp af Arduino Uno: 6 trin
DIY || Sådan laver du en edderkoprobot, der kan styres ved hjælp af smartphone Brug af Arduino Uno: Mens du laver en edderkoprobot, kan man lære så mange ting om robotik. Ligesom at lave robotter er underholdende såvel som udfordrende. I denne video vil vi vise dig, hvordan du laver en Spider -robot, som vi kan betjene ved hjælp af vores smartphone (Androi
Kontrol ledt over hele verden ved hjælp af internet ved hjælp af Arduino: 4 trin
Kontrol ledt over hele verden ved hjælp af internet ved hjælp af Arduino: Hej, jeg er Rithik. Vi kommer til at lave en internetstyret LED ved hjælp af din telefon. Vi kommer til at bruge software som Arduino IDE og Blynk.Det er enkelt, og hvis det lykkedes dig, kan du styre så mange elektroniske komponenter, du ønskerTing We Need: Hardware:
Sådan laver du en drone ved hjælp af Arduino UNO - Lav en quadcopter ved hjælp af mikrokontroller: 8 trin (med billeder)
Sådan laver du en drone ved hjælp af Arduino UNO | Lav en Quadcopter ved hjælp af mikrokontroller: Introduktion Besøg min Youtube -kanal En Drone er en meget dyr gadget (produkt) at købe. I dette indlæg vil jeg diskutere, hvordan jeg gør det billigt ?? Og hvordan kan du lave din egen sådan til en billig pris … Nå i Indien alle materialer (motorer, ESC'er
RF 433MHZ radiostyring ved hjælp af HT12D HT12E - Lav en RF -fjernbetjening ved hjælp af HT12E & HT12D med 433mhz: 5 trin
RF 433MHZ radiostyring ved hjælp af HT12D HT12E | Oprettelse af en RF -fjernbetjening ved hjælp af HT12E & HT12D med 433mhz: I denne instruktør vil jeg vise dig, hvordan du laver en RADIO -fjernbetjening ved hjælp af 433mhz sendermodtagermodul med HT12E -kode & HT12D -dekoder IC.I denne instruktive kan du sende og modtage data ved hjælp af meget meget billige KOMPONENTER SOM: HT
Trådløs fjernbetjening ved hjælp af 2,4 GHz NRF24L01 -modul med Arduino - Nrf24l01 4 -kanals / 6 -kanals sender modtager til Quadcopter - Rc Helikopter - Rc -fly ved hjælp af Arduino: 5 trin (med billeder)
Trådløs fjernbetjening ved hjælp af 2,4 GHz NRF24L01 -modul med Arduino | Nrf24l01 4 -kanals / 6 -kanals sender modtager til Quadcopter | Rc Helikopter | Rc -fly ved hjælp af Arduino: At betjene en Rc -bil | Quadcopter | Drone | RC -fly | RC -båd, vi har altid brug for en modtager og sender, antag at vi til RC QUADCOPTER har brug for en 6 -kanals sender og modtager, og den type TX og RX er for dyr, så vi laver en på vores