zephyr/samples/sensor/bme280
Martí Bolívar 06d50c673d samples: bme280: nrf52840 DK: set LSB in i2c addr
The nrf52840-DK doesn't have this sensor built-in, so it's likely
users will be getting this sensor from a breakout board. The ones that
Sparkfun and Adafruit sell pull up the LSB address pin, so the default
address is 0x77 on those boards.

Let's follow along with them instead of using 0x76, because those are
the boards that come up first in the results when you google "BME280
breakout board" from where I'm sitting.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-04-14 10:38:10 -05:00
..
boards samples: bme280: nrf52840 DK: set LSB in i2c addr 2020-04-14 10:38:10 -05:00
src coccinelle: standardize k_sleep calls with integer timeouts 2019-10-09 08:38:10 -04:00
CMakeLists.txt cmake: use find_package to locate Zephyr 2020-03-27 16:23:46 +01:00
Kconfig samples: bme280: enable sensor logging 2020-04-14 10:38:10 -05:00
prj_spi.conf samples: bme280: enable sensor logging 2020-04-14 10:38:10 -05:00
prj.conf samples: bme280: enable sensor logging 2020-04-14 10:38:10 -05:00
README.rst boards: nrf52840_pca10056: Rename board to nrf52840dk_nrf52840 2020-03-27 09:14:08 +01:00
sample.yaml boards: nrf52840_pca10056: Rename board to nrf52840dk_nrf52840 2020-03-27 09:14:08 +01:00

.. _bme280:

BME280 Humidity and Pressure Sensor
###################################

Overview
********

This sample application periodically reads temperature, pressure and humidity data from
the first available device that implements SENSOR_CHAN_AMBIENT_TEMP, SENSOR_CHAN_PRESS,
and SENSOR_CHAN_HUMIDITY. This sample checks the sensor in polling mode (without
interrupt trigger).

Building and Running
********************

This sample application uses an BME280 sensor connected to a board via I2C.
Connect the sensor pins according to the connection diagram given in the `bme280 datasheet`_
at page 38.


.. zephyr-app-commands::
   :zephyr-app: samples/sensor/bme280
   :board: nrf52840dk_nrf52840
   :goals: flash
   :compact:

Sample Output
=============
To check output of this sample , any serial console program can be used.
This example uses ``picocom`` on the serial port ``/dev/ttyACM0``:

.. code-block:: console

        $ sudo picocom -D /dev/ttyUSB0

.. code-block:: console

        temp: 27.950000; press: 100.571027; humidity: 61.014648
        temp: 27.940000; press: 100.570269; humidity: 61.012695
        temp: 27.950000; press: 100.570695; humidity: 61.002929

.. _bme280 datasheet: https://ae-bst.resource.bosch.com/media/_tech/media/datasheets/BST-BME280-DS002.pdf