49 lines
2.0 KiB
Plaintext
49 lines
2.0 KiB
Plaintext
= Attaching a BME280 temperature/humidity/pressure sensor via SPI
|
|
|
|
This example code shows how to interface the Raspberry Pi Pico to a BME280 temperature/humidity/pressure. The particular device used can be interfaced via I2C or SPI, we are using SPI, and interfacing at 3.3v.
|
|
|
|
This examples reads the data from the sensor, and runs it through the appropriate compensation routines (see the chip datasheet for details https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bme280-ds002.pdf). At startup the compensation parameters required by the compensation routines are read from the chip.
|
|
)
|
|
|
|
== Wiring information
|
|
|
|
Wiring up the device requires 6 jumpers as follows:
|
|
|
|
* GPIO 16 (pin 21) MISO/spi0_rx-> SDO/SDO on bme280 board
|
|
* GPIO 17 (pin 22) Chip select -> CSB/!CS on bme280 board
|
|
* GPIO 18 (pin 24) SCK/spi0_sclk -> SCL/SCK on bme280 board
|
|
* GPIO 19 (pin 25) MOSI/spi0_tx -> SDA/SDI on bme280 board
|
|
* 3.3v (pin 3;6) -> VCC on bme280 board
|
|
* GND (pin 38) -> GND on bme280 board
|
|
|
|
The example here uses SPI port 0. Power is supplied from the 3.3V pin.
|
|
|
|
[NOTE]
|
|
======
|
|
There are many different manufacturers who sell boards with the BME280. Whilst they all appear slightly different, they all have, at least, the same 6 pins required to power and communicate. When wiring up a board that is different to the one in the diagram, ensure you connect up as described in the previous paragraph.
|
|
======
|
|
|
|
|
|
[[BME280_spi_wiring]]
|
|
[pdfwidth=75%]
|
|
.Wiring Diagram for bme280.
|
|
image::bme280_spi_bb.png[]
|
|
|
|
== List of Files
|
|
|
|
CMakeLists.txt:: CMake file to incorporate the example in to the examples build tree.
|
|
bme280_spi.c:: The example code.
|
|
|
|
== Bill of Materials
|
|
|
|
.A list of materials required for the example
|
|
[[BME280-bom-table]]
|
|
[cols=3]
|
|
|===
|
|
| *Item* | *Quantity* | Details
|
|
| Breadboard | 1 | generic part
|
|
| Raspberry Pi Pico | 1 | https://www.raspberrypi.com/products/raspberry-pi-pico/
|
|
| BME280 board| 1 | generic part
|
|
| M/M Jumper wires | 6 | generic part
|
|
|===
|