https://github.com/stm32duino/lsm6dso
Arduino library to support the LSM6DSO 3D accelerometer and 3D gyroscope
https://github.com/stm32duino/lsm6dso
Last synced: 4 months ago
JSON representation
Arduino library to support the LSM6DSO 3D accelerometer and 3D gyroscope
- Host: GitHub
- URL: https://github.com/stm32duino/lsm6dso
- Owner: stm32duino
- Created: 2019-02-26T16:21:53.000Z (about 6 years ago)
- Default Branch: main
- Last Pushed: 2024-02-16T17:45:05.000Z (about 1 year ago)
- Last Synced: 2024-02-16T18:47:19.307Z (about 1 year ago)
- Language: C
- Size: 167 KB
- Stars: 14
- Watchers: 6
- Forks: 10
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# LSM6DSO
Arduino library to support the LSM6DSO 3D accelerometer and 3D gyroscope## API
This sensor uses I2C or SPI to communicate.
For I2C it is then required to create a TwoWire interface before accessing to the sensors:TwoWire dev_i2c(I2C_SDA, I2C_SCL);
dev_i2c.begin();For SPI it is then required to create a SPI interface before accessing to the sensors:
SPIClass dev_spi(SPI_MOSI, SPI_MISO, SPI_SCK);
dev_spi.begin();An instance can be created and enabled when the I2C bus is used following the procedure below:
LSM6DSOSensor AccGyr(&dev_i2c);
AccGyr.begin();
AccGyr.Enable_X();
AccGyr.Enable_G();An instance can be created and enabled when the SPI bus is used following the procedure below:
LSM6DSOSensor AccGyr(&dev_spi, CS_PIN);
AccGyr.begin();
AccGyr.Enable_X();
AccGyr.Enable_G();The access to the sensor values is done as explained below:
Read accelerometer and gyroscope.
int32_t accelerometer[3];
int32_t gyroscope[3];
AccGyr.Get_X_Axes(accelerometer);
AccGyr.Get_G_Axes(gyroscope);# Examples
There are several examples with the LSM6DSO library.
* LSM6DSO_HelloWorld: This application provides a simple example of usage of the LSM6DSO
IMU 6-axis. It shows how to display on a hyperterminal the values of the sensor.
* LSM6DSO_6DOrientation: This application shows how to use the LSM6DSO accelerometer
to find out the 6D orientation and display data on a hyperterminal.
* LSM6DSO_FreeFallDetection: This application shows how to detect the free fall event using the
LSM6DSO accelerometer.
* LSM6DSO_Pedometer: This application shows how to use the LSM6DSO accelerometer
to count steps.
* LSM6DSO_SingleTap: This application shows how to detect the single tap event using the
LSM6DSO accelerometer.
* LSM6DSO_DoubleTap: This application shows how to detect the double tap event using the
LSM6DSO accelerometer.
* LSM6DSO_TiltDetection: This application shows how to detect the tilt event using the
LSM6DSO accelerometer.
* LSM6DSO_WakeUpDetection: This application shows how to detect the wake-up event using the
LSM6DSO accelerometer.## Documentation
You can find the source files at
https://github.com/stm32duino/LSM6DSOThe LSM6DSO datasheet is available at
https://www.st.com/content/st_com/en/products/mems-and-sensors/inemo-inertial-modules/lsm6dso.html