Innehållsförteckning:

Arduino Nano-MMA8452Q 3-Axis 12-bitars/8-bitars digital accelerometer Tutorial: 4 steg
Arduino Nano-MMA8452Q 3-Axis 12-bitars/8-bitars digital accelerometer Tutorial: 4 steg

Video: Arduino Nano-MMA8452Q 3-Axis 12-bitars/8-bitars digital accelerometer Tutorial: 4 steg

Video: Arduino Nano-MMA8452Q 3-Axis 12-bitars/8-bitars digital accelerometer Tutorial: 4 steg
Video: BeagleBone Black MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer 'C' Code Tutorial 2024, Juli
Anonim
Image
Image

MMA8452Q är en smart, lågeffekts, treaxlig, kapacitiv, mikromaskinerad accelerometer med 12 bitars upplösning. Flexibla användarprogrammerbara alternativ tillhandahålls med hjälp av inbyggda funktioner i accelerometern, som kan konfigureras till två avbrottsstift. Den har användarvalbara hela skalor på ± 2g/± 4g/± 8g med högpassfilterfiltrerade data samt icke-filtrerade data tillgängliga i realtid. Här är dess demonstration med Arduino nano.

Steg 1: Vad du behöver.. !

Vad du behöver..!!
Vad du behöver..!!

1. Arduino Nano

2. MMA8452Q

3. I²C -kabel

4. I²C -skärm för Arduino Nano

Steg 2: Anslutning:

Förbindelse
Förbindelse
Förbindelse
Förbindelse
Förbindelse
Förbindelse
Förbindelse
Förbindelse

Ta en I2C -sköld för Arduino Nano och skjut den försiktigt över stiften på Nano.

Anslut sedan den ena änden av I2C -kabeln till MMA8452Q -sensorn och den andra änden till I2C -skärmen.

Anslutningar visas på bilden ovan.

Steg 3: Kod:

Koda
Koda

Arduino-koden för MMMA8452Q kan laddas ner från vårt github-arkiv- DCUBE Store.

Här är länken.

Vi inkluderar bibliotek Wire.h för att underlätta I2c -kommunikationen mellan sensorn och Arduino -kortet.

Du kan också kopiera koden härifrån, den ges enligt följande:

// Distribueras med en fri vilja licens.

// Använd den hur du vill, vinst eller gratis, förutsatt att den passar i licensen för dess associerade verk.

// MMA8452Q

// Denna kod är utformad för att fungera med MMA8452Q_I2CS I2C Mini Module.

#omfatta

// MMA8452Q I2C -adressen är 0x1C (28)

#define Addr 0x1C

void setup ()

{

// Initiera I2C -kommunikation som MASTER

Wire.begin ();

// Initiera seriell kommunikation, ange överföringshastighet = 9600

Serial.begin (9600);

// Starta I2C -sändning

Wire.beginTransmission (Addr);

// Välj kontrollregister

Wire.write (0x2A);

// Standbyläge

Wire.write (0x00);

// Stoppa I2C -överföring

Wire.endTransmission ();

// Starta I2C -sändning

Wire.beginTransmission (Addr);

// Välj kontrollregister

Wire.write (0x2A);

// Aktivt läge

Wire.write (0x01);

// Stoppa I2C -överföring

Wire.endTransmission ();

// Starta I2C -sändning

Wire.beginTransmission (Addr);

// Välj kontrollregister

Wire.write (0x0E);

// Ställ in intervallet på +/- 2g

Wire.write (0x00);

// Stoppa I2C -överföring

Wire.endTransmission ();

fördröjning (300);

}

void loop ()

{

osignerade int -data [7];

// Begär 7 byte med data

Wire.requestFrom (Addr, 7);

// Läs 7 byte med data

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

om (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 ();

}

// Konvertera data till 12-bitar

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

om (xAccl> 2047)

{

xAccl -= 4096;

}

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

om (yAccl> 2047)

{

yAccl -= 4096;

}

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

om (zAccl> 2047)

{

zAccl -= 4096;

}

// Utdata till seriell bildskärm

Serial.print ("Acceleration i X-Axis:");

Serial.println (xAccl);

Serial.print ("Acceleration i Y-axel:");

Serial.println (yAccl);

Serial.print ("Acceleration i Z-axel:");

Serial.println (zAccl);

fördröjning (500);

}

Steg 4: Ansökningar:

MMA8452Q har olika applikationer som inkluderar E-kompassapplikationer, statisk orienteringsdetektering som innehåller porträtt/liggande, upp/ner, vänster/höger, bakre/främre lägesidentifiering, anteckningsbok, e-läsare och bärbar dator Tumble och Freefall Detection, Realtid orienteringsdetektering inklusive virtuell verklighet och spel 3D-feedback från användarpositioner, aktivitetsanalys i realtid, såsom stegräknare för stegräknare, detektering av fritt fall för hårddisk, dödräknad GPS-säkerhetskopiering och mycket mer.

Rekommenderad: