GY-291 Acelerómetro Digital ADXL345 de 3 Ejes y Comunicacion I2C/SPI compatible con Arduino

https://hifisac.com/web/image/product.template/1465/image_1920?unique=ce38858
(0 reseña)
SKU: ADXL345

S/ 12.70 12.700000000000001 PEN S/ 12.70 IGV Incluido

S/ 12.70 IGV Incluido

No está disponible para venta

    Esta combinación no existe.

    Disponible el: 11/12/2025
    Sin existencias.
    Correo electrónico inválido
    Te avisaremos cuando el producto vuelva a estar disponible.
    Agregado a su lista de deseos

    Términos y Condiciones
    Sobre Garantía y Devoluciones

    Sensor ADXL345

    El ADXL345 es un acelerómetro de 3 ejes digital de bajo consumo y alta resolución (13 bits), capaz de medir hasta ±16 g. Integra FIFO, generación de interrupciones por movimiento/orientación y se comunica por I²C o SPI.

    Características principales
    • Rango de aceleración: ±2 g/±4 g/±8 g/±16 g (configurable)
    • Resolución: hasta 13 bits (~4 mg/LSB en modo full-res)
    • Interfaz: I²C (hasta 400 kHz) y SPI de 4 hilos (hasta 5 MHz)
    • Consumo: ~23 µA en medición continua a 10 Hz
    • Frecuencia de muestreo: 0.1 Hz–3.2 kHz
    • FIFO interno de 32 niveles
    • Alimentación: 2.0–3.6 V
    • Dimensiones del chip: 3 × 5 × 1 mm
    Aplicaciones típicas
    • Detección de orientación y gestos en dispositivos portátiles
    • Control de juegos y realidad virtual
    • Monitoreo de vibraciones y choque en maquinaria
    • Sistemas de navegación inercial
    • Detección de caídas en wearables y equipos médicos
    Ejemplo de uso con Arduino
    1. Conexiones de hardware (modo I²C)
      • VCC → 3.3 V del Arduino
      • GND → GND del Arduino
      • SDA → A4 (línea de datos I²C)
      • SCL → A5 (línea de reloj I²C)
      • CS → 3.3 V (selecciona I²C)
      • SDO → GND (dirección I²C = 0x53; a 3.3 V cambia a 0x1D)
    2. Código de ejemplo
      #include <Wire.h>
      #define ADXL345_ADDR 0x53
      
      void writeRegister(uint8_t reg, uint8_t value) {
        Wire.beginTransmission(ADXL345_ADDR);
        Wire.write(reg);
        Wire.write(value);
        Wire.endTransmission();
      }
      
      void readAcceleration(int16_t &x, int16_t &y, int16_t &z) {
        Wire.beginTransmission(ADXL345_ADDR);
        Wire.write(0x32); // dirección del registro DATAX0
        Wire.endTransmission(false);
        Wire.requestFrom(ADXL345_ADDR, 6);
        uint8_t buff[6];
        for (int i = 0; i < 6; i++) buff[i] = Wire.read();
        x = (int16_t)(buff[1] << 8 | buff[0]);
        y = (int16_t)(buff[3] << 8 | buff[2]);
        z = (int16_t)(buff[5] << 8 | buff[4]);
      }
      
      void setup() {
        Serial.begin(9600);
        Wire.begin();
        writeRegister(0x2D, 0x08); // POWER_CTL: activa medición
        writeRegister(0x31, 0x08); // DATA_FORMAT: full-res ±2g
      }
      
      void loop() {
        int16_t xRaw, yRaw, zRaw;
        readAcceleration(xRaw, yRaw, zRaw);
        float scale = 0.0039; // 4 mg/LSB
        Serial.print("X: "); Serial.print(xRaw * scale); Serial.print(" g  ");
        Serial.print("Y: "); Serial.print(yRaw * scale); Serial.print(" g  ");
        Serial.print("Z: "); Serial.println(zRaw * scale); Serial.print(" g");
        delay(500);
      }
      
    Disclaimer

    La información proporcionada por nosotros se ofrece con fines educativos y de orientación. No nos hacemos responsables de daños, pérdidas materiales ni imprecisiones en mediciones para aplicaciones críticas.