Advertisement
fazekaszoli

Untitled

Jan 22nd, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.13 KB | None | 0 0
  1. #include <Wire.h>
  2. #include <Adafruit_Sensor.h>
  3. #include <Adafruit_ADXL345_U.h>
  4.  
  5. /* Assign a unique ID to this sensor at the same time */
  6. Adafruit_ADXL345_Unified accel = Adafruit_ADXL345_Unified(12345);
  7.  
  8. void displaySensorDetails(void)
  9. {
  10. sensor_t sensor;
  11. accel.getSensor(&sensor);
  12. Serial.println("------------------------------------");
  13. Serial.print ("Sensor: "); Serial.println(sensor.name);
  14. Serial.print ("Driver Ver: "); Serial.println(sensor.version);
  15. Serial.print ("Unique ID: "); Serial.println(sensor.sensor_id);
  16. Serial.print ("Max Value: "); Serial.print(sensor.max_value); Serial.println(" m/s^2");
  17. Serial.print ("Min Value: "); Serial.print(sensor.min_value); Serial.println(" m/s^2");
  18. Serial.print ("Resolution: "); Serial.print(sensor.resolution); Serial.println(" m/s^2");
  19. Serial.println("------------------------------------");
  20. Serial.println("");
  21. delay(500);
  22. }
  23.  
  24. void displayDataRate(void)
  25. {
  26. Serial.print ("Data Rate: ");
  27.  
  28. switch(accel.getDataRate())
  29. {
  30. case ADXL345_DATARATE_3200_HZ:
  31. Serial.print ("3200 ");
  32. break;
  33. case ADXL345_DATARATE_1600_HZ:
  34. Serial.print ("1600 ");
  35. break;
  36. case ADXL345_DATARATE_800_HZ:
  37. Serial.print ("800 ");
  38. break;
  39. case ADXL345_DATARATE_400_HZ:
  40. Serial.print ("400 ");
  41. break;
  42. case ADXL345_DATARATE_200_HZ:
  43. Serial.print ("200 ");
  44. break;
  45. case ADXL345_DATARATE_100_HZ:
  46. Serial.print ("100 ");
  47. break;
  48. case ADXL345_DATARATE_50_HZ:
  49. Serial.print ("50 ");
  50. break;
  51. case ADXL345_DATARATE_25_HZ:
  52. Serial.print ("25 ");
  53. break;
  54. case ADXL345_DATARATE_12_5_HZ:
  55. Serial.print ("12.5 ");
  56. break;
  57. case ADXL345_DATARATE_6_25HZ:
  58. Serial.print ("6.25 ");
  59. break;
  60. case ADXL345_DATARATE_3_13_HZ:
  61. Serial.print ("3.13 ");
  62. break;
  63. case ADXL345_DATARATE_1_56_HZ:
  64. Serial.print ("1.56 ");
  65. break;
  66. case ADXL345_DATARATE_0_78_HZ:
  67. Serial.print ("0.78 ");
  68. break;
  69. case ADXL345_DATARATE_0_39_HZ:
  70. Serial.print ("0.39 ");
  71. break;
  72. case ADXL345_DATARATE_0_20_HZ:
  73. Serial.print ("0.20 ");
  74. break;
  75. case ADXL345_DATARATE_0_10_HZ:
  76. Serial.print ("0.10 ");
  77. break;
  78. default:
  79. Serial.print ("???? ");
  80. break;
  81. }
  82. Serial.println(" Hz");
  83. }
  84.  
  85. void displayRange(void)
  86. {
  87. Serial.print ("Range: +/- ");
  88.  
  89. switch(accel.getRange())
  90. {
  91. case ADXL345_RANGE_16_G:
  92. Serial.print ("16 ");
  93. break;
  94. case ADXL345_RANGE_8_G:
  95. Serial.print ("8 ");
  96. break;
  97. case ADXL345_RANGE_4_G:
  98. Serial.print ("4 ");
  99. break;
  100. case ADXL345_RANGE_2_G:
  101. Serial.print ("2 ");
  102. break;
  103. default:
  104. Serial.print ("?? ");
  105. break;
  106. }
  107. Serial.println(" g");
  108. }
  109.  
  110. void setup(void)
  111. {
  112. Serial.begin(9600);
  113. Serial.println("Accelerometer Test"); Serial.println("");
  114.  
  115. /* Initialise the sensor */
  116. if(!accel.begin())
  117. {
  118. /* There was a problem detecting the ADXL345 ... check your connections */
  119. Serial.println("Ooops, no ADXL345 detected ... Check your wiring!");
  120. while(1);
  121. }
  122.  
  123. /* Set the range to whatever is appropriate for your project */
  124. accel.setRange(ADXL345_RANGE_16_G);
  125. // displaySetRange(ADXL345_RANGE_8_G);
  126. // displaySetRange(ADXL345_RANGE_4_G);
  127. // displaySetRange(ADXL345_RANGE_2_G);
  128.  
  129. /* Display some basic information on this sensor */
  130. displaySensorDetails();
  131.  
  132. /* Display additional settings (outside the scope of sensor_t) */
  133. displayDataRate();
  134. displayRange();
  135. Serial.println("");
  136. }
  137.  
  138. void loop(void)
  139. {
  140. /* Get a new sensor event */
  141. sensors_event_t event;
  142. accel.getEvent(&event);
  143.  
  144. /* Display the results (acceleration is measured in m/s^2) */
  145. Serial.print("X: "); Serial.print(event.acceleration.x); Serial.print(" ");
  146. Serial.print("Y: "); Serial.print(event.acceleration.y); Serial.print(" ");
  147. Serial.print("Z: "); Serial.print(event.acceleration.z); Serial.print(" ");Serial.println("m/s^2 ");
  148. delay(500);
  149. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement