Índice:

Raspberry Pi - ADXL345 Acelerômetro de 3 eixos Java Tutorial: 4 etapas
Raspberry Pi - ADXL345 Acelerômetro de 3 eixos Java Tutorial: 4 etapas

Vídeo: Raspberry Pi - ADXL345 Acelerômetro de 3 eixos Java Tutorial: 4 etapas

Vídeo: Raspberry Pi - ADXL345 Acelerômetro de 3 eixos Java Tutorial: 4 etapas
Vídeo: Raspberry Pi ADXL345 3-Axis Accelerometer Java Tutorial 2024, Julho
Anonim
Image
Image

O ADXL345 é um acelerômetro de 3 eixos pequeno, fino e de potência ultrabaixa com medição de alta resolução (13 bits) de até ± 16 g. Os dados de saída digital são formatados como complemento de dois de 16 bits e são acessíveis por meio da interface digital I2C. Ele mede a aceleração estática da gravidade em aplicações de detecção de inclinação, bem como a aceleração dinâmica resultante de movimento ou choque. Sua alta resolução (3,9 mg / LSB) permite a medição de mudanças de inclinação inferiores a 1,0 °. Aqui está uma demonstração com raspberry pi usando código java.

Etapa 1: O que você precisa..

O que você precisa..!!
O que você precisa..!!

1. Raspberry Pi

2. ADXL345

3. Cabo I²C

4. Escudo I²C para Raspberry Pi

5. Cabo Ethernet

Etapa 2: Conexões:

Conexões
Conexões
Conexões
Conexões
Conexões
Conexões
Conexões
Conexões

Pegue um escudo I2C para raspberry pi e empurre-o suavemente sobre os pinos gpio de raspberry pi.

Em seguida, conecte uma extremidade do cabo I2C ao sensor ADXL345 e a outra extremidade à blindagem I2C.

Também conecte o cabo Ethernet ao pi ou você pode usar um módulo WiFi.

As conexões são mostradas na imagem acima.

Etapa 3: Código:

Código
Código

O código java para ADXL345 pode ser baixado de nosso repositório GitHub- Dcube Store

Aqui está o link para o mesmo:

github.com/DcubeTechVentures/ADXL345

Usamos a biblioteca pi4j para o código java, as etapas para instalar o pi4j no raspberry pi são descritas aqui:

pi4j.com/install.html

Você também pode copiar o código daqui, ele é fornecido da seguinte forma:

// Distribuído com uma licença de livre arbítrio.

// Use-o como quiser, com ou sem lucro, desde que se enquadre nas licenças das suas obras associadas.

// ADXL345

// Este código é projetado para funcionar com o Mini Módulo ADXL345_I2CS I2C disponível na Dcube Store.

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;

public class ADXL345

{

public static void main (String args ) lança exceção

{

// Criar barramento I2C

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

// Obter dispositivo I2C, o endereço I2C do dispositivo é 0x53 (83)

Dispositivo I2CDevice = Bus.getDevice (0x53);

// Selecione o registro de taxa de largura de banda

// Modo normal, taxa de dados de saída = 100 Hz

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

// Selecione o registro de controle de energia

// Desativar suspensão automática

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

// Selecionar registro de formato de dados

// Autoteste desabilitado, interface de 4 fios, resolução total, faixa = +/- 2g

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

Thread.sleep (500);

// Leia 6 bytes de dados

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

byte data = novo byte [6];

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

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

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

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

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

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

// Converta os dados para 10 bits

int xAccl = ((dados [1] e 0x03) * 256 + (dados [0] e 0xFF));

if (xAccl> 511)

{

xAccl - = 1024;

}

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

if (yAccl> 511)

{

yAccl - = 1024;

}

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

if (zAccl> 511)

{

zAccl - = 1024;

}

// Dados de saída para a tela

System.out.printf ("Aceleração no eixo X:% d% n", xAccl);

System.out.printf ("Aceleração no eixo Y:% d% n", yAccl);

System.out.printf ("Aceleração no eixo Z:% d% n", zAccl);

}

}

Etapa 4: Aplicativos:

ADXL345 é um acelerômetro de 3 eixos pequeno, fino e de potência ultrabaixa que pode ser empregado em aparelhos, instrumentação médica, etc. Sua aplicação também inclui dispositivos de jogo e apontadores, instrumentação industrial, dispositivos de navegação pessoal e proteção de unidade de disco rígido (HDD).

Recomendado: