Spisu treści:

Raspberry Pi - 3-osiowy akcelerometr ADXL345 Samouczek Java: 4 kroki
Raspberry Pi - 3-osiowy akcelerometr ADXL345 Samouczek Java: 4 kroki

Wideo: Raspberry Pi - 3-osiowy akcelerometr ADXL345 Samouczek Java: 4 kroki

Wideo: Raspberry Pi - 3-osiowy akcelerometr ADXL345 Samouczek Java: 4 kroki
Wideo: ADXL345 Accelerometer Visualization 2024, Listopad
Anonim
Image
Image

ADXL345 to mały, cienki, bardzo energooszczędny, 3-osiowy akcelerometr z pomiarem o wysokiej rozdzielczości (13-bitów) do ±16 g. Cyfrowe dane wyjściowe są sformatowane jako 16-bitowe uzupełnienie do dwójek i są dostępne przez interfejs cyfrowy I2 C. Mierzy statyczne przyspieszenie grawitacyjne w aplikacjach z wykrywaniem przechyłu, a także dynamiczne przyspieszenie wynikające z ruchu lub wstrząsu. Jego wysoka rozdzielczość (3,9 mg/LSB) umożliwia pomiar zmian nachylenia mniejszych niż 1,0°. Oto demonstracja z raspberry pi przy użyciu kodu java.

Krok 1: Czego potrzebujesz.

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

1. Raspberry Pi

2. ADXL345

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 ADXL345, 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 ADXL345 można pobrać z naszego repozytorium GitHub – sklep Dcube

Oto link do tego samego:

github.com/DcubeTechVentures/ADXL345

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ł.

// ADXL345

// Ten kod jest przeznaczony do współpracy z modułem ADXL345_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 ADXL345

{

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 urządzenia I2C to 0x53(83)

Urządzenie I2CDevice = Bus.getDevice(0x53);

// Wybierz rejestr przepustowości

// Tryb normalny, szybkość transmisji danych wyjściowych = 100 Hz

urządzenie.write(0x2C, (bajt)0x0A);

// Wybierz rejestr kontroli mocy

// Wyłączenie automatycznego uśpienia

urządzenie.write(0x2D, (bajt)0x08);

// Wybierz rejestr formatu danych

// Autotest wyłączony, interfejs 4-przewodowy, pełna rozdzielczość, zakres = +/-2g

urządzenie.write(0x31, (bajt)0x08);

Wątek.sen(500);

// Odczytaj 6 bajtów danych

// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb

bajt dane = nowy bajt[6];

dane[0] = (bajt)urządzenie.odczyt(0x32);

dane[1] = (bajt)urządzenie.odczyt(0x33);

dane[2] = (bajt)urządzenie.odczyt(0x34);

dane[3] = (bajt)urządzenie.odczyt(0x35);

dane[4] = (bajt)urządzenie.odczyt(0x36);

dane[5] = (bajt)urządzenie.odczyt(0x37);

// Konwertuj dane na 10-bitowe

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

if(xAccl > 511)

{

xAccl -= 1024;

}

int yAccl = ((dane[3] i 0x03) * 256 + (dane[2] i 0xFF));

if(yAccl > 511)

{

yAccl -= 1024;

}

int zAccl = ((dane[5] i 0x03) * 256 + (dane[4] i 0xFF));

if(zAccl > 511)

{

zAccl -= 1024;

}

// Prześlij dane na ekran

System.out.printf("Przyspieszenie w osi X: %d %n", xAccl);

System.out.printf("Przyspieszenie w osi Y: %d %n", yAccl);

System.out.printf("Przyspieszenie w osi Z: %d %n", zAccl);

}

}

Krok 4: Aplikacje:

ADXL345 jest małym, cienkim, 3-osiowym akcelerometrem o bardzo niskim poborze mocy, który może być stosowany w telefonach, oprzyrządowaniu medycznym itp. Jego zastosowanie obejmuje również urządzenia do gier i wskazujące, oprzyrządowanie przemysłowe, osobiste urządzenia nawigacyjne i ochronę dysku twardego (HDD).

Zalecana: