123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- #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);
- }
|