zephyr/samples/sensor/bme280
Martí Bolívar 24260e6c3a samples: bme280: enable the appropriate bus by default
I personally don't find it very useful to have to maintain prj.conf
and prj_spi.conf for this sample. The information we need to make
this application "just work" with regards to the bus is available in
the devicetree, and Kconfig can now access it using
dt_compat_on_bus().

Do so, enabling I2C and SPI appropriately when a sensor of the right
type is on either of those buses.

If no sensors are enabled, the user gets the build-time error message
in main.c about no devices being found.

This approach is prone to the "stuck symbol" Kconfig problem covered
in our documentation, so a pristine build is necessary to change the
default settings from a previous build.

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 samples: bme280: update to new DT API 2020-04-14 10:38:10 -05:00
CMakeLists.txt cmake: use find_package to locate Zephyr 2020-03-27 16:23:46 +01:00
Kconfig samples: bme280: enable the appropriate bus by default 2020-04-14 10:38:10 -05:00
prj.conf samples: bme280: enable the appropriate bus by default 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