-
Notifications
You must be signed in to change notification settings - Fork 707
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
154 additions
and
61 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,153 @@ | ||
#include <Wire.h> | ||
#include <Adafruit_Sensor.h> | ||
#include <Adafruit_ADXL343.h> | ||
|
||
/* Assign a unique ID to this sensor at the same time */ | ||
/* Uncomment following line for default Wire bus */ | ||
Adafruit_ADXL343 accel = Adafruit_ADXL343(12345); | ||
|
||
/* NeoTrellis M4, etc. */ | ||
/* Uncomment following line for Wire1 bus */ | ||
//Adafruit_ADXL343 accel = Adafruit_ADXL343(12345, &Wire1); | ||
|
||
void displaySensorDetails(void) | ||
{ | ||
sensor_t sensor; | ||
accel.getSensor(&sensor); | ||
Serial.println("------------------------------------"); | ||
Serial.print ("Sensor: "); Serial.println(sensor.name); | ||
Serial.print ("Driver Ver: "); Serial.println(sensor.version); | ||
Serial.print ("Unique ID: "); Serial.println(sensor.sensor_id); | ||
Serial.print ("Max Value: "); Serial.print(sensor.max_value); Serial.println(" m/s^2"); | ||
Serial.print ("Min Value: "); Serial.print(sensor.min_value); Serial.println(" m/s^2"); | ||
Serial.print ("Resolution: "); Serial.print(sensor.resolution); Serial.println(" m/s^2"); | ||
Serial.println("------------------------------------"); | ||
Serial.println(""); | ||
delay(500); | ||
} | ||
|
||
void displayDataRate(void) | ||
{ | ||
Serial.print ("Data Rate: "); | ||
|
||
switch(accel.getDataRate()) | ||
{ | ||
case ADXL343_DATARATE_3200_HZ: | ||
Serial.print ("3200 "); | ||
break; | ||
case ADXL343_DATARATE_1600_HZ: | ||
Serial.print ("1600 "); | ||
break; | ||
case ADXL343_DATARATE_800_HZ: | ||
Serial.print ("800 "); | ||
break; | ||
case ADXL343_DATARATE_400_HZ: | ||
Serial.print ("400 "); | ||
break; | ||
case ADXL343_DATARATE_200_HZ: | ||
Serial.print ("200 "); | ||
break; | ||
case ADXL343_DATARATE_100_HZ: | ||
Serial.print ("100 "); | ||
break; | ||
case ADXL343_DATARATE_50_HZ: | ||
Serial.print ("50 "); | ||
break; | ||
case ADXL343_DATARATE_25_HZ: | ||
Serial.print ("25 "); | ||
break; | ||
case ADXL343_DATARATE_12_5_HZ: | ||
Serial.print ("12.5 "); | ||
break; | ||
case ADXL343_DATARATE_6_25HZ: | ||
Serial.print ("6.25 "); | ||
break; | ||
case ADXL343_DATARATE_3_13_HZ: | ||
Serial.print ("3.13 "); | ||
break; | ||
case ADXL343_DATARATE_1_56_HZ: | ||
Serial.print ("1.56 "); | ||
break; | ||
case ADXL343_DATARATE_0_78_HZ: | ||
Serial.print ("0.78 "); | ||
break; | ||
case ADXL343_DATARATE_0_39_HZ: | ||
Serial.print ("0.39 "); | ||
break; | ||
case ADXL343_DATARATE_0_20_HZ: | ||
Serial.print ("0.20 "); | ||
break; | ||
case ADXL343_DATARATE_0_10_HZ: | ||
Serial.print ("0.10 "); | ||
break; | ||
default: | ||
Serial.print ("???? "); | ||
break; | ||
} | ||
Serial.println(" Hz"); | ||
} | ||
|
||
void displayRange(void) | ||
{ | ||
Serial.print ("Range: +/- "); | ||
|
||
switch(accel.getRange()) | ||
{ | ||
case ADXL343_RANGE_16_G: | ||
Serial.print ("16 "); | ||
break; | ||
case ADXL343_RANGE_8_G: | ||
Serial.print ("8 "); | ||
break; | ||
case ADXL343_RANGE_4_G: | ||
Serial.print ("4 "); | ||
break; | ||
case ADXL343_RANGE_2_G: | ||
Serial.print ("2 "); | ||
break; | ||
default: | ||
Serial.print ("?? "); | ||
break; | ||
} | ||
Serial.println(" g"); | ||
} | ||
|
||
void setup(void) | ||
{ | ||
Serial.begin(9600); | ||
while (!Serial); | ||
Serial.println("Accelerometer Test"); Serial.println(""); | ||
|
||
/* Initialise the sensor */ | ||
if(!accel.begin()) | ||
{ | ||
/* There was a problem detecting the ADXL343 ... check your connections */ | ||
Serial.println("Ooops, no ADXL343 detected ... Check your wiring!"); | ||
while(1); | ||
} | ||
|
||
/* Set the range to whatever is appropriate for your project */ | ||
accel.setRange(ADXL343_RANGE_16_G); | ||
// accel.setRange(ADXL343_RANGE_8_G); | ||
// accel.setRange(ADXL343_RANGE_4_G); | ||
// accel.setRange(ADXL343_RANGE_2_G); | ||
|
||
/* Display some basic information on this sensor */ | ||
displaySensorDetails(); | ||
displayDataRate(); | ||
displayRange(); | ||
Serial.println(""); | ||
} | ||
|
||
void loop(void) | ||
{ | ||
/* Get a new sensor event */ | ||
sensors_event_t event; | ||
accel.getEvent(&event); | ||
|
||
/* Display the results (acceleration is measured in m/s^2) */ | ||
Serial.print("X: "); Serial.print(event.acceleration.x); Serial.print(" "); | ||
Serial.print("Y: "); Serial.print(event.acceleration.y); Serial.print(" "); | ||
Serial.print("Z: "); Serial.print(event.acceleration.z); Serial.print(" ");Serial.println("m/s^2 "); | ||
delay(500); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters