Indholdsfortegnelse:

Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Java Tutorial: 4 trin
Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Java Tutorial: 4 trin

Video: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Java Tutorial: 4 trin

Video: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Java Tutorial: 4 trin
Video: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Python Tutorial 2024, Juli
Anonim
Image
Image

MMA8452Q er et smart, laveffekt, tre-akset, kapacitivt, mikromaskinet accelerometer med 12 bits opløsning. Fleksible brugerprogrammerbare muligheder leveres ved hjælp af integrerede funktioner i accelerometeret, der kan konfigureres til to afbrydelsesnåle. Den har brugervalgbare fulde skalaer på ± 2g/± 4g/± 8g med højpasfilterfiltrerede data samt ikke-filtrerede data tilgængelige i realtid. Her er dens demonstration med hindbær pi ved hjælp af java -kode.

Trin 1: Hvad du har brug for..

Hvad du har brug for..!!
Hvad du har brug for..!!

1. Hindbær Pi

2. MMA8452Q

3. I²C -kabel

4. I²C Shield til Raspberry Pi

5. Ethernet -kabel

Trin 2: Forbindelser:

Tilslutninger
Tilslutninger
Tilslutninger
Tilslutninger
Tilslutninger
Tilslutninger
Tilslutninger
Tilslutninger

Tag et I2C -skjold til hindbærpi og skub det forsigtigt hen over gpio -benene på hindbærpi.

Tilslut derefter den ene ende af I2C -kablet til MMA8452Q -sensoren og den anden ende til I2C -skærmen.

Tilslut også Ethernet -kablet til pi'en, eller du kan bruge et WiFi -modul.

Forbindelser er vist på billedet ovenfor.

Trin 3: Kode:

Kode
Kode

Java-koden til MMA8452Q kan downloades fra vores GitHub-depot- Dcube Store

Her er linket til det samme:

github.com/DcubeTechVentures/MMA8452Q

Vi har brugt pi4j bibliotek til java -kode, trinene til at installere pi4j på hindbær pi er beskrevet her:

pi4j.com/install.html

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

// Distribueret med en fri vilje licens.

// Brug den, som du vil, profit eller gratis, forudsat at den passer ind i licenserne til de tilhørende værker.

// MMA8452Q

// Denne kode er designet til at fungere med MMA8452Q_I2CS I2C Mini -modulet, der er tilgængeligt i Dcube Store.

importer com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;

offentlig klasse MMA8452Q

{

public static void main (String args ) kaster Undtagelse

{

// Opret I2C -bus

I2CBus bus = I2CFactory.getInstance (I2CBus. BUS_1);

// Hent I2C -enhed, MMA8452Q I2C -adresse er 0x1C (28)

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

// Send standby -kommando

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

// Send aktiv kommando

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

// Indstil rækkevidde op til +/- 2g

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

Tråd. Sover (500);

// Læs 7 bytes 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 værdierne

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;

}

// Output data til skærmen

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

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

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

}

}

Trin 4: Ansøgninger:

MMA8452Q har forskellige applikationer, som omfatter E-Kompass-applikationer, Statisk orienteringsdetektering, der inkorporerer Portræt/Landskab, Op/Ned, Venstre/Højre, Tilbage/Front position identifikation, Notebook, e-reader og Laptop Tumble og Freefall Detection, Real-time orienteringsdetektering inklusive virtual reality og gaming 3D brugerpositionsfeedback, realtidsaktivitetsanalyse såsom skridttæller-trintælling, freefall-drop-detektion for HDD, dødregning af GPS-backup og meget mere.

Anbefalede: