SparkFun Arduino UNO R4 WiFi Qwiic Kit Hookup Guide
Example 5: Triple Axis Accelerometer Breakout - BMA400 (Qwiic)
Library Installation
The SparkFun BMA400 Arduino Library is based off the API for the sensor from Bosch to let users get started reading data from the sensor and using the various interrupt options. Install the library through the Arduino Library Manager tool by searching for "SparkFun BMA400". Users who prefer to manually install the library can download a copy of it from the GitHub repository by clicking the button below:
Hardware Hookup
Plug one end of the Qwiic connector into the Qwiic port on the breakout board, and the other end into the Qwiic connector on the Arduino Uno R4 WiFi board like so:
Software Example
This example demonstrates how to set the BMA400 up to communicate basic motion data over I2C.
// Create a new sensor object BMA400 accelerometer; // I2C address selection uint8_t i2cAddress = BMA400_I2C_ADDRESS_DEFAULT; // 0x14 //uint8_t i2cAddress = BMA400_I2C_ADDRESS_SECONDARY; // 0x15 void setup() { // Start serial Serial.begin(115200); Serial.println("BMA400 Example 1 - Basic Readings I2C"); // Initialize the I2C library Wire1.begin(); // Check if sensor is connected and initialize // Address is optional (defaults to 0x14) while(accelerometer.beginI2C(i2cAddress, Wire1) != BMA400_OK) { // Not connected, inform user Serial.println("Error: BMA400 not connected, check wiring and I2C address!"); // Wait a bit to see if connection is established delay(1000); } Serial.println("BMA400 connected!"); } void loop() { // Get measurements from the sensor. This must be called before accessing // the acceleration data, otherwise it will never update accelerometer.getSensorData(); // Print acceleration data Serial.print("Acceleration in g's"); Serial.print("\t"); Serial.print("X: "); Serial.print(accelerometer.data.accelX, 3); Serial.print("\t"); Serial.print("Y: "); Serial.print(accelerometer.data.accelY, 3); Serial.print("\t"); Serial.print("Z: "); Serial.println(accelerometer.data.accelZ, 3); // Pause delay(2000); }
Select your Board and Port and click Upload. Open the serial monitor after the upload completes with the baud set to 115200 to watch motion data print out.
Move the sensor around in different directions and watch the acceleration data change with the motion.