Módulo de Aceleración para Funduino - ADXL345

€11,95
Agregar al carrito
  • SKU:: FUN-KS0012
  • Tipo:: Arduino - Funduino
  • Marca:: Keyestudio

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