Spisu treści:

Raspberry Pi MMA8452Q 3-osiowy 12-bitowy/8-bitowy cyfrowy akcelerometr Samouczek Java: 4 kroki
Raspberry Pi MMA8452Q 3-osiowy 12-bitowy/8-bitowy cyfrowy akcelerometr Samouczek Java: 4 kroki

Wideo: Raspberry Pi MMA8452Q 3-osiowy 12-bitowy/8-bitowy cyfrowy akcelerometr Samouczek Java: 4 kroki

Wideo: Raspberry Pi MMA8452Q 3-osiowy 12-bitowy/8-bitowy cyfrowy akcelerometr Samouczek Java: 4 kroki
Wideo: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Java Tutorial 2024, Listopad
Anonim
Image
Image

MMA8452Q to inteligentny, energooszczędny, trójosiowy, pojemnościowy akcelerometr z 12-bitową rozdzielczością. Elastyczne opcje programowalne przez użytkownika są dostarczane za pomocą wbudowanych funkcji w akcelerometrze, konfigurowalnych do dwóch styków przerwań. Posiada wybierane przez użytkownika pełne skale ±2g/±4g/±8g z filtrowanymi danymi filtra górnoprzepustowego, a także niefiltrowanymi danymi dostępnymi w czasie rzeczywistym. Oto jego demonstracja z raspberry pi przy użyciu kodu java.

Krok 1: Czego potrzebujesz.

Czego potrzebujesz..!!
Czego potrzebujesz..!!

1. Raspberry Pi

2. MMA8452Q

3. Kabel I²C

4. Osłona I²C dla Raspberry Pi

5. Kabel Ethernet

Krok 2: Połączenia:

Znajomości
Znajomości
Znajomości
Znajomości
Znajomości
Znajomości
Znajomości
Znajomości

Weź nakładkę I2C dla raspberry pi i delikatnie nałóż ją na piny gpio raspberry pi.

Następnie podłącz jeden koniec kabla I2C do czujnika MMA8452Q, a drugi koniec do ekranu I2C.

Podłącz również kabel Ethernet do pi lub możesz użyć modułu WiFi.

Połączenia prezentuje powyższy obrazek.

Krok 3: Kod:

Kod
Kod

Kod Java dla MMA8452Q można pobrać z naszego repozytorium GitHub – sklep Dcube

Oto link do tego samego:

github.com/DcubeTechVentures/MMA8452Q

Użyliśmy biblioteki pi4j do kodu java, kroki instalacji pi4j na raspberry pi są opisane tutaj:

pi4j.com/install.html

Możesz również skopiować kod stąd, jest on podany w następujący sposób:

// Rozprowadzane z wolną licencją.

// Używaj go w dowolny sposób, z zyskiem lub za darmo, pod warunkiem, że pasuje do licencji powiązanych z nim dzieł.

// MMA8452Q

// Ten kod jest przeznaczony do współpracy z modułem MMA8452Q_I2CS I2C Mini dostępnym w sklepie Dcube Store.

importuj com.pi4j.io.i2c. I2CBus;

importuj com.pi4j.io.i2c. I2CDurządzenie;

importuj com.pi4j.io.i2c. I2CFabryka;

import java.io. IOException;

klasa publiczna MMA8452Q

{

public static void main(String args) wyrzuca Wyjątek

{

// Utwórz magistralę I2C

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

// Pobierz urządzenie I2C, adres MMA8452Q I2C to 0x1C(28)

Urządzenie I2CDevice = bus.getDevice(0x1C);

// Wyślij polecenie gotowości

urządzenie.write(0x2A, (bajt)0x00);

// Wyślij aktywne polecenie

urządzenie.write(0x2A, (bajt)0x01);

// Ustaw zakres do +/-2g

urządzenie.write(0x0E, (bajt)0x00);

Wątek.sen(500);

// Odczytaj 7 bajtów danych z adresu 0x00(0)

// Stan, X msb, X lsb, Y msb, Y lsb, Z msb, Z lsb

bajt dane = nowy bajt[7];

urządzenie.odczyt(0x00, dane, 0, 7);

// Konwertuj wartości

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

jeśli (xAccl > 2047)

{

xAccl = xAccl - 4096;

}

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

jeśli (yAccl > 2047)

{

yAccl = yAccl - 4096;

}

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

jeśli (zAccl > 2047)

{

zZaw = zZaw - 4096;

}

// Prześlij dane na ekran

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

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

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

}

}

Krok 4: Aplikacje:

MMA8452Q ma różne aplikacje, w tym aplikacje E-kompas, wykrywanie orientacji statycznej, która obejmuje orientację pionową/poziomą, góra/dół, lewo/prawo, tył/przód, notebook, czytnik e-booków oraz wykrywanie upadku i upadku laptopa, w czasie rzeczywistym wykrywanie orientacji, w tym wirtualna rzeczywistość i informacje zwrotne o pozycji użytkownika w grach 3D, analiza aktywności w czasie rzeczywistym, taka jak liczenie kroków krokomierza, wykrywanie swobodnego spadania na dysk twardy, kopia zapasowa GPS z funkcją martwego liczenia i wiele więcej.

Zalecana: