Obsah:

Raspberry Pi MMA8452Q 3osý 12bitový/8bitový digitální akcelerometr Java výuka: 4 kroky
Raspberry Pi MMA8452Q 3osý 12bitový/8bitový digitální akcelerometr Java výuka: 4 kroky

Video: Raspberry Pi MMA8452Q 3osý 12bitový/8bitový digitální akcelerometr Java výuka: 4 kroky

Video: Raspberry Pi MMA8452Q 3osý 12bitový/8bitový digitální akcelerometr Java výuka: 4 kroky
Video: Adafruit MMA8451 Acceleromter + Processing 2024, Červenec
Anonim
Image
Image

MMA8452Q je chytrý, tříosý, kapacitní, mikroosý akcelerometr s nízkým výkonem a 12bitovým rozlišením. Flexibilní uživatelsky programovatelné možnosti jsou poskytovány pomocí vestavěných funkcí v akcelerometru, konfigurovatelných na dva kolíky přerušení. Má uživatelem volitelná plná měřítka ± 2 g/± 4 g/± 8 g s filtrovanými daty filtrovanými horním průchodem i nefiltrovanými daty, která jsou k dispozici v reálném čase. Zde je jeho ukázka s malinovým pi pomocí Java kódu.

Krok 1: Co potřebujete..

Co potřebuješ..!!
Co potřebuješ..!!

1. Raspberry Pi

2. MMA8452Q

3. I²C kabel

4. I²C štít pro Raspberry Pi

5. Ethernetový kabel

Krok 2: Připojení:

Připojení
Připojení
Připojení
Připojení
Připojení
Připojení
Připojení
Připojení

Vezměte I2C štít pro malinový pi a jemně jej zatlačte přes gpio piny malinového pi.

Poté připojte jeden konec kabelu I2C k senzoru MMA8452Q a druhý konec ke stínění I2C.

Připojte také ethernetový kabel k pí nebo můžete použít modul WiFi.

Připojení jsou znázorněna na obrázku výše.

Krok 3: Kód:

Kód
Kód

Kód Java pro MMA8452Q lze stáhnout z našeho úložiště GitHub- Dcube Store

Zde je odkaz na totéž:

github.com/DcubeTechVentures/MMA8452Q

Pro java kód jsme použili knihovnu pi4j, kroky k instalaci pi4j na raspberry pi jsou popsány zde:

pi4j.com/install.html

Odtud můžete také zkopírovat kód, který je uveden následovně:

// Distribuováno s licencí svobodné vůle.

// Používejte jej jakýmkoli způsobem, ať už ziskem nebo zdarma, za předpokladu, že se vejde do licencí souvisejících děl.

// MMA8452Q

// Tento kód je navržen tak, aby fungoval s mini modulem MMA8452Q_I2CS I2C dostupným v Dcube Store.

importovat com.pi4j.io.i2c. I2CBus;

importovat com.pi4j.io.i2c. I2CDevice;

importovat com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;

veřejná třída MMA8452Q

{

public static void main (String args ) vyvolá výjimku

{

// Vytvoření sběrnice I2C

Sběrnice I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);

// Získejte zařízení I2C, adresa I2C MMA8452Q je 0x1C (28)

I2CDevice zařízení = bus.getDevice (0x1C);

// Odeslání příkazu pohotovostního režimu

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

// Odeslat aktivní příkaz

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

// Nastavit rozsah až +/- 2g

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

Thread.sleep (500);

// Přečíst 7 bajtů dat z adresy 0x00 (0)

// Stav, X msb, X lsb, Y msb, Y lsb, Z msb, Z lsb

byte data = nový byte [7];

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

// Převést hodnoty

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

if (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;

}

// Výstup dat na obrazovku

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

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

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

}

}

Krok 4: Aplikace:

MMA8452Q má různé aplikace, které zahrnují aplikace E-Compass, detekci statické orientace, která zahrnuje portrét/krajina, nahoru/dolů, doleva/doprava, identifikace polohy zezadu/zepředu, notebook, elektronická čtečka a detekce pádu a volného pádu notebooku, v reálném čase detekce orientace včetně virtuální reality a hraní 3D zpětná vazba o poloze uživatele, analýza aktivity v reálném čase, jako je počítání kroků krokoměru, detekce pádu volného pádu pro pevný disk, zálohování GPS s mrtvým účtem a mnoho dalšího.

Doporučuje: