Índice:

Raspberry Pi MMA8452Q 3 eixos 12 bits / 8 bits acelerômetro digital Python Tutorial: 4 etapas
Raspberry Pi MMA8452Q 3 eixos 12 bits / 8 bits acelerômetro digital Python Tutorial: 4 etapas

Vídeo: Raspberry Pi MMA8452Q 3 eixos 12 bits / 8 bits acelerômetro digital Python Tutorial: 4 etapas

Vídeo: Raspberry Pi MMA8452Q 3 eixos 12 bits / 8 bits acelerômetro digital Python Tutorial: 4 etapas
Vídeo: BeagleBone Black MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer 'C' Code Tutorial 2024, Novembro
Anonim
Image
Image

O MMA8452Q é um acelerômetro microusinado, capacitivo, capacitivo, de baixo consumo de energia e 12 bits de resolução. Opções flexíveis programáveis pelo usuário são fornecidas com o auxílio de funções embutidas no acelerômetro, configuráveis para dois pinos de interrupção. Possui escalas completas selecionáveis pelo usuário de ± 2g / ± 4g / ± 8g com dados filtrados por filtro passa-alta, bem como dados não filtrados disponíveis em tempo real. Aqui está sua demonstração com raspberry pi usando código python.

Etapa 1: O que você precisa..

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

1. Raspberry Pi

2. MMA8452Q

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 MMA8452Q 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 python para MMA8452Q pode ser baixado de nosso repositório github- ControlEverythingCommunity

Aqui está o link.

Usamos a biblioteca SMBus para o código python. As etapas para instalar o SMBus no raspberry pi são descritas aqui:

pypi.python.org/pypi/smbus-cffi/0.5.1

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 da forma que quiser, com ou sem lucro, desde que se enquadre nas licenças das suas obras associadas.

# MMA8452Q

# Este código foi desenvolvido para funcionar com o Mini Módulo MMA8452Q_I2CS I2C.

import smbus

tempo de importação

# Pegue o ônibus I2C

bus = smbus. SMBus (1)

# Endereço MMA8452Q, 0x1C (28)

# Selecione o registro de controle, 0x2A (42)

# 0x00 (00) Modo de espera

bus.write_byte_data (0x1C, 0x2A, 0x00)

# Endereço MMA8452Q, 0x1C (28)

# Selecione o registro de controle, 0x2A (42)

# 0x01 (01) Modo ativo

bus.write_byte_data (0x1C, 0x2A, 0x01)

# Endereço MMA8452Q, 0x1C (28)

# Selecione o registro de configuração, 0x0E (14)

# 0x00 (00) Defina o intervalo para +/- 2g

bus.write_byte_data (0x1C, 0x0E, 0x00)

tempo.sono (0,5)

# Endereço MMA8452Q, 0x1C (28)

# Leia os dados de 0x00 (0), 7 bytes

# Registro de status, Eixo X MSB, Eixo X LSB, Eixo Y MSB, Eixo Y LSB, Eixo Z MSB, Eixo Z LSB

data = bus.read_i2c_block_data (0x1C, 0x00, 7)

# Converta os dados

xAccl = (dados [1] * 256 + dados [2]) / 16

se xAccl> 2047:

xAccl - = 4096

yAccl = (dados [3] * 256 + dados [4]) / 16

se yAccl> 2047:

yAccl - = 4096 z

Accl = (dados [5] * 256 + dados [6]) / 16

se zAccl> 2047:

zAccl - = 4096

# Dados de saída para a tela

print "Aceleração no eixo X:% d"% xAccl

print "Aceleração no eixo Y:% d"% yAccl

print "Aceleração no eixo Z:% d"% zAccl

Etapa 4: Aplicativos:

MMA8452Q tem vários aplicativos que incluem aplicativos E-Compass, detecção de orientação estática que incorpora Retrato / Paisagem, Para cima / Para baixo, Esquerda / Direita, Identificação da posição traseira / frontal, Notebook, e-reader e Detecção de queda e queda livre do laptop, em tempo real detecção de orientação, incluindo realidade virtual e feedback de posição do usuário em jogos 3D, análise de atividade em tempo real, como contagem de passos de pedômetro, detecção de queda livre para HDD, backup de GPS com estimativa de peso e muito mais.

Recomendado: