Innholdsfortegnelse:

Raspberry Pi MMA8452Q 3-akse 12-bits/8-biters digitalt akselerometer Java Opplæring: 4 trinn
Raspberry Pi MMA8452Q 3-akse 12-bits/8-biters digitalt akselerometer Java Opplæring: 4 trinn

Video: Raspberry Pi MMA8452Q 3-akse 12-bits/8-biters digitalt akselerometer Java Opplæring: 4 trinn

Video: Raspberry Pi MMA8452Q 3-akse 12-bits/8-biters digitalt akselerometer Java Opplæring: 4 trinn
Video: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Java Tutorial 2024, Juli
Anonim
Image
Image

MMA8452Q er et smart, laveffekt, tre-akset, kapasitivt, mikromaskinert akselerometer med 12 bits oppløsning. Fleksible brukerprogrammerbare alternativer tilbys ved hjelp av innebygde funksjoner i akselerometeret, som kan konfigureres til to avbruddspinner. Den har brukervalgbare hele skalaer på ± 2g/± 4g/± 8g med høypassfilterfiltrerte data, så vel som ikke-filtrerte data tilgjengelig i sanntid. Her er demonstrasjonen med bringebær pi ved hjelp av java -kode.

Trinn 1: Hva du trenger..

Hva trenger du..!!
Hva trenger du..!!

1. Bringebær Pi

2. MMA8452Q

3. I²C -kabel

4. I²C Shield for Raspberry Pi

5. Ethernet -kabel

Trinn 2: Tilkoblinger:

Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger

Ta et I2C -skjold for bringebærpi og skyv det forsiktig over gpio -pinnene til bringebærpi.

Koble deretter den ene enden av I2C -kabelen til MMA8452Q -sensoren og den andre enden til I2C -skjoldet.

Koble også Ethernet -kabelen til pi eller du kan bruke en WiFi -modul.

Tilkoblinger er vist på bildet ovenfor.

Trinn 3: Kode:

Kode
Kode

Java-koden for MMA8452Q kan lastes ned fra vårt GitHub-depot- Dcube Store

Her er lenken til det samme:

github.com/DcubeTechVentures/MMA8452Q

Vi har brukt pi4j bibliotek for java -kode, trinnene for å installere pi4j på bringebær pi er beskrevet her:

pi4j.com/install.html

Du kan også kopiere koden herfra, den er gitt som følger:

// Distribuert med en fri viljelisens.

// Bruk den slik du vil, profitt eller gratis, forutsatt at den passer inn i lisensene til de tilhørende verkene.

// MMA8452Q

// Denne koden er designet for å fungere med MMA8452Q_I2CS I2C Mini Module tilgjengelig i Dcube Store.

importer com.pi4j.io.i2c. I2CBus;

importer com.pi4j.io.i2c. I2CDenhet;

importer com.pi4j.io.i2c. I2CFactory;

importer java.io. IOException;

offentlig klasse MMA8452Q

{

public static void main (String args ) kaster Unntak

{

// Lag I2C -buss

I2CBus -buss = I2CFactory.getInstance (I2CBus. BUS_1);

// Få I2C -enhet, MMA8452Q I2C -adresse er 0x1C (28)

I2CDevice -enhet = bus.getDevice (0x1C);

// Send standby -kommando

device.write (0x2A, (byte) 0x00);

// Send aktiv kommando

device.write (0x2A, (byte) 0x01);

// Angi rekkevidde til +/- 2g

device.write (0x0E, (byte) 0x00);

Tråd. Sover (500);

// Les 7 byte med data fra adresse 0x00 (0)

// Status, X msb, X lsb, Y msb, Y lsb, Z msb, Z lsb

byte data = ny byte [7];

device.read (0x00, data, 0, 7);

// Konverter verdiene

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

hvis (xAccl> 2047)

{

xAccl = xAccl - 4096;

}

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

hvis (yAccl> 2047)

{

yAccl = yAccl - 4096;

}

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

hvis (zAccl> 2047)

{

zAccl = zAccl - 4096;

}

// Utdata til skjermen

System.out.printf ("X-akse: %d %n", xAccl);

System.out.printf ("Y-akse: %d %n", yAccl);

System.out.printf ("Z-akse: %d %n", zAccl);

}

}

Trinn 4: Søknader:

MMA8452Q har forskjellige applikasjoner som inkluderer E-Kompass-applikasjoner, Statisk orienteringsdeteksjon som inneholder portrett/landskap, opp/ned, venstre/høyre, bak/front posisjonidentifikasjon, bærbar PC, e-leser og bærbar Tumble og Freefall Detection, sanntid orienteringsdeteksjon, inkludert virtuell virkelighet og spill 3D-tilbakemeldinger fra brukerposisjoner, aktivitetsanalyse i sanntid som skrittellersteller, fritt fallgjenkjenning for harddisk, død-beregning av GPS-sikkerhetskopiering og mye mer.

Anbefalt: