Índice:
Vídeo: Arduino Nano - MMA8452Q 3 eixos 12 bits / 8 bits acelerômetro digital Tutorial: 4 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:35
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 o Arduino nano.
Etapa 1: O que você precisa..
1. Arduino Nano
2. MMA8452Q
3. Cabo I²C
4. Escudo I²C para Arduino Nano
Etapa 2: Conexão:
Pegue um escudo I2C para Arduino Nano e empurre-o suavemente sobre os pinos do Nano.
Em seguida, conecte uma extremidade do cabo I2C ao sensor MMA8452Q e a outra extremidade à blindagem I2C.
As conexões são mostradas na imagem acima.
Etapa 3: Código:
O código do arduino para MMMA8452Q pode ser baixado de nosso repositório github - DCUBE Store.
Aqui está o link.
Incluímos a biblioteca Wire.h para facilitar a comunicação I2c do sensor com a placa Arduino.
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.
// MMA8452Q
// Este código foi projetado para funcionar com o Mini Módulo MMA8452Q_I2CS I2C.
#incluir
// O endereço MMA8452Q I2C é 0x1C (28)
#define Addr 0x1C
void setup ()
{
// Inicializar a comunicação I2C como MASTER
Wire.begin ();
// Inicialize a comunicação serial, defina a taxa de transmissão = 9600
Serial.begin (9600);
// Iniciar a transmissão I2C
Wire.beginTransmission (Addr);
// Selecione o registro de controle
Wire.write (0x2A);
// Modo de espera
Wire.write (0x00);
// Pare a transmissão I2C
Wire.endTransmission ();
// Iniciar a transmissão I2C
Wire.beginTransmission (Addr);
// Selecione o registro de controle
Wire.write (0x2A);
// Modo ativo
Wire.write (0x01);
// Pare a transmissão I2C
Wire.endTransmission ();
// Iniciar a transmissão I2C
Wire.beginTransmission (Addr);
// Selecione o registro de controle
Wire.write (0x0E);
// Defina o intervalo para +/- 2g
Wire.write (0x00);
// Pare a transmissão I2C
Wire.endTransmission ();
atraso (300);
}
void loop ()
{
dados internos não assinados [7];
// Solicita 7 bytes de dados
Wire.requestFrom (Addr, 7);
// Lê 7 bytes de dados
// staus, xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
if (Wire.available () == 7)
{
dados [0] = Wire.read ();
dados [1] = Wire.read ();
dados [2] = Wire.read ();
dados [3] = Wire.read ();
dados [4] = Wire.read ();
dados [5] = Wire.read ();
dados [6] = Wire.read ();
}
// Converta os dados para 12 bits
int xAccl = ((dados [1] * 256) + dados [2]) / 16;
if (xAccl> 2047)
{
xAccl - = 4096;
}
int yAccl = ((dados [3] * 256) + dados [4]) / 16;
if (yAccl> 2047)
{
yAccl - = 4096;
}
int zAccl = ((dados [5] * 256) + dados [6]) / 16;
if (zAccl> 2047)
{
zAccl - = 4096;
}
// Dados de saída para monitor serial
Serial.print ("Aceleração no eixo X:");
Serial.println (xAccl);
Serial.print ("Aceleração no eixo Y:");
Serial.println (yAccl);
Serial.print ("Aceleração no eixo Z:");
Serial.println (zAccl);
atraso (500);
}
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:
Raspberry Pi - ADXL345 Acelerômetro de 3 eixos Python Tutorial: 4 etapas
Raspberry Pi - ADXL345 Acelerômetro de 3 eixos em Python Tutorial: 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 o
Raspberry Pi - ADXL345 Acelerômetro de 3 eixos Java Tutorial: 4 etapas
Raspberry Pi - ADXL345 3-Axis Accelerometer Java Tutorial: O ADXL345 é um acelerômetro de 3 eixos pequeno, fino e ultrabaixo 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 o
Controle de movimento com Raspberry Pi e LIS3DHTR, acelerômetro de 3 eixos, usando Python: 6 etapas
Controle de movimento com Raspberry Pi e LIS3DHTR, acelerômetro de 3 eixos, usando Python: a beleza nos cerca, mas normalmente, precisamos estar caminhando em um jardim para conhecê-la. - RumiComo o grupo educado que parecemos ser, investimos a maior parte de nossa energia trabalhando antes de nossos PCs e telefones celulares. Portanto, frequentemente deixamos nosso bem
Acelerômetro de 3 eixos, ADXL345 com Raspberry Pi usando Python: 6 etapas
Acelerômetro de 3 eixos, ADXL345 com Raspberry Pi usando Python: pensando em um gadget que pode verificar o ponto em que seu Offroader está inclinado para persistir. Não seria agradável se alguém se ajustasse quando existe a possibilidade de tombar? Obviamente sim. Seria verdade
Módulo LIS2HH12 do acelerômetro de 3 eixos: 10 etapas (com imagens)
Módulo LIS2HH12 do acelerômetro de 3 eixos: Este Instructable é considerado nível iniciante com alguma experiência com software Arduino e solda. O Módulo LIS2HH12 é feito por Tiny9. A Tiny9 é uma nova empresa que está começando a vender módulos de sensores para funileiros, empresas ou inventores DIY. Lá