Chatea con nosotros si tienes alguna pregunta.
Sensor de inclinación de aceleración digital Triaxial
Sensor de inclinación de aceleración digital Triaxial
Sensor de inclinación de aceleración digital Triaxial
Sensor de inclinación de aceleración digital Triaxial
Sensor de inclinación de aceleración digital Triaxial
Sensor de inclinación de aceleración digital Triaxial
Sensor de inclinación de aceleración digital Triaxial

Sensor de inclinación de aceleración digital Triaxial

KS0270

Nuevo

Sensor de inclinación de aceleración digital Triaxial MMA8452Q. Marca Keyestudio

DISPONIBLE PARA ENTREGA INMEDIATA.
23.000 $
Cantidad

Comprar por WhatsApp

DESCRIPCIÓN

El MMA8452Q es un sensor de aceleración de micromáquina capacitivo inteligente de baja potencia y tres ejes con resolución de 12 bits. Este sensor de aceleración tiene un rico rendimiento integrado, presentado con opciones flexibles programables por el usuario y dos configuraciones de pines de interrupción. La función de interrupción integrada puede ahorrar el consumo total de energía y eliminar la carga de sondear constantemente los datos en el procesador principal.

Además, MMA8452Q tiene un rango opcional de usuario de ± 2g / ± 4g / ± 8g, que puede generar datos de filtrado de paso alto y datos no filtrados en tiempo real. Este dispositivo puede configurar una función incorporada para generar una señal de interrupción de activación inercial, que permite a MMA8452Q mantener un modo de baja energía en estado estático mientras se monitorea el evento.

pulgar

canal

CARACTERÍSTICAS

  • Voltaje de la fuente de alimentación: 1.95 V a 3.6 V
  • Voltaje de la interfaz: 1.6 V a 3.6 V
  • ± 2g / ± 4g / ± 8g rango dinámico opcional
  • Rango de velocidad de datos de salida (ODR): 1.56 Hz a 800 Hz
  • Ruido: 99μg / √Hz
  • Salidas digitales de 12 bits y 8 bits;
  • Interfaz de salida digital I2C (hasta 2.25 MHz cuando la resistencia de pull-up es 4.7 kΩ);
  • Dos pines de interrupción programables aplicados a seis fuentes de interrupción;
  • Tres canales integrados de detección de movimiento: detección de caída libre, detección de pulso, detección de temblor;
  • Detección de dirección (transversal / longitudinal) con ajuste de compensación de retardo;
  • La activación automática y la ODR auto-inactiva pueden modificarse automáticamente;
  • Los datos de filtrado de paso alto se pueden exportar en tiempo real;
  • Consumo de energía: 6 μA - 165 μA 

DIAGRAMA DE CONEXIÓN

pulgar

CÓDIGO DE PRUEBA

#include <Wire.h> // Debe incluir la biblioteca Wire para I2C
#include <SparkFun_MMA8452Q.h> // Incluye la biblioteca SFE_MMA8452Q
// Comience a usar la biblioteca creando una instancia del MMA8452Q
// clase. Lo llamaremos "aceleración". Eso es lo que haremos referencia de
// aquí en adelante.
MMA8452Q accel;
// La función de configuración simplemente comienza en serie e inicializa
// acelerómetro.
Configuración de vacío ()
{
  Serial.begin (9600);
  Serial.println ("Código de prueba MMA8452Q");
  
  // ¡Elige tu aventura! Hay algunas opciones cuando se trata
  // para inicializar el MMA8452Q:
  // 1. init predeterminado. Esto establecerá el acelerómetro
  // con un rango de escala completa de +/- 2g y una velocidad de datos de salida
  // de 800 Hz (más rápido).
  accel.init ();
  // 2. Inicializar con la configuración FULL-SCALE. Puedes establecer la escala
  // usando SCALE_2G, SCALE_4G o SCALE_8G como valor.
  // Eso establecerá la escala en +/- 2g, 4g u 8g respectivamente.
  //accel.init(SCALE_4G); // Descomenta esto si lo deseas
  // 3. Inicializar con FULL-SCALE y DATA RATE. Si tu
  // quiere control sobre qué tan rápido produce su acelerómetro
  // los datos utilizan una de las siguientes opciones en el segundo parámetro:
  // ODR_800, ODR_400, ODR_200, ODR_100, ODR_50, ODR_12,
  // ODR_6, o ODR_1. 
  // Establece en 800, 400, 200, 100, 50, 12.5, 6.25 o 1.56 Hz.
  //accel.init(SCALE_8G, ODR_6);
}

// La función de bucle simplemente buscará nuevos datos de la
// acelerómetro e imprímelo si está disponible.
void loop ()
{
  // Usa la función accel.available () para esperar nuevos datos
  // desde el acelerómetro.
  if (accel.available ())
  {
    // Primero, use acel.read () para leer las nuevas variables:
    accel.read ();
    
    // accel.read () actualizará dos conjuntos de variables. 
    // * int's x, yyz almacenarán los valores de 12 bits firmados 
    // lectura del acelerómetro.
    // * floats cx, cy y cz almacenarán el cálculo 
    // aceleración a partir de esos valores de 12 bits. Estas variables
    // están en unidades de g.
    // Verifique las dos declaraciones de funciones a continuación para ver un ejemplo
    // de cómo usar estas variables.
    printCalculatedAccels ();
    // printAccels (); // Descomentamiento para imprimir lecturas digitales
    
    // La biblioteca también admite la detección de retrato / paisaje
    // del MMA8452Q. Echa un vistazo a esta declaración de función para
    // un ejemplo de cómo usar eso.
    printOrientation ();
    
    Serial.println (); // Imprimir nueva línea cada vez.
  }
}

// La función demuestra cómo usar accel.x, accel.y y
// variables accel.z
// Antes de usar estas variables debes llamar a accel.read ()
// función!
void printAccels ()
{
  Serial.print (accel.x, 3);
  Serial.print ("\ t");
  Serial.print (accel.y, 3);
  Serial.print ("\ t");
  Serial.print (accel.z, 3);
  Serial.print ("\ t");
}

// Esta función demuestra cómo usar el archivo accel.cx, accel.cy,
// y las variables accel.cz
// Antes de usar estas variables debes llamar a accel.read ()
// función!
void printCalculatedAccels ()
{ 
  Serial.print (accel.cx, 3);
  Serial.print ("\ t");
  Serial.print (accel.cy, 3);
  Serial.print ("\ t");
  Serial.print (accel.cz, 3);
  Serial.print ("\ t");
}

// Esta función demuestra cómo usar el archivo accel.readPL ()
// función, que lee el estado de retrato / paisaje de
// sensor.
void printOrientation ()
{
  // accel.readPL () devolverá un byte que contiene información
  // sobre la orientación del sensor. Será cualquiera
  // PORTRAIT_U, PORTRAIT_D, LANDSCAPE_R, LANDSCAPE_L o
  // LOCKOUT.
  byte pl = accel.readPL ();
  interruptor (pl)
  {
  caso PORTRAIT_U:
    Serial.print ("Portrait Up");
    descanso;
  estuche PORTRAIT_D:
    Serial.print ("Portrait Down");
    descanso;
  caso LANDSCAPE_R:
    Serial.print ("Paisaje a la derecha");
    descanso;
  caso LANDSCAPE_L:
    Serial.print ("Paisaje a la izquierda");
    descanso;
  caso LOCKOUT:
    Serial.print ("Flat");
    descanso;
  }
}
 

RESULTADO DE LA PRUEBA

Cablee como el diagrama anterior y grabe el código, luego de encenderlo, luego abra el monitor serie para mostrar la aceleración triaxial del sensor y su estado, como se muestra en el gráfico a continuación.


pulgar

DESCARGAS DE AYUDA


KS0270

Referencias específicas

Novedad.....

productos relacionados

16 otros productos en la misma categoría:

    

Boletín

Ingrese su correo