Beskrivelse
ADXL345 er et lille 3-akset accelerometer med lav effekt med høj opløsning (13-bit) måling op til ± 16 g. Digitale outputdata er formateret som 16-bit. Kan læses via SPI eller I2C.
Til måling: statisk (tilt) og dynamisk (bevægelser/chok) acceleration.
Registrering af: tap, dobbelt tap, frit fald og tomgang.
ADXL345 specifikationer:
– Fungerer på: 2.0-3.6VDC.
– SPI og I2C interface.
Arduino kode eksempel:
#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);
}
Kun kunder, der er logget ind og har købt dette produkt, kan efterlade en anmeldelse.
Forsendelse inden for Holland
Dette produkt leveres via PostNL brevpost i en boblekuvert.- 3.45 € forsendelsesomkostninger for ordrer under 25 €.
- 2.95 € forsendelsesomkostninger for ordrer mellem 25 og 45 €.
- Ordrer over €45 vil blive accepteret
gratis sendt med PostNL brevpost.
Bestilte før 16:30 på hverdage, afsendes samme dag!
Klik her for omkostningerne uden for Holland.
Electronics4Fun (verificeret ejer) -
Fungerer også meget godt med I2c, til kode og bibliotek google: AdaFruit. Følsomhed kan indstilles via software mellem 2 og 16 G. Måler nøjagtigt bevægelser x, y, z. Mulighederne omfatter kontrol af spil, servoer, måling af acceleration og deceleration, bankning, dobbelttapping, positionen af din robot, for eksempel, er den på hovedet, sidelæns, kører den op eller ned af en skråning, vipper, lokaliserer kollisioner. Men også til for eksempel at måle i hvilken position din garageport er åben, eller hvor langt et hængslet vindue vippes, kan du endda bruge det til at bygge et elektronisk vaterpas. Det er en sensor til 1001 muligheder. Alt, hvad der bevæger sig, accelererer, sænker farten, bevæger sig i en bestemt vinkel, kan måles meget nøjagtigt.