Sommario:

Accelerometro digitale Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Tutorial Java: 4 passaggi
Accelerometro digitale Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Tutorial Java: 4 passaggi

Video: Accelerometro digitale Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Tutorial Java: 4 passaggi

Video: Accelerometro digitale Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Tutorial Java: 4 passaggi
Video: DIY Radar With Ultrasonic Sensor And Chat-GPT Generated Arduino Code | Coders Cafe 2024, Luglio
Anonim
Image
Image

L'MMA8452Q è un accelerometro intelligente, a bassa potenza, a tre assi, capacitivo, microlavorato con 12 bit di risoluzione. Opzioni flessibili programmabili dall'utente sono fornite con l'ausilio di funzioni integrate nell'accelerometro, configurabili su due pin di interruzione. Dispone di scale complete selezionabili dall'utente di ±2g/±4g/±8g con dati filtrati con filtro passa-alto e dati non filtrati disponibili in tempo reale. Ecco la sua dimostrazione con raspberry pi usando il codice java.

Passaggio 1: ciò di cui hai bisogno.

Quello di cui hai bisogno..!!
Quello di cui hai bisogno..!!

1. Lampone Pi

2. MMA8452Q

3. Cavo I²C

4. Scudo I²C per Raspberry Pi

5. Cavo Ethernet

Passaggio 2: connessioni:

Connessioni
Connessioni
Connessioni
Connessioni
Connessioni
Connessioni
Connessioni
Connessioni

Prendi uno scudo I2C per lampone pi e spingilo delicatamente sui pin gpio di lampone pi.

Quindi collegare un'estremità del cavo I2C al sensore MMA8452Q e l'altra estremità allo schermo I2C.

Collega anche il cavo Ethernet al pi oppure puoi utilizzare un modulo WiFi.

I collegamenti sono mostrati nell'immagine sopra.

Passaggio 3: codice:

Codice
Codice

Il codice Java per MMA8452Q può essere scaricato dal nostro repository GitHub- Dcube Store

Ecco il link per lo stesso:

github.com/DcubeTechVentures/MMA8452Q

Abbiamo usato la libreria pi4j per il codice java, i passaggi per installare pi4j su raspberry pi sono descritti qui:

pi4j.com/install.html

Puoi anche copiare il codice da qui, è fornito come segue:

// Distribuito con una licenza libera.

// Usalo come vuoi, a scopo di lucro o gratuito, a condizione che rientri nelle licenze delle opere associate.

//MMA8452Q

// Questo codice è progettato per funzionare con il Mini Modulo I2C MMA8452Q_I2CS disponibile in Dcube Store.

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;

classe pubblica MMA8452Q

{

public static void main(String args) genera un'eccezione

{

// Crea bus I2C

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

// Ottieni il dispositivo I2C, l'indirizzo I2C di MMA8452Q è 0x1C(28)

I2CDevice device = bus.getDevice(0x1C);

// Invia il comando di standby

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

// Invia comando attivo

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

// Imposta l'intervallo fino a +/- 2 g

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

Thread.sleep(500);

// Legge 7 byte di dati dall'indirizzo 0x00(0)

// Stato, X msb, X lsb, Y msb, Y lsb, Z msb, Z lsb

byte dati = nuovo byte[7];

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

// Converti i valori

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

se (xAccl > 2047)

{

xAccl = xAccl - 4096;

}

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

if (yAccl > 2047)

{

yAccl = yAccl - 4096;

}

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

if (zAccl > 2047)

{

zAccl = zAccl - 4096;

}

// Invia i dati allo schermo

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

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

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

}

}

Passaggio 4: applicazioni:

MMA8452Q ha varie applicazioni che includono applicazioni E-Compass, rilevamento dell'orientamento statico che incorpora verticale/orizzontale, su/giù, sinistra/destra, identificazione della posizione posteriore/anteriore, notebook, e-reader e rilevamento di caduta e caduta libera del laptop, in tempo reale rilevamento dell'orientamento, tra cui realtà virtuale e feedback sulla posizione dell'utente di gioco 3D, analisi dell'attività in tempo reale come il conteggio dei passi del pedometro, rilevamento della caduta libera per HDD, backup GPS stimata e molto altro.

Consigliato: