Innholdsfortegnelse:

Arduino Nano-MMA8452Q 3-akse 12-biters/8-biters digitalt akselerometeropplæring: 4 trinn
Arduino Nano-MMA8452Q 3-akse 12-biters/8-biters digitalt akselerometeropplæring: 4 trinn

Video: Arduino Nano-MMA8452Q 3-akse 12-biters/8-biters digitalt akselerometeropplæring: 4 trinn

Video: Arduino Nano-MMA8452Q 3-akse 12-biters/8-biters digitalt akselerometeropplæring: 4 trinn
Video: Arduino Nano MMA8452Q with 8x8 Dot Matrix 2024, November
Anonim
Image
Image

MMA8452Q er et smart, laveffekt, tre-akset, kapasitivt, mikromaskinert akselerometer med 12 bits oppløsning. Fleksible brukerprogrammerbare alternativer tilbys ved hjelp av innebygde funksjoner i akselerometeret, som kan konfigureres til to avbruddspinner. Den har brukervalgbare hele skalaer på ± 2g/± 4g/± 8g med høypassfilterfiltrerte data, så vel som ikke-filtrerte data tilgjengelig i sanntid. Her er demonstrasjonen med Arduino nano.

Trinn 1: Hva du trenger..

Hva trenger du..!!
Hva trenger du..!!

1. Arduino Nano

2. MMA8452Q

3. I²C -kabel

4. I²C -skjold for Arduino Nano

Trinn 2: Tilkobling:

Forbindelse
Forbindelse
Forbindelse
Forbindelse
Forbindelse
Forbindelse
Forbindelse
Forbindelse

Ta et I2C -skjold for Arduino Nano og skyv det forsiktig over pinnene på Nano.

Koble deretter den ene enden av I2C -kabelen til MMA8452Q -sensoren og den andre enden til I2C -skjoldet.

Tilkoblinger er vist på bildet ovenfor.

Trinn 3: Kode:

Kode
Kode

Arduino-koden for MMMA8452Q kan lastes ned fra vårt github-depot- DCUBE Store.

Her er lenken.

Vi inkluderer bibliotek Wire.h for å lette I2c -kommunikasjonen av sensoren med Arduino -kortet.

Du kan også kopiere koden herfra, den er gitt som følger:

// Distribuert med en fri viljelisens.

// Bruk den slik du vil, profitt eller gratis, forutsatt at den passer inn i lisensene til de tilhørende verkene.

// MMA8452Q

// Denne koden er designet for å fungere med MMA8452Q_I2CS I2C Mini Module.

#inkludere

// MMA8452Q I2C -adressen er 0x1C (28)

#define Addr 0x1C

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 kontrollregister

Wire.write (0x2A);

// Standby-modus

Wire.write (0x00);

// Stopp I2C -overføring

Wire.endTransmission ();

// Start I2C -overføring

Wire.beginTransmission (Addr);

// Velg kontrollregister

Wire.write (0x2A);

// Aktiv modus

Wire.write (0x01);

// Stopp I2C -overføring

Wire.endTransmission ();

// Start I2C -overføring

Wire.beginTransmission (Addr);

// Velg kontrollregister

Wire.write (0x0E);

// Sett området til +/- 2g

Wire.write (0x00);

// Stopp I2C -overføring

Wire.endTransmission ();

forsinkelse (300);

}

hulrom ()

{

usignerte int -data [7];

// Be om 7 byte med data

Wire.requestFrom (Addr, 7);

// Les 7 byte med data

// staus, xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb

hvis (Wire.available () == 7)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

data [2] = Wire.read ();

data [3] = Wire.read ();

data [4] = Wire.read ();

data [5] = Wire.read ();

data [6] = Wire.read ();

}

// Konverter dataene til 12-bits

int xAccl = ((data [1] * 256) + data [2]) / 16;

hvis (xAccl> 2047)

{

xAccl -= 4096;

}

int yAccl = ((data [3] * 256) + data [4]) / 16;

hvis (yAccl> 2047)

{

yAccl -= 4096;

}

int zAccl = ((data [5] * 256) + data [6]) / 16;

hvis (zAccl> 2047)

{

zAccl -= 4096;

}

// Utdata til seriell skjerm

Serial.print ("Akselerasjon i X-akse:");

Serial.println (xAccl);

Serial.print ("Akselerasjon i Y-akser:");

Serial.println (yAccl);

Serial.print ("Akselerasjon i Z-akse:");

Serial.println (zAccl);

forsinkelse (500);

}

Trinn 4: Søknader:

MMA8452Q har forskjellige applikasjoner som inkluderer E-Kompass-applikasjoner, Statisk orienteringsdeteksjon som inneholder portrett/landskap, opp/ned, venstre/høyre, bak/front posisjonidentifikasjon, bærbar PC, e-leser og bærbar Tumble og Freefall Detection, sanntid orienteringsdeteksjon, inkludert virtuell virkelighet og spill 3D-tilbakemeldinger fra brukerposisjoner, aktivitetsanalyse i sanntid som skrittellersteller, fritt fallgjenkjenning for harddisk, død-beregning av GPS-sikkerhetskopiering og mye mer.

Anbefalt: