INHOUDSOPGAWE:

Framboos Pi MMA8452Q 3-as 12-bis/8-bis digitale versnellingsmeter Java-tutoriaal: 4 stappe
Framboos Pi MMA8452Q 3-as 12-bis/8-bis digitale versnellingsmeter Java-tutoriaal: 4 stappe

Video: Framboos Pi MMA8452Q 3-as 12-bis/8-bis digitale versnellingsmeter Java-tutoriaal: 4 stappe

Video: Framboos Pi MMA8452Q 3-as 12-bis/8-bis digitale versnellingsmeter Java-tutoriaal: 4 stappe
Video: Учебник - программирование Gambas прямо на Raspberry Pi 2024, Julie
Anonim
Image
Image

Die MMA8452Q is 'n slim, lae-krag, drie-as, kapasitiewe, mikromasjiene versnellingsmeter met 12 bisse resolusie. Buigsame gebruikersprogrammeerbare opsies word voorsien met behulp van ingebedde funksies in die versnellingsmeter, wat op twee onderbrekingspenne ingestel kan word. Dit het volledige gebruikersskale van ± 2g/± 4g/± 8g wat deur die gebruiker gekies kan word, met hoëpasfilter gefiltreerde data, sowel as nie-gefilterde data wat intyds beskikbaar is. Hier is die demonstrasie daarvan met framboospi met behulp van Java -kode.

Stap 1: wat u nodig het..

Wat jy nodig het..!!
Wat jy nodig het..!!

1. Framboos Pi

2. MMA8452Q

3. I²C -kabel

4. I²C -skild vir Framboos Pi

5. Ethernet -kabel

Stap 2: Verbindings:

Verbindings
Verbindings
Verbindings
Verbindings
Verbindings
Verbindings
Verbindings
Verbindings

Neem 'n I2C skild vir framboos pi en druk dit liggies oor die gpio penne van framboos pi.

Koppel dan die een kant van die I2C -kabel aan die MMA8452Q -sensor en die ander kant aan die I2C -skild.

Koppel ook die Ethernet -kabel aan die pi, of u kan 'n WiFi -module gebruik.

Verbindings word op die foto hierbo getoon.

Stap 3: Kode:

Kode
Kode

Die Java-kode vir MMA8452Q kan afgelaai word vanaf ons GitHub-bewaarplek- Dcube Store

Hier is die skakel vir dieselfde:

github.com/DcubeTechVentures/MMA8452Q

Ons het pi4j -biblioteek gebruik vir java -kode, die stappe om pi4j op framboos pi te installeer word hier beskryf:

pi4j.com/install.html

U kan die kode ook hiervandaan kopieer; dit word soos volg gegee:

// Versprei met 'n vrywillige lisensie.

// Gebruik dit op enige manier wat u wil, wins of gratis, mits dit in die lisensies van die gepaardgaande werke pas.

// MMA8452Q

// Hierdie kode is ontwerp om te werk met die MMA8452Q_I2CS I2C Mini Module wat beskikbaar is in Dcube Store.

invoer com.pi4j.io.i2c. I2CBus;

voer com.pi4j.io.i2c. I2CD -toestel in;

invoer com.pi4j.io.i2c. I2CFactory;

invoer java.io. IOException;

openbare klas MMA8452Q

{

openbare statiese leegte hoof (String argumente ) gooi uitsondering

{

// Skep I2C -bus

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

// Kry I2C -toestel, MMA8452Q I2C -adres is 0x1C (28)

I2CD -toestel = bus.getDevice (0x1C);

// Stuur bystandopdrag

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

// Stuur aktiewe opdrag

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

// Stel reeks tot +/- 2g

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

Draad.slaap (500);

// Lees 7 grepe data vanaf adres 0x00 (0)

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

byte data = nuwe byte [7];

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

// Skakel die waardes om

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

as (xAccl> 2047)

{

xAccl = xAccl - 4096;

}

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

as (yAccl> 2047)

{

yAccl = yAccl - 4096;

}

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

as (zAccl> 2047)

{

zAccl = zAccl - 4096;

}

// Uitset data na die skerm

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: Aansoeke:

MMA8452Q het verskillende toepassings, waaronder E-kompas-toepassings, statiese oriëntasie-opsporing, wat portret/landskap, op/af, links/regs, identifikasie van agter-/voorposisie, notaboek, e-reader en opsporing van draagbare en valbare skootrekenaars insluit, intyds oriëntasie-opsporing, insluitend virtuele werklikheid en terugvoer oor 3D-gebruikersposisies van gebruikers, intydse aktiwiteitsanalise soos stappenteller, vryvalopsporing vir HDD, GPS-rugsteun met afrekening en nog baie meer.

Aanbeveel: