Obsah:

Arduino Nano-3osý 12bitový/8bitový digitální akcelerometr MMA8452Q: 4 kroky
Arduino Nano-3osý 12bitový/8bitový digitální akcelerometr MMA8452Q: 4 kroky

Video: Arduino Nano-3osý 12bitový/8bitový digitální akcelerometr MMA8452Q: 4 kroky

Video: Arduino Nano-3osý 12bitový/8bitový digitální akcelerometr MMA8452Q: 4 kroky
Video: Arduino Nano and GY-521 MPU6050 3-осевой гироскоп, 3-осевой акселерометр и DMP 2024, Červenec
Anonim
Image
Image

MMA8452Q je chytrý, tříosý, kapacitní, mikroosý akcelerometr s nízkým výkonem a 12bitovým rozlišením. Flexibilní uživatelsky programovatelné možnosti jsou poskytovány pomocí vestavěných funkcí v akcelerometru, konfigurovatelných na dva kolíky přerušení. Má uživatelem volitelná plná měřítka ± 2 g/± 4 g/± 8 g s filtrovanými daty filtrovanými horním průchodem i nefiltrovanými daty, která jsou k dispozici v reálném čase. Zde je jeho ukázka s Arduino nano.

Krok 1: Co potřebujete..

Co potřebuješ..!!
Co potřebuješ..!!

1. Arduino Nano

2. MMA8452Q

3. I²C kabel

4. I²C štít pro Arduino Nano

Krok 2: Připojení:

Spojení
Spojení
Spojení
Spojení
Spojení
Spojení
Spojení
Spojení

Vezměte štít I2C pro Arduino Nano a jemně jej zatlačte přes kolíky Nano.

Poté připojte jeden konec kabelu I2C k senzoru MMA8452Q a druhý konec ke stínění I2C.

Připojení jsou znázorněna na obrázku výše.

Krok 3: Kód:

Kód
Kód

Arduino kód pro MMMA8452Q lze stáhnout z našeho úložiště github- DCUBE Store.

Tady je odkaz.

Zahrnujeme knihovnu Wire.h pro usnadnění I2c komunikace senzoru s deskou Arduino.

Odtud můžete také zkopírovat kód, který je uveden následovně:

// Distribuováno s licencí svobodné vůle.

// Používejte jej jakýmkoli způsobem, ať už ziskem nebo zdarma, za předpokladu, že se vejde do licencí souvisejících děl.

// MMA8452Q

// Tento kód je navržen tak, aby fungoval s mini modulem MMA8452Q_I2CS I2C.

#zahrnout

// Adresa I2C MMA8452Q je 0x1C (28)

#define Addr 0x1C

neplatné nastavení ()

{

// Inicializujte komunikaci I2C jako MASTER

Wire.begin ();

// Inicializace sériové komunikace, nastavení přenosové rychlosti = 9600

Serial.begin (9600);

// Spusťte přenos I2C

Wire.beginTransmission (Addr);

// Vyberte řídicí registr

Wire.write (0x2A);

// Pohotovostní režim

Wire.write (0x00);

// Zastavte přenos I2C

Wire.endTransmission ();

// Spusťte přenos I2C

Wire.beginTransmission (Addr);

// Vyberte řídicí registr

Wire.write (0x2A);

// Aktivní režim

Wire.write (0x01);

// Zastavte přenos I2C

Wire.endTransmission ();

// Spusťte přenos I2C

Wire.beginTransmission (Addr);

// Vyberte řídicí registr

Wire.write (0x0E);

// Nastavit rozsah na +/- 2g

Wire.write (0x00);

// Zastavte přenos I2C

Wire.endTransmission ();

zpoždění (300);

}

prázdná smyčka ()

{

nepodepsaná int data [7];

// Vyžádejte si 7 bajtů dat

Wire.requestFrom (Addr, 7);

// Přečíst 7 bajtů dat

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

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

}

// Převod dat na 12bitové

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

if (xAccl> 2047)

{

xAccl -= 4096;

}

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

if (yAccl> 2047)

{

yAccl -= 4096;

}

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

if (zAccl> 2047)

{

zAccl -= 4096;

}

// Výstup dat na sériový monitor

Serial.print ("Zrychlení v ose X:");

Serial.println (xAccl);

Serial.print ("Zrychlení v ose Y:");

Serial.println (yAccl);

Serial.print ("Zrychlení v ose Z:");

Serial.println (zAccl);

zpoždění (500);

}

Krok 4: Aplikace:

MMA8452Q má různé aplikace, které zahrnují aplikace E-Compass, detekci statické orientace, která zahrnuje portrét/krajina, nahoru/dolů, doleva/doprava, identifikace polohy zezadu/zepředu, notebook, elektronická čtečka a detekce pádu a volného pádu notebooku, v reálném čase detekce orientace včetně virtuální reality a hraní 3D zpětná vazba o poloze uživatele, analýza aktivity v reálném čase, jako je počítání kroků krokoměru, detekce pádu volného pádu pro pevný disk, zálohování GPS s mrtvým účtem a mnoho dalšího.

Doporučuje: