bclose

Sensor de impactos

Prometec.net Foros Proyectos Sensor de impactos

Etiquetado: ,

Este debate contiene 2 respuestas, tiene 2 mensajes y lo actualizó  rafatipe hace 8 meses.

Viendo 3 publicaciones - del 1 al 3 (de un total de 3)
  • Autor
    Publicaciones
  • #17771

    rafatipe
    Participante

    Hola, estoy intentando crear con un Mega un sensor de impactos. Para ello tengo un ADXL345 y un MPU6050. El problema es que por mas que busco por Google sólo encuentro ejemplos con estos sensores para que midan el ángulo de inclinación. Yo lo que quiero es medir la aceleración en Gs para poder registrar los impactos y saber cuando ha recibido un impacto fuerte.
    ¿Alguien podría ponerme un link o algún ejemplo?
    Muchas gracias.

    #18109

    Manuel
    Participante

    Hola rafatipe.

    Interesante objetivo.

    Yo personalmente no tengo experiencia con acelerómetros por lo que no sé ahora mismo como maneja los tipos de magnitudes.

    En cualquier caso los ángulos, tanto angulares como lineales, se encuentran relacionados con la velocidad como otra magnitud que puede influir en ellos.

    Seguramente vas a tener que tirar de algo de física y matemáticas para ver como convertir un ángulo de desplazamiento en un determinado período de tiempo, en velocidad.

    Tan solo animarte y espero nos cuentes avances.

    #18157

    rafatipe
    Participante

    Por si a alguien le sirve:
    Con el sensor MPU5060 y su correspondiente librería es muy fácil, solo hay que leer los datos de cada eje y después dividir los valores por 16384. Estoy trabajando solo con acelerómetro y en escala de 16g.
    Ejemplo:
    // Librerias I2C para controlar el mpu6050
    // la libreria MPU6050.h necesita I2Cdev.h, I2Cdev.h necesita Wire.h
    #include “I2Cdev.h”
    #include “MPU6050.h”
    #include “Wire.h”

    // La dirección del MPU6050 puede ser 0x68 o 0x69, dependiendo
    // del estado de AD0. Si no se especifica, 0x68 estará implicito
    MPU6050 sensor;

    // Valores RAW (sin procesar) del acelerometro y giroscopio en los ejes x,y,z
    int ax, ay, az;

    void setup()
    {
    Serial.begin(57600); //Iniciando puerto serial
    Wire.begin(); //Iniciando I2C
    sensor.setFullScaleAccelRange(MPU6050_ACCEL_FS_16); //Ajuste de escala
    delay (1000);
    sensor.initialize(); //Iniciando el sensor

    }

    void loop()
    {
    // Leer las aceleraciones y velocidades angulares
    sensor.getAcceleration(&ax, &ay, &az);

    float ax_g = ax /16384.0;
    float ay_g = ay /16384.0;
    float az_g = az /16384.0;

    //Mostrar las lecturas separadas por un [tab]

    Serial.print(ax_g); Serial.print(“\t”);
    Serial.print(ay_g); Serial.print(“\t”);
    Serial.println(az_g); Serial.print(“\t”);

    delay(100);
    }

Viendo 3 publicaciones - del 1 al 3 (de un total de 3)

Debes estar registrado para responder a este debate.