Chatea con nosotros si tienes alguna pregunta.
Módulo de aceleración ADXL345 de tres ejes para ARDUINO
Módulo de aceleración ADXL345 de tres ejes para ARDUINO
Módulo de aceleración ADXL345 de tres ejes para ARDUINO
Módulo de aceleración ADXL345 de tres ejes para ARDUINO
Módulo de aceleración ADXL345 de tres ejes para ARDUINO

Módulo de aceleración ADXL345 de tres ejes para ARDUINO

KS0012

Nuevo

Módulo de aceleración ADXL345 de tres ejes para ARDUINO. Marca Keyestudio.

DISPONIBLE PARA ENTREGA INMEDIATA.
24.000 $
Cantidad

Comprar por WhatsApp

DESCRIPCIÓN

El ADXL345 es un módulo sensor pequeño, delgado, de bajo consumo. Es un acelerómetro de 3 ejes MEMS con alta resolución (13 bits) de medición en hasta +16 g.

El dato de salida digital se formateado como dos complementos de 16 bits y se puede acceder ya sea a través de una interfaz digital SPI (3 o 4 hilos) o I2C. El ADXL345 es muy adecuado para medir la aceleración estática de la gravedad en aplicaciones de detección de inclinación, así como la aceleración dinámica resultante del movimiento o choque. Su alta resolución (4 mg / LSB) permite medir los cambios de inclinación inferiores a 1,0 grado.

File:121.png

canal

CARACTERÍSTICAS

  • Tensión de alimentación: 2.0 - 3.6VDC.
  • Comsumo ultra bajo: 40uA en estado de medición y 0.1uA en estado de reposo a 2.5V
  • Detección de Tap / Double Tap
  • Detección de caída libre
  • Interfaces SPI e I2C
  • Tamaño: 30 * 20m m
  • Peso: 3g

CONEXIONES

CÓDIGO DE BÁSICO DE PRUEBA

/*
The circuit:
 VCC: 5V
 GND: ground
 SCL: UNO SLC
 SDA: UNO SDA
 
 Este código de ejemplo es de dominio público.

*/
#include <Wire.h>
// Registers for ADXL345
#define ADXL345_ADDRESS (0xA6 >> 1)  // address for device is 8 bit but shift to the
                                     // right by 1 bit to make it 7 bit because the
                                     // wire library only takes in 7 bit addresses
#define ADXL345_REGISTER_XLSB (0x32)

int accelerometer_data[3];
// void because this only tells the cip to send data to its output register
// writes data to the slave's buffer
void i2c_write(int address, byte reg, byte data) {
  // Send output register address
  Wire.beginTransmission(address);
  // Connect to device
  Wire.write(reg);
  // Send data
  Wire.write(data); //low byte
  Wire.endTransmission();
}

// void because using pointers
// microcontroller reads data from the sensor's input register
void i2c_read(int address, byte reg, int count, byte* data) {
  // Used to read the number of data received
  int i = 0;
  // Send input register address
  Wire.beginTransmission(address);
  // Connect to device
  Wire.write(reg);
  Wire.endTransmission();

  // Connect to device
  Wire.beginTransmission(address);
  // Request data from slave
  // Count stands for number of bytes to request
  Wire.requestFrom(address, count);
  while(Wire.available()) // slave may send less than requested
  {
    char c = Wire.read(); // receive a byte as character
    data[i] = c;
    i++;
  }
  Wire.endTransmission();
}

void init_adxl345() {
  byte data = 0;

  i2c_write(ADXL345_ADDRESS, 0x31, 0x0B);   // 13-bit mode  +_ 16g
  i2c_write(ADXL345_ADDRESS, 0x2D, 0x08);   // Power register


  i2c_write(ADXL345_ADDRESS, 0x1E, 0x00);   // x
  i2c_write(ADXL345_ADDRESS, 0x1F, 0x00);   // Y
  i2c_write(ADXL345_ADDRESS, 0x20, 0x05);   // Z
 
  // Check to see if it worked!
  i2c_read(ADXL345_ADDRESS, 0X00, 1, &data);
  if(data==0xE5)
    Serial.println("it work Success");
  else
    Serial.println("it work Fail");
}

void read_adxl345() {
  byte bytes[6];
  memset(bytes,0,6);

  // Read 6 bytes from the ADXL345
  i2c_read(ADXL345_ADDRESS, ADXL345_REGISTER_XLSB, 6, bytes);
  // Unpack data
  for (int i=0;i<3;++i) {
    accelerometer_data[i] = (int)bytes[2*i] + (((int)bytes[2*i + 1]) << 8);
  }
}
// initialise and start everything
void setup() {
  Wire.begin();
  Serial.begin(9600);
  for(int i=0; i<3; ++i) {
    accelerometer_data[i]  = 0;
  }
  init_adxl345();
}


void loop() {
  read_adxl345();
  Serial.print("ACCEL: ");
  Serial.print(float(accelerometer_data[0])*3.9/1000);//3.9mg/LSB scale factor in 13-bit mode
  Serial.print("\t");
  Serial.print(float(accelerometer_data[1])*3.9/1000);
  Serial.print("\t");
  Serial.print(float(accelerometer_data[2])*3.9/1000);
  Serial.print("\n");
  delay(100);
}

KS0012

Referencias específicas

Novedad.....

16 otros productos en la misma categoría:

    

Boletín

Ingrese su correo