Especificações: 
Voltagem: 2.0-3.6VDC
Ultra Low Power: 40uA em modo de medição, 0.1uA em standby @ 2.5V 
Tap / Double Tap Detecção 
de queda livre Detecção 
SPI e as interfaces I2C 
Dimensões: 30 x20 mm 
Peso: 3g 
Código de exemplo 
/ * 
A circuito: 
VCC: 5V 
GND: solo 
SCL: UM SLC 
SDA: UM SDA 
Este código de exemplo é de domínio público. 
* / 
#include
// registos para ADXL345 
#define ADXL345_ADDRESS (0xA6 >> 1) // endereço para o dispositivo é de 8 bits, mas mudar para o 
// direita por 1 bit para marcar 7 Porque o pouco 
// Toma fio na biblioteca só 7 endereços bit 
# define ADXL345_REGISTER_XLSB (0x32) 
int accelerometer_data [3]; 
// vazio ESTA Porque só conta a CIP para enviar dados para a saída registrar seu 
// grava dados para o buffer do escravo 
i2c_write void (endereço int, reg byte, dados byte) { 
// Enviar saída de endereço registo 
Wire.beginTransmission (endereço); 
// Conecte ao dispositivo 
Wire.write (reg); 
// Envie dados 
Wire.write (data); // byte baixo
Wire.endTransmission (); 
} 
// void porque usando ponteiros 
// microcontrolador lê dados do registro de entrada do sensor 
void i2c_read (int endereço, byte reg, int count, byte * data) { 
// Usado para ler o número de dados recebidos 
int i = 0; 
// Envia o endereço do registro de entrada 
Wire.beginTransmission (address); 
// Conecte ao dispositivo 
Wire.write (reg); 
Wire.endTransmission (); 
// Conecte ao dispositivo 
Wire.beginTransmission (endereço); 
// Solicitar dados do escravo 
// Count significa número de bytes para solicitar 
Wire.requestFrom (address, count); 
while (Wire.available ()) // slave pode enviar menos do que o solicitado 
{
char c = Wire.read (); // recebe um byte como 
dados de caractere [i] = c; 
i ++; 
} 
Wire.endTransmission (); 
} 
void init_adxl345 () { 
byte data = 0; 
i2c_write (ADXL345_ADDRESS, 0x31, 0x0B); // modo de 13 bits + _ 16g 
i2c_write (ADXL345_ADDRESS, 0x2D, ??0x08); // Registro de energia 
i2c_write (ADXL345_ADDRESS, 0x1E, 0x00); // x 
i2c_write (ADXL345_ADDRESS, 0x1F, 0x00); // Y 
i2c_write (ADXL345_ADDRESS, 0x20, 0x05); // Z 
// Verifique se funcionou! 
i2c_read (ADXL345_ADDRESS, 0X00, 1 e dados); 
if (data == 0xE5) 
Serial.println (“funciona Sucesso”); 
else 
Serial.println (“funciona Fail”); 
}
void read_adxl345 () 
{ 
byte bytes [6]; 
memset (bytes, 0,6); 
// Leia 6 bytes da ADXL345 
i2c_read (ADXL345_ADDRESS, ADXL345_REGISTER_XLSB, 6 bytes); 
// dados Desembale 
para (int i = 0; i accelerometer_data [i] = (int) bytes [2 * i] + (((int) bytes [2 * i + 1])} 
} 
// inicializar e iniciar tudo 
vazio configuração () { 
Wire.begin (); 
Serial.begin (9600); 
para (int i = 0; i accelerometer_data [i] = 0; 
} 
init_adxl345 (); 
} 
vazio laço () { 
read_adxl345 (); 
Serial.print ( “ACCEL”); 
Serial.print (([0]) * 3.9 / 1000 flutuador accelerometer_data); // 3,9 mg / LSB factor de escala no modo de 13 bits
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”); 
atraso (100); 
} 
Link: http://wiki.keyestudio.com/index.php/Ks0012_keyestudio_ADXL345_Three_Axis_Acceleration_Module
 
				





 
				 
				 
				 
				 
				 
				 
				 
				 
				 
				 
				