You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -281,16 +281,16 @@ For this lab, we will be using a *digital sensor*, which is an *upgraded* versio
281
281
282
282

283
283
284
-
## MPU-6000 Inertial Measurement Unit
284
+
## MPU-6500 Inertial Measurement Unit
285
285
286
-
The **MPU-6000** is a *digital* gyroscope and accelerometer designed by InvenSense. It can be interfaced both with SPI and with I2C. This means that we can read the acceleration and angular velocity values directly from the registers of the MPU-6000 using SPI.
286
+
The **MPU-6500** is a *digital* gyroscope and accelerometer designed by InvenSense. It can be interfaced both with SPI and with I2C. This means that we can read the acceleration and angular velocity values directly from the registers of the MPU-6500 using SPI.
287
287
288
288
:::info
289
289
**[DATASHEET](https://invensense.tdk.com/wp-content/uploads/2020/06/PS-MPU-6500A-01-v1.3.pdf)**: Describes the chip and its capabilities. \
290
290
**[REGISTER MAP](https://invensense.tdk.com/wp-content/uploads/2015/02/MPU-6500-Register-Map2.pdf)**: Describes how to configure and get values from the sensor.
291
291
:::
292
292
293
-
### MPU-6000 Memory Map
293
+
### MPU-6500 Memory Map
294
294
295
295
| address (HEX) | Name | Access
296
296
|-|-|-|
@@ -315,7 +315,7 @@ The **MPU-6000** is a *digital* gyroscope and accelerometer designed by InvenSen
315
315
316
316
#### Registers
317
317
318
-
`WHO_AM_I` register - contains the ID of the MPU-6000
318
+
`WHO_AM_I` register - contains the ID of the MPU-6500
319
319
320
320
`GYRO_CONFIG` register - used for configuring the gyroscope
321
321
@@ -363,9 +363,9 @@ The values read from the sensor are 16-bit signed integers and must be interpret
363
363
:::
364
364
365
365
366
-
### MPU-6000 wiring
366
+
### MPU-6500 wiring
367
367
368
-
The MPU-6000 has 5 pins:
368
+
The MPU-6500 breakout board has the following pins:
369
369
370
370
| Pin | Function |
371
371
|-|-|
@@ -383,17 +383,17 @@ The MPU-6000 has 5 pins:
383
383

384
384
385
385
:::note
386
-
The MPU-6000 can also be interfaced through I2C, using the same pins but with different functions.
386
+
The MPU-6500 can also be interfaced through I2C, using the same pins but with different functions.
387
387
:::
388
388
389
389
:::note
390
-
The MPU-6000 can also act as an I2C master and communicate with external sensors. This functionality will be ignored.
390
+
The MPU-6500 can also act as an I2C master and communicate with external sensors. This functionality will be ignored.
391
391
:::
392
392
393
393
394
-
### Reading data from the MPU-6000 sensor using Embassy
394
+
### Reading data from the MPU-6500 sensor using Embassy
395
395
396
-
To get the data we want from the digital sensor, we need to access its internal registers. The MPU-6000 has some rules when it comes to reading and writing to these registers, that must be extracted from the [datasheets](https://invensense.tdk.com/products/motion-tracking/6-axis/mpu-6500/#documentation). Every sensor has different registers, and different ways of interfacing them, so reading the datasheet is usually required, especially when we don't have the leverage of using already existing libraries for these sensors.
396
+
To get the data we want from the digital sensor, we need to access its internal registers. The MPU-6500 has some rules when it comes to reading and writing to these registers, that must be extracted from the [datasheets](https://invensense.tdk.com/products/motion-tracking/6-axis/mpu-6500/#documentation). Every sensor has different registers, and different ways of interfacing them, so reading the datasheet is usually required, especially when we don't have the leverage of using already existing libraries for these sensors.
397
397
398
398
First, we make sure our SPI is initialized correctly.
399
399
@@ -440,7 +440,7 @@ let mut cs = Output::new(p.PIN_N, Level::High);
440
440
441
441
</Tabs>
442
442
443
-
In section 6.5 of the [datasheet](https://invensense.tdk.com/wp-content/uploads/2020/06/PS-MPU-6500A-01-v1.3.pdf), we get the information we need in order to read/write to a register of the MPU-6000.
443
+
In section 6.5 of the [datasheet](https://invensense.tdk.com/wp-content/uploads/2020/06/PS-MPU-6500A-01-v1.3.pdf), we get the information we need in order to read/write to a register of the MPU-6500.
@@ -644,11 +644,11 @@ Make sure to check out the [documentation](https://docs.rs/embedded-graphics/lat
644
644
645
645
## Exercises
646
646
647
-
1. Connect the MPU-6000 as described in the [wiring configuration](#mpu-6500-wiring) (**1p**)
648
-
2. Read and create a debug log with the [WHO_AM_I](#mpu-6000-memory-map) register. Does the result match the [data sheet](https://invensense.tdk.com/wp-content/uploads/2015/02/MPU-6500-Register-Map2.pdf)? (**1p**)
647
+
1. Connect the MPU-6500 as described in the [wiring configuration](#mpu-6500-wiring) (**1p**)
648
+
2. Read and create a debug log with the [WHO_AM_I](#mpu-6500-memory-map) register. Does the result match the [data sheet](https://invensense.tdk.com/wp-content/uploads/2015/02/MPU-6500-Register-Map2.pdf)? (**1p**)
649
649
650
650
:::tip
651
-
Take a look at the [Reading data from the MPU-6000 sensor using Embassy](#reading-data-from-the-mpu-6500-sensor-using-embassy) section.
651
+
Take a look at the [Reading data from the MPU-6500 sensor using Embassy](#reading-data-from-the-mpu-6500-sensor-using-embassy) section.
652
652
:::
653
653
654
654
3. Get the acceleration and angular velocity readings from the sensor.
0 commit comments