Innholdsfortegnelse:
- Trinn 1: Oversikt over BMG160:
- Trinn 2: Hva du trenger..
- Trinn 3: Maskinvaretilkobling:
- Trinn 4: 3-akse gyroskopmåling Arduino-kode:
- Trinn 5: Søknader:
Video: Grensesnitt for 3-akse gyroskopsensor BMG160 med Arduino Nano: 5 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
I dagens verden er mer enn halvparten av ungdommen og barna glad i spill, og alle som er glad i det, fascinert av de tekniske aspektene ved spill, vet viktigheten av bevegelsesføling i dette domenet. Vi ble også overrasket over det samme, og bare for å bringe det på tavlene tenkte vi på å jobbe med en gyroskopsensor som kan måle vinkelfrekvensen til ethvert objekt. Så, sensoren vi tok for å håndtere oppgaven er BMG160. BMG160 er en 16-bits, digital, triaksial, gyroskopsensor som kan måle vinkelfrekvensen i tre vinkelrette romdimensjoner.
I denne opplæringen skal vi demonstrere hvordan BMG160 fungerer med Arduino Nano.
Maskinvaren du trenger for dette formålet er som følger:
1. BMG160
2. Arduino Nano
3. I2C -kabel
4. I2C -skjold for Arduino Nano
Trinn 1: Oversikt over BMG160:
Først og fremst vil vi gjøre deg kjent med de grunnleggende funksjonene i sensormodulen som er BMG160 og kommunikasjonsprotokollen som den fungerer på.
BMG160 er i utgangspunktet en 16-biters, digital, triaksial, gyroskopsensor som kan måle vinkelhastigheter. Den er i stand til å beregne vinkelhastigheter i tre vinkelrette romdimensjoner, x-, y- og z-aksen, og gi de tilsvarende utgangssignalene. Den kan kommunisere med bringebær -pi -kortet ved hjelp av I2C -kommunikasjonsprotokollen. Denne modulen er designet for å oppfylle kravene til forbrukerapplikasjoner så vel som industrielle formål.
Kommunikasjonsprotokollen som sensoren fungerer på er I2C. I2C står for den interintegrerte kretsen. Det er en kommunikasjonsprotokoll der kommunikasjonen foregår gjennom SDA (seriell data) og SCL (seriell klokke) linjer. Det tillater tilkobling av flere enheter samtidig. Det er en av de enkleste og mest effektive kommunikasjonsprotokoller.
Trinn 2: Hva du trenger..
Materialene vi trenger for å nå målet vårt inkluderer følgende maskinvarekomponenter:
1. BMG160
2. Arduino Nano
3. I2C -kabel
4. I2C -skjold for Arduino Nano
Trinn 3: Maskinvaretilkobling:
Maskinvarekoblingsdelen forklarer i utgangspunktet ledningsforbindelsene som kreves mellom sensoren og Arduino. Å sikre riktige tilkoblinger er den grunnleggende nødvendigheten mens du arbeider på et hvilket som helst system for ønsket utgang. Så de nødvendige tilkoblingene er som følger:
BMG160 vil fungere over I2C. Her er eksempel på koblingsskjema, som viser hvordan du kobler til hvert grensesnitt på sensoren.
Uten boksen er brettet konfigurert for et I2C-grensesnitt, derfor anbefaler vi å bruke denne tilkoblingen hvis du ellers er agnostiker.
Alt du trenger er fire ledninger! Bare fire tilkoblinger kreves Vcc, Gnd, SCL og SDA -pinner, og disse er koblet til ved hjelp av I2C -kabel.
Disse sammenhengene er vist på bildene ovenfor.
Trinn 4: 3-akse gyroskopmåling Arduino-kode:
La oss begynne med arduino -koden nå.
Mens vi bruker sensormodulen med arduinoen, inkluderer vi Wire.h -biblioteket. "Wire" -biblioteket inneholder funksjonene som letter i2c -kommunikasjonen mellom sensoren og arduino -kortet.
Hele arduino -koden er gitt nedenfor for brukerens bekvemmelighet:
#include // BMG160 I2C -adressen er 0x68 (104)
#define Addr 0x68
ugyldig oppsett ()
{
// Initialiser I2C -kommunikasjon som MASTER
Wire.begin ();
// Initialize Serial Communication, set baud rate = 9600
Serial.begin (9600);
// Start I2C -overføring
Wire.beginTransmission (Addr);
// Velg Avstandsregister
Wire.write (0x0F);
// Konfigurer full skala 2000 dps
Wire.write (0x80);
// Stopp I2C -overføring
Wire.endTransmission ();
// Start I2C -overføring
Wire.beginTransmission (Addr);
// Velg båndbredderegister
Wire.write (0x10);
// Angi båndbredde = 200 Hz
Wire.write (0x04);
// Stopp I2C -overføring
Wire.endTransmission ();
forsinkelse (300);
}
hulrom ()
{
usignerte int -data [6];
// Start I2C -overføring
Wire.beginTransmission (Addr);
// Velg Gyrometer dataregister
Wire.write (0x02);
// Stopp I2C -overføring
Wire.endTransmission ();
// Be om 6 byte med data
Wire.requestFrom (Addr, 6);
// Les 6 byte med data
// xGyro lsb, xGyro msb, yGyro lsb, yGyro msb, zGyro lsb, zGyro msb
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 ();
}
forsinkelse (300);
// Konverter dataene
int xGyro = ((data [1] * 256) + data [0]);
int yGyro = ((data [3] * 256) + data [2]);
int zGyro = ((data [5] * 256) + data [4]);
// Utdata til seriell skjerm
Serial.print ("X-rotasjonsakse:");
Serial.println (xGyro); Serial.print ("Y-aksen for rotasjon:");
Serial.println (yGyro); Serial.print ("Z-aksen for rotasjon:");
Serial.println (zGyro);
forsinkelse (500);
}
Trinn 5: Søknader:
BMG160 har et variert antall applikasjoner på enheter som mobiltelefoner, grensesnittenheter for mennesker. Denne sensormodulen er designet for å oppfylle kravene til forbrukerapplikasjoner som bildestabilisering (DSC og kameratelefon), spill og pekeenheter. Det brukes også i systemer som krever gjenkjenning av bevegelser og systemene som brukes i innendørs navigasjon.
Anbefalt:
Opplæring i grensesnitt HMC5883L kompassensor med Arduino: 10 trinn (med bilder)
Opplæring for grensesnitt HMC5883L kompasssensor med Arduino: Beskrivelse HMC5883L er et 3-akset digitalt kompass som brukes til to generelle formål: å måle magnetiseringen av et magnetisk materiale som en ferromagnet, eller for å måle styrken og i noen tilfeller retningen på magnetfelt på et punkt i s
Grensesnitt TMP-112 med Arduino Nano (I2C): 5 trinn
Grensesnitt TMP-112 med Arduino Nano (I2C): Hei, god hilsen .. !! Jeg (Somanshu Choudhary) på vegne av Dcube tech ventures som skal måle temperaturen ved hjelp av Arduino nano, det er en av applikasjonene til I2C-protokollen å lese analoge data for temperatursensor TMP-112
Enkel RFID MFRC522 -grensesnitt med Arduino Nano: 4 trinn (med bilder)
Enkel RFID MFRC522 -grensesnitt med Arduino Nano: Adgangskontroll er mekanismen innen fysisk sikkerhet og informasjonssikkerhet, for å begrense anonym tilgang/tilgang til ressursene til en organisasjon eller et geografisk område. Handlingen med tilgang kan bety å spise, gå inn eller bruke
Hvordan grensesnitt GPS-modul (NEO-6m) med Arduino: 7 trinn (med bilder)
Slik grensesnitt GPS-modul (NEO-6m) med Arduino: I dette prosjektet har jeg vist hvordan du grensesnitt en GPS-modul med Arduino UNO. Dataene for lengdegrad og breddegrad vises på LCD -skjermen, og plasseringen kan vises på app.Liste over materiale Arduino Uno == > $ 8 Ublox NEO-6m GPS-modul == > $ 15 16x
Grensesnitt børsteløs likestrømsmotor (BLDC) med Arduino: 4 trinn (med bilder)
Grensesnitt børsteløs likestrømsmotor (BLDC) med Arduino: Dette er en opplæring om hvordan du grensesnitt og kjører en børsteløs likestrømsmotor ved hjelp av Arduino. Hvis du har spørsmål eller kommentarer, vennligst svar i kommentarer eller e -post til rautmithil [at] gmail [dot] com. Du kan også komme i kontakt med meg @mithilraut på twitter.To