Obsah:

Raspberry Pi - 3osý akcelerometr ADXL345 Java Výukový program: 4 kroky
Raspberry Pi - 3osý akcelerometr ADXL345 Java Výukový program: 4 kroky

Video: Raspberry Pi - 3osý akcelerometr ADXL345 Java Výukový program: 4 kroky

Video: Raspberry Pi - 3osý akcelerometr ADXL345 Java Výukový program: 4 kroky
Video: ADXL345 Accelerometer Visualization 2024, Červenec
Anonim
Image
Image

ADXL345 je malý, tenký, ultralehký, 3osý akcelerometr s měřením s vysokým rozlišením (13 bitů) až ± 16 g. Data digitálního výstupu jsou formátována jako 16bitová dvojčata a jsou přístupná prostřednictvím digitálního rozhraní I2 C. Měří statické gravitační zrychlení v aplikacích snímajících náklon i dynamické zrychlení způsobené pohybem nebo šokem. Jeho vysoké rozlišení (3,9 mg/LSB) umožňuje měření změn sklonu menší než 1,0 °. Zde je ukázka s malinou pi pomocí kódu Java.

Krok 1: Co potřebujete..

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

1. Raspberry Pi

2. ADXL345

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 ADXL345 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

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

Zde je odkaz na totéž:

github.com/DcubeTechVentures/ADXL345

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.

// ADXL345

// Tento kód je navržen tak, aby fungoval s mini modulem ADXL345_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 ADXL345

{

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 zařízení I2C je 0x53 (83)

I2CDevice zařízení = Bus.getDevice (0x53);

// Vyberte registr šířky pásma

// Normální režim, výstupní datový tok = 100 Hz

device.write (0x2C, (byte) 0x0A);

// Vyberte registr řízení napájení

// Vypnutí automatického spánku

device.write (0x2D, (byte) 0x08);

// Vyberte Registrovat formát dat

// Automatický test deaktivován, 4vodičové rozhraní, plné rozlišení, rozsah = +/- 2 g

device.write (0x31, (byte) 0x08);

Thread.sleep (500);

// Přečíst 6 bajtů dat

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

byte data = nový byte [6];

data [0] = (byte) device.read (0x32);

data [1] = (byte) device.read (0x33);

data [2] = (byte) device.read (0x34);

data [3] = (byte) device.read (0x35);

data [4] = (byte) device.read (0x36);

data [5] = (byte) device.read (0x37);

// Převeďte data na 10 bitů

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

if (xAccl> 511)

{

xAccl -= 1024;

}

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

if (yAccl> 511)

{

yAccl -= 1024;

}

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

if (zAccl> 511)

{

zAccl -= 1024;

}

// Výstup dat na obrazovku

System.out.printf ("Zrychlení v ose X: %d %n", xAccl);

System.out.printf ("Zrychlení v ose Y: %d %n", yAccl);

System.out.printf ("Zrychlení v ose Z: %d %n", zAccl);

}

}

Krok 4: Aplikace:

ADXL345 je malý, tenký, ultralehký, 3osý akcelerometr, který lze použít v mobilních telefonech, lékařských přístrojích atd. Jeho aplikace také zahrnuje herní a polohovací zařízení, průmyslové přístroje, osobní navigační zařízení a ochranu pevného disku (HDD).

Doporučuje: