zephyr/samples/sensor/mcp9808
Torsten Rasmussen 1cccc8a8fe cmake: increase minimal required version to 3.20.0
Move to CMake 3.20.0.

At the Toolchain WG it was decided to move to CMake 3.20.0.

The main reason for increasing CMake version is better toolchain
support.

Better toolchain support is added in the following CMake versions:
- armclang, CMake 3.15
- Intel oneAPI, CMake 3.20
- IAR, CMake 3.15 and 3.20

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2021-08-20 09:47:34 +02:00
..
boards sensor: mcp9808: Add new overlay board for nucleo_l053r8 board 2021-02-15 08:13:17 -05:00
src samples: mcp9808: drop device_get_binding/DT_INST 2021-05-05 20:46:43 +02:00
CMakeLists.txt cmake: increase minimal required version to 3.20.0 2021-08-20 09:47:34 +02:00
prj.conf
README.rst
sample.yaml samples: sensor: add integration_platforms 2021-04-09 06:50:47 -04:00

.. _mcp9808-sample:

MCP9808 Temperature Sensor
##########################

Overview
********

This sample application periodically (0.5 Hz) measures the ambient
temperature. The result is written to the console.

If triggered measurements are enabled the sample initializes and
maintains a |plusminus| 2 |deg| C window around the current temperature.
When the temperature moves outside the window an alert is given, and the
window is moved to center on the new temperature.

Requirements
************

The MCP9808 digital temperature sensor converts temperatures between -20 |deg|
C and +100 |deg| C to a digital word with |plusminus| 0.5 |deg| C (max.)
accuracy. It is I2C compatible and supports up to 16 devices on the bus.

Wiring
*******

The MCP9808 is available in a discrete component form but it is much easier to
use it mounted on a breakout board.  We used the Adafruit `MCP9808
Sensor`_ breakout board.

.. _`MCP9808 Sensor`: https://www.adafruit.com/product/1782

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

After providing a devicetree overlay that specifies the sensor I2C bus
and alert GPIO, build this sample app using:

.. zephyr-app-commands::
   :zephyr-app: samples/sensor/mcp9808
   :board: particle_xenon
   :goals: build flash

Sample Output
=============

Note that in the capture below output from the trigger callback and the
main thread are interleaved.

.. code-block:: console

   *** Booting Zephyr OS build zephyr-v2.1.0-537-gbbdeaa1ae5bb  ***
   Alert on temp outside [24500, 25500] milli-Celsius
   Trtrigger fired 1, temp 15.9375 C
   iggAlert on temp outside [15437, 16437] milli-Celsius
   er set got 0
   0:00:00.017: 15.9375 C
   0:00:02.020: 16 C
   0:00:04.022: 16.125 C
   0:00:06.024: 16.1875 C
   trigger fired 2, temp 16.3125 C
   Alert on temp outside [15812, 16812] milli-Celsius
   0:00:08.027: 16.3125 C
   0:00:10.029: 16.375 C
   0:00:12.032: 16.5 C
   0:00:14.034: 16.5625 C
   0:00:16.037: 16.5625 C
   0:00:18.039: 16.625 C
   0:00:20.042: 16.6875 C
   trigger fired 3, temp 16.8125 C
   Alert on temp outside [16312, 17312] milli-Celsius
   0:00:22.044: 16.8125 C
   0:00:24.047: 16.875 C