Sisällysluettelo:

Arduino Nano-MMA8452Q 3-akselinen 12-bittinen/8-bittinen digitaalinen kiihtyvyysanturin opetusohjelma: 4 vaihetta
Arduino Nano-MMA8452Q 3-akselinen 12-bittinen/8-bittinen digitaalinen kiihtyvyysanturin opetusohjelma: 4 vaihetta

Video: Arduino Nano-MMA8452Q 3-akselinen 12-bittinen/8-bittinen digitaalinen kiihtyvyysanturin opetusohjelma: 4 vaihetta

Video: Arduino Nano-MMA8452Q 3-akselinen 12-bittinen/8-bittinen digitaalinen kiihtyvyysanturin opetusohjelma: 4 vaihetta
Video: Arduino Nano MMA8452Q with 8x8 Dot Matrix 2024, Heinäkuu
Anonim
Image
Image

MMA8452Q on älykäs, pienitehoinen, kolmiakselinen, kapasitiivinen, mikrotyöstettävä kiihtyvyysanturi, jonka tarkkuus on 12 bittiä. Joustavat käyttäjän ohjelmoitavat vaihtoehdot on varustettu kiihtyvyysmittarin upotetuilla toiminnoilla, jotka voidaan konfiguroida kahteen keskeytystappiin. Siinä on käyttäjän valittavissa olevat täydet asteikot ± 2 g/± 4 g/± 8 g, joissa on ylipäästösuodattimen suodatettua dataa ja reaaliajassa saatavilla suodattamatonta tietoa. Tässä on sen esittely Arduino nanolla.

Vaihe 1: Mitä tarvitset..

Mitä tarvitset..!!
Mitä tarvitset..!!

1. Arduino Nano

2. MMA8452Q

3. I²C -kaapeli

4. I²C -kilpi Arduino Nanolle

Vaihe 2: Yhteys:

Liitäntä
Liitäntä
Liitäntä
Liitäntä
Liitäntä
Liitäntä
Liitäntä
Liitäntä

Ota I2C -suoja Arduino Nanolle ja työnnä sitä varovasti Nanon nastojen yli.

Liitä sitten I2C -kaapelin toinen pää MMA8452Q -anturiin ja toinen pää I2C -suojaan.

Liitännät näkyvät yllä olevassa kuvassa.

Vaihe 3: Koodi:

Koodi
Koodi

MMMA8452Q: n arduino-koodin voi ladata github-arkistostamme- DCUBE Storesta.

Tässä on linkki.

Mukana on kirjasto Wire.h, joka helpottaa anturin I2c -tiedonsiirtoa Arduino -kortin kanssa.

Voit myös kopioida koodin täältä, se annetaan seuraavasti:

// Jaetaan vapaaehtoisella lisenssillä.

// Käytä sitä haluamallasi tavalla, voittoa tai ilmaiseksi, jos se sopii siihen liittyvien teosten lisensseihin.

// MMA8452Q

// Tämä koodi on suunniteltu toimimaan MMA8452Q_I2CS I2C Mini -moduulin kanssa.

#sisältää

// MMA8452Q I2C -osoite on 0x1C (28)

#define Addr 0x1C

mitätön asennus ()

{

// Alusta I2C -viestintä MASTERiksi

Wire.begin ();

// Alusta sarjaliikenne, aseta baudinopeus = 9600

Sarja.alku (9600);

// Käynnistä I2C -lähetys

Wire.beginTransmission (Addr);

// Valitse ohjausrekisteri

Wire.write (0x2A);

// Valmiustila

Wire.write (0x00);

// Pysäytä I2C -lähetys

Wire.endTransmission ();

// Käynnistä I2C -lähetys

Wire.beginTransmission (Addr);

// Valitse ohjausrekisteri

Wire.write (0x2A);

// Aktiivinen tila

Wire.write (0x01);

// Pysäytä I2C -lähetys

Wire.endTransmission ();

// Käynnistä I2C -lähetys

Wire.beginTransmission (Addr);

// Valitse ohjausrekisteri

Wire.write (0x0E);

// Aseta alue +/- 2g

Wire.write (0x00);

// Pysäytä I2C -lähetys

Wire.endTransmission ();

viive (300);

}

tyhjä silmukka ()

{

allekirjoittamaton int -data [7];

// Pyydä 7 tavua dataa

Wire.requestFrom (Addr, 7);

// Lue 7 tavua dataa

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

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

}

// Muunna tiedot 12-bittisiksi

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

jos (xAccl> 2047)

{

xAccl -= 4096;

}

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

jos (yAccl> 2047)

{

yAccl -= 4096;

}

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

jos (zAccl> 2047)

{

zAccl -= 4096;

}

// Tulostustiedot sarjamittarille

Serial.print ("Kiihtyvyys X-akselissa:");

Sarja.println (xAccl);

Serial.print ("Kiihtyvyys Y-akselilla:");

Sarja.println (yAccl);

Serial.print ("Kiihtyvyys Z-akselissa:");

Sarja.println (zAccl);

viive (500);

}

Vaihe 4: Sovellukset:

MMA8452Q: ssa on useita sovelluksia, joihin kuuluvat E-kompassisovellukset, staattisen suunnan tunnistus, joka sisältää pystysuuntaisen/vaakasuuntaisen, ylös/alas, vasen/oikea, taka-/etuasennon tunnistuksen, kannettavan, e-lukijan ja kannettavan tietokoneen rummun ja putoamisen tunnistuksen, reaaliaikainen suunnan havaitseminen, mukaan lukien virtuaalitodellisuus ja pelaamisen 3D-käyttäjäpalaute, reaaliaikainen toiminta-analyysi, kuten askelmittarin askellaskenta, vapaapudotuksen havaitseminen kiintolevylle, kuolleen laskennan GPS-varmuuskopiointi ja paljon muuta.

Suositeltava: