Keyestudio

Módulo de Aceleración para Funduino - ADXL345

€6,65 €8,75

Módulo de Aceleración para Funduino - ADXL345

€6,65 €8,75
Disponibilidad:
- +
Detalles del producto
  • SKU: FUN-KS0012
  • Marca: Keyestudio
  • Tipo: Robotica e prototipagem
  • Disponibilidad: En stock
Descripción
Especificaciones:
Voltaje: 2.0-3.6VDC
Energía ultrabaja: 40uA en modo de medición, 0.1uA en espera a 2.5V
Detección de toque/doble toque
Detección de caída libre
SPI y las interfaces I2C
Dimensiones: 30x20 mm
Peso: 3g

Código de muestra
/*
El circuito:
VCC: 5V
TIERRA: tierra
SCL: MU SLC
SDA: UN SDA
Este código de ejemplo es de dominio público.
*/
#incluir
// registra para ADXL345
#define ADXL345_ADDRESS (0xA6 >> 1) // la dirección del dispositivo es de 8 bits, pero cambia a
// a la derecha por 1 bit para marcar 7 porque el bit
// Conecte en la biblioteca solo direcciones de 7 bits
# definir ADXL345_REGISTER_XLSB (0x32)
int acelerómetro_datos [3];
// vaciar esto porque solo cuenta el CIP para enviar datos al registro de salida su
// escribir datos en el búfer del esclavo
void i2c_write (dirección int, byte de registro, byte de datos) {
// Enviar salida de dirección de registro
Wire.beginTransmission(dirección);
// conectar al dispositivo
Alambre.escribir(reg);
// enviar datos
Wire.write(fecha); // byte bajo
Cable.endTransmission();
}
// void porque usa punteros
// el microcontrolador lee los datos del registro de entrada del sensor
void i2c_read(dirección int, registro de bytes, conteo int, byte * datos) {
// Usado para leer el número de datos recibidos
int i = 0;
// Enviar la dirección del registro de entrada
Wire.beginTransmission(dirección);
// conectar al dispositivo
Alambre.escribir(reg);
Cable.endTransmission();
// conectar al dispositivo
Wire.beginTransmission(dirección);
// Solicitar datos del esclavo
// Count significa el número de bytes a solicitar
Wire.requestFrom(dirección, cuenta);
while (Wire.disponible ()) // el esclavo puede enviar menos de lo solicitado
{
char c = Cable.read(); // recibir un byte como
datos de caracteres [i] = c;
yo ++;
}
Cable.endTransmission();
}
vacío init_adxl345() {
datos de bytes = 0;
i2c_write(ADXL345_DIRECCIÓN, 0x31, 0x0B); // modo de 13 bits + _ 16g
i2c_write(ADXL345_ADDRESS, 0x2D, ​​??0x08); // registro de energía
i2c_write(ADXL345_DIRECCIÓN, 0x1E, 0x00); // X
i2c_write(ADXL345_DIRECCIÓN, 0x1F, 0x00); // Y
i2c_write(ADXL345_DIRECCIÓN, 0x20, 0x05); //Z
// ¡Compruebe si funcionó!
i2c_read(ADXL345_ADDRESS, 0X00, 1 y datos);
si (datos == 0xE5)
Serial.println("El éxito funciona");
demás
Serial.println("Funciona Fallo");
}
anular read_adxl345()
{
bytes bytes [6];
conjunto de memoria(bytes, 0,6);
// Leer 6 bytes de ADXL345
i2c_read (ADXL345_ADDRESS, ADXL345_REGISTER_XLSB, 6 bytes);
// descomprimir datos
for (int i = 0; i acelerometer_data [i] = (int) bytes [2 * i] + (((int) bytes [2 * i + 1])}
}
// inicializamos y empezamos todo
configuración vacía() {
Alambre.begin();
Serial.begin(9600);
for (int i = 0; i acelerometer_data [i] = 0;
}
init_adxl345();
}
bucle vacío() {
leer_adxl345();
Serial.imprimir("ACCEL");
Serial.print (([0]) * 3.9 / 1000 float acelerometer_data); // Factor de escala de 3,9 mg/LSB en modo de 13 bits
Serial.imprimir("t");
Serial.print(float(accelerometer_data[1])*3.9/1000);
Serial.imprimir("t");
Serial.print(float(accelerometer_data[2])*3.9/1000);
Serial.imprimir("n");
retraso (100);
}

Enlace: http://wiki.keyestudio.com/index.php/Ks0012_keyestudio_ADXL345_Three_Axis_Acceleration_Module
loader
Opiniones de los usuarios