Obsah:

Arduino Nano-výukový program 3-osového 12-bitového/8-bitového digitálneho akcelerometra MMA8452Q: 4 kroky
Arduino Nano-výukový program 3-osového 12-bitového/8-bitového digitálneho akcelerometra MMA8452Q: 4 kroky

Video: Arduino Nano-výukový program 3-osového 12-bitového/8-bitového digitálneho akcelerometra MMA8452Q: 4 kroky

Video: Arduino Nano-výukový program 3-osového 12-bitového/8-bitového digitálneho akcelerometra MMA8452Q: 4 kroky
Video: #1 Как запрограммировать ПЛК Outseal Arduino (начало работы) 2024, November
Anonim
Image
Image

MMA8452Q je inteligentný, trojosový, kapacitný, mikroosý akcelerometer s malým výkonom a 12 bitovým rozlíšením. Flexibilné programovateľné možnosti pre používateľov sú k dispozícii pomocou vstavaných funkcií v akcelerometri, konfigurovateľných na dva kolíky prerušenia. Má užívateľsky voliteľné plné stupnice ± 2 g/± 4 g/± 8 g s filtrovanými údajmi filtrovanými horným prechodom a nefiltrovanými údajmi, ktoré sú k dispozícii v reálnom čase. Tu je jeho ukážka s Arduino nano.

Krok 1: Čo potrebujete.. !

Čo potrebuješ..!!
Čo potrebuješ..!!

1. Arduino Nano

2. MMA8452Q

3. Kábel I²C

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

Krok 2: Pripojenie:

Pripojenie
Pripojenie
Pripojenie
Pripojenie
Pripojenie
Pripojenie
Pripojenie
Pripojenie

Vezmite štít I2C pre Arduino Nano a jemne ho zatlačte cez kolíky Nano.

Potom pripojte jeden koniec kábla I2C k senzoru MMA8452Q a druhý koniec k štítu I2C.

Pripojenia sú znázornené na obrázku vyššie.

Krok 3: Kód:

Kód
Kód

Arduino kód pre MMMA8452Q si môžete stiahnuť z nášho úložiska github- DCUBE Store.

Tu je odkaz.

Ponúkame knižnicu Wire.h na uľahčenie komunikácie senzora I2c s doskou Arduino.

Odtiaľto môžete tiež skopírovať kód, ktorý je nasledujúci:

// Distribuované s licenciou slobodnej vôle.

// Používajte ho akýmkoľvek spôsobom chcete, so ziskom alebo zadarmo, za predpokladu, že sa zmestí do licencií k ním pridruženým dielam.

// MMA8452Q

// Tento kód je navrhnutý tak, aby fungoval s mini modulom MMA8452Q_I2CS I2C.

#zahrnúť

// Adresa I2C MMA8452Q je 0x1C (28)

#define Addr 0x1C

neplatné nastavenie ()

{

// Inicializujte komunikáciu I2C ako MASTER

Wire.begin ();

// Inicializujte sériovú komunikáciu, nastavte prenosovú rýchlosť = 9600

Serial.begin (9600);

// Spustite prenos I2C

Wire.beginTransmission (Addr);

// Vyberte riadiaci register

Wire.write (0x2A);

// Pohotovostný režim

Wire.write (0x00);

// Zastavte prenos I2C

Wire.endTransmission ();

// Spustite prenos I2C

Wire.beginTransmission (Addr);

// Vyberte riadiaci register

Wire.write (0x2A);

// Aktívny režim

Wire.write (0x01);

// Zastavte prenos I2C

Wire.endTransmission ();

// Spustite prenos I2C

Wire.beginTransmission (Addr);

// Vyberte riadiaci register

Wire.write (0x0E);

// Nastaviť rozsah na +/- 2g

Wire.write (0x00);

// Zastavte prenos I2C

Wire.endTransmission ();

oneskorenie (300);

}

prázdna slučka ()

{

nepodpísané int údaje [7];

// Požiadajte o 7 bajtov údajov

Wire.requestFrom (Addr, 7);

// Prečítajte 7 bajtov údajov

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

ak (Wire.available () == 7)

{

data [0] = Wire.read ();

údaje [1] = Wire.read ();

údaje [2] = Wire.read ();

údaje [3] = Wire.read ();

údaje [4] = Wire.read ();

údaje [5] = Wire.read ();

údaje [6] = Wire.read ();

}

// Previesť údaje na 12-bitové

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

ak (xAccl> 2047)

{

xAccl -= 4096;

}

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

ak (yAccl> 2047)

{

yAccl -= 4096;

}

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

ak (zAccl> 2047)

{

zAccl -= 4096;

}

// Výstup údajov na sériový monitor

Serial.print ("Zrýchlenie v osi X:");

Serial.println (xAccl);

Serial.print ("Zrýchlenie v osi Y:");

Serial.println (yAccl);

Serial.print ("Zrýchlenie v osi Z:");

Serial.println (zAccl);

oneskorenie (500);

}

Krok 4: Aplikácie:

MMA8452Q má rôzne aplikácie, ktoré zahŕňajú aplikácie E-Compass, detekciu statickej orientácie, ktorá zahŕňa portrét/krajinu, hore/dole, vľavo/vpravo, identifikáciu polohy zozadu/spredu, notebook, elektronickú čítačku a detekciu pádu a voľného pádu notebooku, v reálnom čase detekcia orientácie vrátane virtuálnej reality a hier 3D spätná väzba o polohe užívateľa, analýza aktivít v reálnom čase, ako je počítanie krokov krokomerom, detekcia pádu voľného pádu pre pevný disk, zálohovanie GPS s mŕtvym zúčtovaním a mnoho ďalších.

Odporúča: