Obsah:

3-osový 12-bitový/8-bitový digitálny akcelerometer Raspberry Pi MMA8452Q Java návod: 4 kroky
3-osový 12-bitový/8-bitový digitálny akcelerometer Raspberry Pi MMA8452Q Java návod: 4 kroky

Video: 3-osový 12-bitový/8-bitový digitálny akcelerometer Raspberry Pi MMA8452Q Java návod: 4 kroky

Video: 3-osový 12-bitový/8-bitový digitálny akcelerometer Raspberry Pi MMA8452Q Java návod: 4 kroky
Video: Руководство для начинающих по I2C на Raspberry Pi Pico (пример BNO055 IMU) 2024, November
Anonim
Image
Image

MMA8452Q je inteligentný, trojosový, kapacitný, mikroosý akcelerometer s malým výkonom a 12 bitovým rozlíšením. Flexibilné programovateľné možnosti pre používateľov sú k dispozícii pomocou vstavaných funkcií v akcelerometri, konfigurovateľných na dva kolíky prerušenia. Má užívateľsky voliteľné plné stupnice ± 2 g/± 4 g/± 8 g s filtrovanými údajmi filtrovanými horným prechodom a nefiltrovanými údajmi, ktoré sú k dispozícii v reálnom čase. Tu je jeho ukážka s malinou pi pomocou kódu Java.

Krok 1: Čo potrebujete.. !

Čo potrebuješ..!!
Čo potrebuješ..!!

1. Raspberry Pi

2. MMA8452Q

3. Kábel I²C

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

5. Ethernetový kábel

Krok 2: Pripojenia:

Pripojenia
Pripojenia
Pripojenia
Pripojenia
Pripojenia
Pripojenia
Pripojenia
Pripojenia

Vezmite I2C štít na malinový pi a jemne ho zatlačte cez gpio kolíky malinového pi.

Potom pripojte jeden koniec kábla I2C k senzoru MMA8452Q a druhý koniec k štítu I2C.

Pripojte tiež ethernetový kábel k pí alebo môžete použiť modul WiFi.

Pripojenia sú znázornené na obrázku vyššie.

Krok 3: Kód:

Kód
Kód

Kód Java pre MMA8452Q je možné stiahnuť z nášho úložiska GitHub- Dcube Store

Tu je odkaz na to isté:

github.com/DcubeTechVentures/MMA8452Q

Na kód java sme použili knižnicu pi4j, kroky na inštaláciu pi4j na malinový pi sú popísané tu:

pi4j.com/install.html

Odtiaľto môžete tiež skopírovať kód, ktorý je nasledujúci:

// Distribuované s licenciou slobodnej vôle.

// Používajte ho akýmkoľvek spôsobom chcete, so ziskom alebo zadarmo, za predpokladu, že sa zmestí do licencií k ním pridruženým dielam.

// MMA8452Q

// Tento kód je navrhnutý tak, aby pracoval s mini modulom MMA8452Q_I2CS I2C dostupným v obchode Dcube Store.

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;

verejná trieda MMA8452Q

{

public static void main (String args ) hodí výnimku

{

// Vytvorenie zbernice I2C

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

// Získať zariadenie I2C, adresa I2C MMA8452Q je 0x1C (28)

I2CDevice zariadenie = bus.getDevice (0x1C);

// Odoslanie pohotovostného príkazu

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

// Odoslať aktívny príkaz

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

// Nastavte rozsah až +/- 2 g

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

Thread.sleep (500);

// Prečítajte 7 bajtov údajov z adresy 0x00 (0)

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

bajt dáta = nový bajt [7];

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

// Previesť hodnoty

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

ak (xAccl> 2047)

{

xAccl = xAccl - 4096;

}

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

ak (yAccl> 2047)

{

yAccl = yAccl - 4096;

}

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

ak (zAccl> 2047)

{

zAccl = zAccl - 4096;

}

// Výstup údajov na obrazovku

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

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

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

}

}

Krok 4: Aplikácie:

MMA8452Q má rôzne aplikácie, ktoré zahŕňajú aplikácie E-Compass, detekciu statickej orientácie, ktorá zahŕňa portrét/krajinu, hore/dole, vľavo/vpravo, identifikáciu polohy zozadu/spredu, notebook, elektronickú čítačku a detekciu pádu a voľného pádu notebooku, v reálnom čase detekcia orientácie vrátane virtuálnej reality a hier 3D spätná väzba o polohe užívateľa, analýza aktivít v reálnom čase, ako je počítanie krokov krokomerom, detekcia pádu voľného pádu pre pevný disk, zálohovanie GPS s mŕtvym zúčtovaním a mnoho ďalších.

Odporúča: