Description
ADXL345 est un petit accéléromètre à 3 axes à faible consommation avec une mesure haute résolution (13 bits) jusqu'à ± 16 g. Les données de sortie numérique sont formatées en 16 bits. Peut être lu via SPI ou I2C.
Pour mesurer : accélérations statiques (inclinaison) et dynamiques (mouvements/chocs).
Détection de : tapotement, double tapotement, chute libre et ralenti.
Spécifications ADXL345 :
– Fonctionne sur : 2.0-3.6VDC.
–Interfaces SPI et I2C.
Exemple de code Arduino :
#include <SPI.h>
int CS=10;
//This is a list of some of the registers available on the ADXL345.
char POWER_CTL = 0x2D; //Power Control Register
char DATA_FORMAT = 0x31;
char DATAX0 = 0x32; //X-Axis Data 0
char DATAX1 = 0x33; //X-Axis Data 1
char DATAY0 = 0x34; //Y-Axis Data 0
char DATAY1 = 0x35; //Y-Axis Data 1
char DATAZ0 = 0x36; //Z-Axis Data 0
char DATAZ1 = 0x37; //Z-Axis Data 1
char values[10];
int x,y,z;
void setup(){
SPI.begin();
SPI.setDataMode(SPI_MODE3);
Serial.begin(9600);
pinMode(CS, OUTPUT);
digitalWrite(CS, HIGH);
//Put the ADXL345 into +/- 4G range by writing the value 0x01 to the DATA_FORMAT register.
writeRegister(DATA_FORMAT, 0x01);
//Put the ADXL345 into Measurement Mode by writing 0x08 to the POWER_CTL register.
writeRegister(POWER_CTL, 0x08); //Measurement mode
}
void loop(){
readRegister(DATAX0, 6, values);
x = ((int)values[1]<<8)|(int)values[0];
y = ((int)values[3]<<8)|(int)values[2];
z = ((int)values[5]<<8)|(int)values[4];
Serial.print(x, DEC);
Serial.print(',');
Serial.print(y, DEC);
Serial.print(',');
Serial.println(z, DEC);
delay(10);
}
//This function will write a value to a register on the ADXL345.
void writeRegister(char registerAddress, char value){
digitalWrite(CS, LOW);
SPI.transfer(registerAddress);
SPI.transfer(value);
digitalWrite(CS, HIGH);
}
//This function will read a certain number of registers starting from a specified address and store their values in a buffer.
void readRegister(char registerAddress, int numBytes, char * values){
char address = 0x80 | registerAddress;
if(numBytes > 1)address = address | 0x40;
digitalWrite(CS, LOW);
SPI.transfer(address);
for(int i=0; i<numBytes; i++){
values[i] = SPI.transfer(0x00);
}
digitalWrite(CS, HIGH);
}
Seuls les clients connectés ayant acheté ce produit peuvent rédiger un avis.
Expédition aux Pays-Bas
Ce produit est livré par courrier postal PostNL dans une enveloppe à bulles.- 3.45 € de frais de port pour les commandes inférieures à 25 €.
- 2.95 € de frais de port pour les commandes comprises entre 25 et 45 €.
- Les commandes supérieures à 45 € seront acceptées
gratuitement envoyé par la poste aux lettres PostNL.
Commandé avant 16h30 les jours ouvrables, expédié le jour même !
Cliquez ici pour connaître les coûts en dehors des Pays-Bas.
Électronique4Fun (propriétaire vérifié) -
Fonctionne également très bien avec I2c, pour le code et la bibliothèque google : AdaFruit. La sensibilité peut être réglée via un logiciel entre 2 et 16 G. Mesure avec précision les mouvements x, y, z. Les options incluent le contrôle des jeux, des servos, la mesure de l'accélération et de la décélération, le tapotement, le double tapotement, la position de votre robot, par exemple, est-il à l'envers, sur le côté, monte ou descend une pente, s'incline, localise les collisions. Mais aussi pour mesurer, par exemple, dans quelle position votre porte de garage est ouverte, ou jusqu'où est inclinée une fenêtre battante, vous pouvez même l'utiliser pour construire un niveau à bulle électronique. C'est un capteur aux 1001 possibilités. Tout ce qui bouge, accélère, ralentit, se déplace selon un certain angle peut être mesuré avec une grande précision.