Taula de continguts:

Raspberry Pi - Tutorial de Java accelerador de 3 eixos ADXL345: 4 passos
Raspberry Pi - Tutorial de Java accelerador de 3 eixos ADXL345: 4 passos

Vídeo: Raspberry Pi - Tutorial de Java accelerador de 3 eixos ADXL345: 4 passos

Vídeo: Raspberry Pi - Tutorial de Java accelerador de 3 eixos ADXL345: 4 passos
Vídeo: Raspberry Pi ADXL345 3-Axis Accelerometer Java Tutorial 2024, Juliol
Anonim
Image
Image

L’ADXL345 és un acceleròmetre de 3 eixos petit, prim i ultralleuger, de 3 eixos, amb una resolució d’alta resolució (13 bits) de fins a ± 16 g. Les dades de sortida digital es formaten com a complement de dos bits de 16 bits i són accessibles a través de la interfície digital I2 C. Mesura l’acceleració estàtica de la gravetat en aplicacions de detecció d’inclinació, així com l’acceleració dinàmica resultant del moviment o xoc. La seva alta resolució (3,9 mg / LSB) permet mesurar canvis d’inclinació inferiors a 1,0 °. Aquí teniu una demostració amb raspberry pi mitjançant codi Java.

Pas 1: el que necessiteu..

Què necessites..!!
Què necessites..!!

1. Raspberry Pi

2. ADXL345

3. Cable I²C

4. Escut I²C per a Raspberry Pi

5. Cable Ethernet

Pas 2: connexions:

Connexions
Connexions
Connexions
Connexions
Connexions
Connexions
Connexions
Connexions

Agafeu un escut I2C per a raspberry pi i passeu-lo suaument per sobre dels pins gpio de raspberry pi.

A continuació, connecteu un extrem del cable I2C al sensor ADXL345 i l’altre extrem a l’escut I2C.

Connecteu també el cable Ethernet al pi o podeu utilitzar un mòdul WiFi.

Les connexions es mostren a la imatge superior.

Pas 3: Codi:

Codi
Codi

El codi Java per a ADXL345 es pot descarregar des del nostre dipòsit GitHub - Dcube Store

Aquí teniu l’enllaç per al mateix:

github.com/DcubeTechVentures/ADXL345

Hem utilitzat la biblioteca pi4j per al codi Java; aquí es descriuen els passos per instal·lar pi4j al raspberry pi:

pi4j.com/install.html

També podeu copiar el codi des d’aquí, es dóna de la següent manera:

// Distribuïda amb llicència de lliure voluntat.

// Utilitzeu-lo de la manera que vulgueu, sense ànim de lucre o de franc, sempre que encaixi en les llicències de les obres associades.

// ADXL345

// Aquest codi està dissenyat per funcionar amb el mini mòdul ADXL345_I2CS I2C disponible a Dcube Store.

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

importació java.io. IOException;

classe pública ADXL345

{

public static void main (String args ) llança Excepció

{

// Crea un bus I2C

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

// Obteniu el dispositiu I2C, l'adreça I2C del dispositiu és 0x53 (83)

I2CDevice device = Bus.getDevice (0x53);

// Seleccioneu registre de taxa d'amplada de banda

// Mode normal, velocitat de dades de sortida = 100 Hz

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

// Seleccioneu Registre de control de potència

// Desactiva el mode de repòs automàtic

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

// Seleccioneu Registre de format de dades

// Autotest desactivat, interfície de 4 fils, resolució completa, abast = +/- 2g

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

Thread.sleep (500);

// Llegiu 6 bytes de dades

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

byte dades = byte nou [6];

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

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

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

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

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

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

// Converteix les dades a 10 bits

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

if (xAccl> 511)

{

xAccl - = 1024;

}

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

if (yAccl> 511)

{

yAccl - = 1024;

}

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

if (zAccl> 511)

{

zAccl - = 1024;

}

// Sortiu les dades a la pantalla

System.out.printf ("Acceleració a l'eix X:% d% n", xAccl);

System.out.printf ("Acceleració a l'eix Y:% d% n", yAccl);

System.out.printf ("Acceleració a l'eix Z:% d% n", zAccl);

}

}

Pas 4: aplicacions:

L'ADXL345 és un acceleròmetre de 3 eixos petit, prim i de poca potència, que es pot utilitzar en telèfons mòbils, instrumentació mèdica, etc.

Recomanat: