Inhoudsopgave:

Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digitale Accelerometer Java-zelfstudie - Ajarnpa
Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digitale Accelerometer Java-zelfstudie - Ajarnpa

Video: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digitale Accelerometer Java-zelfstudie - Ajarnpa

Video: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digitale Accelerometer Java-zelfstudie - Ajarnpa
Video: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Java Tutorial 2024, Juli-
Anonim
Image
Image

De MMA8452Q is een slimme, energiezuinige, drie-assige, capacitieve, micromachined accelerometer met 12 bits resolutie. Flexibele door de gebruiker programmeerbare opties worden geboden met behulp van ingebouwde functies in de accelerometer, configureerbaar tot twee interrupt-pinnen. Het heeft door de gebruiker selecteerbare volledige schalen van ±2g/±4g/±8g met high-pass filter gefilterde data en niet-gefilterde data die in realtime beschikbaar zijn. Hier is de demonstratie met Raspberry Pi met behulp van Java-code.

Stap 1: Wat je nodig hebt.

Wat je nodig hebt..!!
Wat je nodig hebt..!!

1. Raspberry Pi

2. MMA8452Q

3. I²C-kabel

4. I²C-schild voor Raspberry Pi

5. Ethernet-kabel

Stap 2: Aansluitingen:

Aansluitingen
Aansluitingen
Aansluitingen
Aansluitingen
Aansluitingen
Aansluitingen
Aansluitingen
Aansluitingen

Neem een I2C-schild voor Raspberry Pi en duw het voorzichtig over de gpio-pinnen van Raspberry Pi.

Sluit vervolgens het ene uiteinde van de I2C-kabel aan op de MMA8452Q-sensor en het andere uiteinde op de I2C-afscherming.

Sluit ook de Ethernet-kabel aan op de pi of u kunt een WiFi-module gebruiken.

De aansluitingen zijn weergegeven in de afbeelding hierboven.

Stap 3: Coderen:

Code
Code

De Java-code voor MMA8452Q kan worden gedownload van onze GitHub-repository - Dcube Store

Hier is de link voor hetzelfde:

github.com/DcubeTechVentures/MMA8452Q

We hebben de pi4j-bibliotheek gebruikt voor java-code, de stappen om pi4j op raspberry pi te installeren worden hier beschreven:

pi4j.com/install.html

U kunt de code ook hier kopiëren, deze wordt als volgt gegeven:

// Gedistribueerd met een vrije wilslicentie.

// Gebruik het zoals je wilt, winst of gratis, op voorwaarde dat het past in de licenties van de bijbehorende werken.

// MMA8452Q

// Deze code is ontworpen om te werken met de MMA8452Q_I2CS I2C Mini Module die beschikbaar is in de Dcube Store.

com.pi4j.io.i2c. I2CBus importeren;

com.pi4j.io.i2c. I2CDevice importeren;

importeer com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;

openbare klasse MMA8452Q

{

public static void main(String args) gooit Exception

{

// I2C-bus maken

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

// Krijg I2C-apparaat, MMA8452Q I2C-adres is 0x1C (28)

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

// Stuur standby-commando

apparaat.schrijven (0x2A, (byte)0x00);

// Stuur actieve opdracht

apparaat.schrijven (0x2A, (byte)0x01);

// Stel bereik in tot +/- 2g

apparaat.schrijven (0x0E, (byte)0x00);

Draad.slaap(500);

// Lees 7 bytes aan gegevens van adres 0x00 (0)

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

byte gegevens = nieuwe byte[7];

apparaat.lezen (0x00, data, 0, 7);

// Converteer de waarden

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

als (xAccl > 2047)

{

xAccl = xAccl - 4096;

}

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

als (yAccl > 2047)

{

yAccl = yAccl - 4096;

}

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

als (zAccl > 2047)

{

zAccl = zAccl - 4096;

}

// Gegevens uitvoeren naar scherm

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

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

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

}

}

Stap 4: Toepassingen:

MMA8452Q heeft verschillende toepassingen, waaronder E-kompas-toepassingen, detectie van statische oriëntatie met detectie van portret/landschap, omhoog/omlaag, links/rechts, positie-identificatie achter/voor, notebook, e-reader en tuimel- en vrije valdetectie van laptops, realtime oriëntatiedetectie inclusief virtual reality en gaming 3D-gebruikerspositiefeedback, real-time activiteitenanalyse zoals stappenteller tellen, vrije val-valdetectie voor HDD, gegist bestede GPS-back-up en nog veel meer.

Aanbevolen: