STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
acceldemo.ino
Go to the documentation of this file.
1
2// Basic demo for accelerometer readings from Adafruit LIS3DH
3
4#include <Wire.h>
5#include <SPI.h>
6#include <Adafruit_LIS3DH.h>
7#include <Adafruit_Sensor.h>
8
9// Used for software SPI
10#define LIS3DH_CLK 13
11#define LIS3DH_MISO 12
12#define LIS3DH_MOSI 11
13// Used for hardware & software SPI
14#define LIS3DH_CS 10
15
16// software SPI
17//Adafruit_LIS3DH lis = Adafruit_LIS3DH(LIS3DH_CS, LIS3DH_MOSI, LIS3DH_MISO, LIS3DH_CLK);
18// hardware SPI
19//Adafruit_LIS3DH lis = Adafruit_LIS3DH(LIS3DH_CS);
20// Low Power 5Khz data rate needs faster SPI, and calling setPerformanceMode & setDataRate
21//Adafruit_LIS3DH lis = Adafruit_LIS3DH(LIS3DH_CS, 2000000);
22// I2C
24
25void setup(void) {
26 Serial.begin(115200);
27 while (!Serial) delay(10); // will pause Zero, Leonardo, etc until serial console opens
28
29 Serial.println("LIS3DH test!");
30
31 if (! lis.begin(0x18)) { // change this to 0x19 for alternative i2c address
32 Serial.println("Couldnt start");
33 while (1) yield();
34 }
35 Serial.println("LIS3DH found!");
36
37 // lis.setRange(LIS3DH_RANGE_4_G); // 2, 4, 8 or 16 G!
38
39 Serial.print("Range = "); Serial.print(2 << lis.getRange());
40 Serial.println("G");
41
42 // lis.setPerformanceMode(LIS3DH_MODE_LOW_POWER);
43 Serial.print("Performance mode set to: ");
44 switch (lis.getPerformanceMode()) {
45 case LIS3DH_MODE_NORMAL: Serial.println("Normal 10bit"); break;
46 case LIS3DH_MODE_LOW_POWER: Serial.println("Low Power 8bit"); break;
47 case LIS3DH_MODE_HIGH_RESOLUTION: Serial.println("High Resolution 12bit"); break;
48 }
49
50 // lis.setDataRate(LIS3DH_DATARATE_50_HZ);
51 Serial.print("Data rate set to: ");
52 switch (lis.getDataRate()) {
53 case LIS3DH_DATARATE_1_HZ: Serial.println("1 Hz"); break;
54 case LIS3DH_DATARATE_10_HZ: Serial.println("10 Hz"); break;
55 case LIS3DH_DATARATE_25_HZ: Serial.println("25 Hz"); break;
56 case LIS3DH_DATARATE_50_HZ: Serial.println("50 Hz"); break;
57 case LIS3DH_DATARATE_100_HZ: Serial.println("100 Hz"); break;
58 case LIS3DH_DATARATE_200_HZ: Serial.println("200 Hz"); break;
59 case LIS3DH_DATARATE_400_HZ: Serial.println("400 Hz"); break;
60
61 case LIS3DH_DATARATE_POWERDOWN: Serial.println("Powered Down"); break;
62 case LIS3DH_DATARATE_LOWPOWER_5KHZ: Serial.println("5 Khz Low Power"); break;
63 case LIS3DH_DATARATE_LOWPOWER_1K6HZ: Serial.println("1.6 Khz Low Power"); break;
64 }
65}
66
67void loop() {
68 lis.read(); // get X Y and Z data at once
69 // Then print out the raw data
70 Serial.print("X: "); Serial.print(lis.x);
71 Serial.print(" \tY: "); Serial.print(lis.y);
72 Serial.print(" \tZ: "); Serial.print(lis.z);
73
74 /* Or....get a new sensor event, normalized */
75 sensors_event_t event;
76 lis.getEvent(&event);
77
78 /* Display the results (acceleration is measured in m/s^2) */
79 Serial.print("\t\tX: "); Serial.print(event.acceleration.x);
80 Serial.print(" \tY: "); Serial.print(event.acceleration.y);
81 Serial.print(" \tZ: "); Serial.print(event.acceleration.z);
82 Serial.println(" m/s^2 ");
83
84 Serial.println();
85
86 delay(200);
87}
This is a library for the Adafruit LIS3DH Accel breakout board.
@ LIS3DH_DATARATE_LOWPOWER_5KHZ
@ LIS3DH_DATARATE_10_HZ
@ LIS3DH_DATARATE_25_HZ
@ LIS3DH_DATARATE_LOWPOWER_1K6HZ
@ LIS3DH_DATARATE_50_HZ
@ LIS3DH_DATARATE_400_HZ
@ LIS3DH_DATARATE_1_HZ
@ LIS3DH_DATARATE_200_HZ
@ LIS3DH_DATARATE_100_HZ
@ LIS3DH_DATARATE_POWERDOWN
@ LIS3DH_MODE_HIGH_RESOLUTION
@ LIS3DH_MODE_LOW_POWER
@ LIS3DH_MODE_NORMAL
static SerialStub Serial
Definition Arduino.h:128
Adafruit_LIS3DH lis
Definition acceldemo.ino:23
void setup(void)
Definition acceldemo.ino:25
void loop()
Definition acceldemo.ino:67
void delay(int ms)
Class that stores state and functions for interacting with Adafruit_LIS3DH.