Raspberry Pi MMA8452Q 3-Axis 12-bitars/8-bitars digital accelerometer Java-handledning: 4 steg
Raspberry Pi MMA8452Q 3-Axis 12-bitars/8-bitars digital accelerometer Java-handledning: 4 steg
Anonim
Image
Image

MMA8452Q är en smart, lågeffekts, treaxlig, kapacitiv, mikromaskinerad accelerometer med 12 bitars upplösning. Flexibla användarprogrammerbara alternativ tillhandahålls med hjälp av inbyggda funktioner i accelerometern, som kan konfigureras till två avbrottsstift. Den har användarvalbara hela skalor på ± 2g/± 4g/± 8g med högpassfilterfiltrerade data samt icke-filtrerade data tillgängliga i realtid. Här är dess demonstration med hallon pi med Java -kod.

Steg 1: Vad du behöver.. !

Vad du behöver..!!
Vad du behöver..!!

1. Hallon Pi

2. MMA8452Q

3. I²C -kabel

4. I²C -sköld för Raspberry Pi

5. Ethernet -kabel

Steg 2: Anslutningar:

Anslutningar
Anslutningar
Anslutningar
Anslutningar
Anslutningar
Anslutningar
Anslutningar
Anslutningar

Ta en I2C -sköld för hallonpi och tryck den försiktigt över gpio -stiften på hallonpi.

Anslut sedan den ena änden av I2C -kabeln till MMA8452Q -sensorn och den andra änden till I2C -skärmen.

Anslut också Ethernet -kabeln till pi eller så kan du använda en WiFi -modul.

Anslutningar visas på bilden ovan.

Steg 3: Kod:

Koda
Koda

Java-koden för MMA8452Q kan laddas ner från vårt GitHub-arkiv- Dcube Store

Här är länken till samma:

github.com/DcubeTechVentures/MMA8452Q

Vi har använt pi4j -biblioteket för java -kod, stegen för att installera pi4j på hallon pi beskrivs här:

pi4j.com/install.html

Du kan också kopiera koden härifrån, den ges enligt följande:

// Distribueras med en fri vilja licens.

// Använd den hur du vill, vinst eller gratis, förutsatt att den passar i licensen för dess associerade verk.

// MMA8452Q

// Denna kod är utformad för att fungera med MMA8452Q_I2CS I2C Mini Module som finns i Dcube Store.

importera com.pi4j.io.i2c. I2CBus;

importera com.pi4j.io.i2c. I2CDenhet;

importera com.pi4j.io.i2c. I2CFactory;

importera java.io. IOException;

offentlig klass MMA8452Q

{

public static void main (String args ) kastar undantag

{

// Skapa I2C -buss

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

// Skaffa I2C -enhet, MMA8452Q I2C -adress är 0x1C (28)

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

// Skicka vänteläge -kommando

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

// Skicka aktivt kommando

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

// Ställ in intervallet upp till +/- 2g

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

Tråd. Sover (500);

// Läs 7 byte med data från adressen 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);

// Konvertera värdena

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

om (xAccl> 2047)

{

xAccl = xAccl - 4096;

}

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

om (yAccl> 2047)

{

yAccl = yAccl - 4096;

}

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

om (zAccl> 2047)

{

zAccl = zAccl - 4096;

}

// Mata ut data till skärmen

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

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

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

}

}

Steg 4: Ansökningar:

MMA8452Q har olika applikationer som inkluderar E-kompassapplikationer, statisk orienteringsdetektering som innehåller porträtt/liggande, upp/ner, vänster/höger, bakre/främre lägesidentifiering, anteckningsbok, e-läsare och bärbar dator Tumble och Freefall Detection, Realtid orienteringsdetektering inklusive virtuell verklighet och spel 3D-feedback från användarpositioner, aktivitetsanalys i realtid, såsom stegräknare för stegräknare, detektering av fritt fall för hårddisk, dödräknad GPS-säkerhetskopiering och mycket mer.

Rekommenderad: