Kaluma library for MPU6050 6-axis motion sensor (3-axis accelerometer and 3-axis gyroscope).
Here is a wiring example for I2C0
.
Raspberry Pi Pico | MPU6050 |
---|---|
3V3 | VCC |
GND | GND |
GP4 (I2C0 SDA) | SDA |
GP5 (I2C0 SCL) | SCL |
npm install https://github.com/niklauslee/mpu6050
Here is an example code for reading raw data from MPU6050.
const {I2C} = require('i2c');
const i2c0 = new I2C(0);
const {MPU6050} = require('mpu6050');
const mpu = new MPU6050();
mpu.setup(i2c0);
setInterval(() => {
let v = mpu.read();
console.log(`ax=${v[0]},ay=${v[1]},az=${v[2]},gx=${v[4]},gy=${v[5]},gz=${v[6]},tmp=${v[3]}`);
}, 100);
A class for MPU6050.
Create an instance of MPU6050 driver.
i2c
<I2C>
An instance ofI2C
to communicate.
Setup MPU6050 for a given I2C bus.
- Returns:
<Int16Array[7]>
An array of 16-bit signed integer value. The elements of returned array are as below:[0]
: X-axis of accelerometer (16-bit signed int)[1]
: Y-axis of accelerometer (16-bit signed int)[2]
: Z-axis of accelerometer (16-bit signed int)[3]
: Temperature (16-bit signed int)[4]
: X-axis of gyroscope (16-bit signed int)[5]
: Y-axis of gyroscope (16-bit signed int)[6]
: Z-axis of gyroscope (16-bit signed int)
The returned values are raw data, so you may need to calibrate the raw data or apply some filters.