Përmbajtje:

Arduino Nano-MMA8452Q 3-Bosht 12-bit/8-bit Përshpejtues dixhital dixhital: 4 hapa
Arduino Nano-MMA8452Q 3-Bosht 12-bit/8-bit Përshpejtues dixhital dixhital: 4 hapa
Anonim
Image
Image

MMA8452Q është një akselerometër i zgjuar, me fuqi të ulët, me tre boshte, kapacitiv, me mikromakinim me 12 bit rezolucion. Opsionet fleksibile të programueshme të përdoruesit sigurohen me ndihmën e funksioneve të ngulitura në akselerometër, të konfigurueshme në dy kunja ndërprerëse. Ajo ka shkallë të plota të zgjedhshme nga përdoruesi ± 2g/± 4g/± 8g me të dhëna të filtruara me filtër të lartë, si dhe të dhëna të pa filtruara të disponueshme në kohë reale. Këtu është demonstrimi i tij me Arduino nano.

Hapi 1: Ajo që ju nevojitet.. !

Ajo qe ju nevojitet.. !!
Ajo qe ju nevojitet.. !!

1. Arduino Nano

2. MMA8452Q

3. Kabllo I²C

4. Mburoja I²C për Arduino Nano

Hapi 2: Lidhja:

Lidhje
Lidhje
Lidhje
Lidhje
Lidhje
Lidhje
Lidhje
Lidhje

Merrni një mburojë I2C për Arduino Nano dhe shtyjeni butësisht mbi kunjat e Nanos.

Pastaj lidhni njërin skaj të kabllit I2C me sensorin MMA8452Q dhe skajin tjetër me mburojën I2C.

Lidhjet janë treguar në figurën e mësipërme.

Hapi 3: Kodi:

Kodi
Kodi

Kodi arduino për MMMA8452Q mund të shkarkohet nga depoja jonë github- Dyqani DCUBE.

Këtu është lidhja.

Ne përfshijmë bibliotekën Wire.h për të lehtësuar komunikimin I2c të sensorit me bordin Arduino.

Ju gjithashtu mund të kopjoni kodin nga këtu, ai jepet si më poshtë:

// Shpërndarë me një licencë me vullnet të lirë.

// Përdoreni atë në çdo mënyrë që dëshironi, fitimprurëse ose falas, me kusht që të përshtatet në licencat e veprave të tij shoqëruese.

// MMA8452Q

// Ky kod është krijuar për të punuar me Mini Modulin MMA8452Q_I2CS I2C.

#përfshi

// Adresa MMA8452Q I2C është 0x1C (28)

#përcaktoni Addr 0x1C

void setup ()

{

// Filloni komunikimin I2C si MASTER

Wire.begin ();

// Filloni Komunikimin Serial, vendosur normën e baudit = 9600

Serial.filloj (9600);

// Filloni Transmetimin I2C

Wire.beginTransmetimi (Addr);

// Zgjidhni regjistrin e kontrollit

Wire.write (0x2A);

// Modaliteti StandBy

Wire.write (0x00);

// Ndaloni Transmetimin I2C

Wire.endTransmission ();

// Filloni Transmetimin I2C

Wire.beginTransmetimi (Addr);

// Zgjidhni regjistrin e kontrollit

Wire.write (0x2A);

// Mënyra aktive

Wire.write (0x01);

// Ndaloni Transmetimin I2C

Wire.endTransmission ();

// Filloni Transmetimin I2C

Wire.beginTransmetimi (Addr);

// Zgjidhni regjistrin e kontrollit

Wire.write (0x0E);

// Vendosni diapazonin në +/- 2g

Wire.write (0x00);

// Ndaloni Transmetimin I2C

Wire.endTransmission ();

vonesë (300);

}

lak void ()

{

të dhëna int të panënshkruara [7];

// Kërkoni 7 bajt të dhëna

Tela. Kërkohet Nga (Addr, 7);

// Lexoni 7 bajt të dhëna

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

nëse (Wire.available () == 7)

{

të dhëna [0] = Wire.read ();

të dhëna [1] = Wire.read ();

të dhëna [2] = Wire.read ();

të dhëna [3] = Wire.read ();

të dhëna [4] = Wire.read ();

të dhëna [5] = Wire.read ();

të dhëna [6] = Wire.read ();

}

// Shndërroni të dhënat në 12-bit

int xAccl = ((të dhënat [1] * 256) + të dhënat [2]) / 16;

nëse (xAccl> 2047)

{

xAccl -= 4096;

}

int yAccl = ((të dhënat [3] * 256) + të dhënat [4]) / 16;

nëse (yAccl> 2047)

{

yAccl -= 4096;

}

int zAccl = ((të dhënat [5] * 256) + të dhënat [6]) / 16;

nëse (zAccl> 2047)

{

zAccl -= 4096;

}

// Dalja e të dhënave në monitorin serik

Serial.print ("Përshpejtimi në boshtin X:");

Serial.println (xAccl);

Serial.print ("Përshpejtimi në Boshtin Y:");

Serial.println (yAccl);

Serial.print ("Përshpejtimi në Boshtin Z:");

Serial.println (zAccl);

vonesë (500);

}

Hapi 4: Aplikimet:

MMA8452Q ka aplikacione të ndryshme të cilat përfshijnë aplikacione E-Compass, zbulim të orientimit statik të cilat përfshijnë Portret/Peizazh, Lart/Poshtë, Majtas/Djathtas, Identifikimi i pozicionit mbrapa/përpara, Fletore, lexues elektronik, dhe Laptop Tumble and Freefall Detection, në kohë reale zbulimi i orientimit përfshirë realitetin virtual dhe reagimet e pozicionit të përdoruesit 3D të lojërave, analiza e aktivitetit në kohë reale, të tilla si numërimi i hapave të pedometrit, zbulimi i rënies së rënies së lirë për HDD, kopjimi GPS i llogaritur i vdekur dhe shumë më tepër.

Recommended: