zephyr/samples/sensor/thermometer
Benjamin Cabé ee77704715 samples: sensor: use zephyr:code-sample directive
Describe the samples using code-sample directive in preparation for
upcoming changes to the Zephyr documentation that will be leveraging
the provided description and metadata.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-09-04 21:26:50 +02:00
..
boards samples: sensor: thermometer: add trigger support to sample 2023-06-17 08:01:16 -04:00
src samples: sensor: thermometer: add trigger support to sample 2023-06-17 08:01:16 -04:00
CMakeLists.txt cmake: increase minimal required version to 3.20.0 2021-08-20 09:47:34 +02:00
README.rst samples: sensor: use zephyr:code-sample directive 2024-09-04 21:26:50 +02:00
prj.conf
sample.yaml samples: sensor: Relax twister constraints on thermometer sample 2024-04-01 18:21:09 +01:00

README.rst

.. zephyr:code-sample:: thermometer
   :name: Thermometer
   :relevant-api: sensor_interface

   Get ambient temperature data from a temperature sensor and get alerts when temperature drifts
   above a threshold. (polling & trigger mode).

Overview
********

This sample application periodically measures the ambient temperature
at 1Hz. The result is written to the console.

Wiring
*******

VDD pin should be connected to 2.3V to 5.5V
GND pin connected to 0V
VOUT pin connected to the ADC input pin.

.. _`MCP970X Sensor`: http://ww1.microchip.com/downloads/en/devicedoc/20001942g.pdf

An overlay is provided for the nrf52840dk/nrf52840 board with the
sensor connected to pin AIN7.

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

To build for the nrf52840dk/nrf52840 board use:

.. zephyr-app-commands::
	:zephyr-app: samples/sensor/thermometer
	:board: nrf52840dk/nrf52840
	:goals: build flash
	:compact:


To build for other boards and ambient temperature sensors, enable the sensor
node that supports ``SENSOR_CHAN_AMBIENT_TEMP`` and use an overlay to create an
alias named ``ambient-temp0`` to link to the node.  See the overlay used for the
``nrf52840dk/nrf52840`` board within this sample:
``boards/nrf52840dk_nrf52840.overlay``


Temperature Alert
=================

If the attached sensor supports alerts when the temperature drifts above or
below a threshold, the sample will enable the sensor's trigger functionality.
This will require the sensor's TRIGGER KConfig setting to be enabled. An
example of this setup is provided for the ``frdm_k22f`` board, using
``boards/frdm_k22f.conf``.

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

.. code-block:: console

        *** Booting Zephyr OS build zephyr-v3.3.0-2354-gb4f4bd1f1c22 ***
        Thermometer Example (arm)
        Temperature device is 0x525c, name is tcn75a@48
        Set temperature lower limit to 25.5°C
        Set temperature upper limit to 26.5°C
        Enabled sensor threshold triggers
        Temperature is 25.0°C
        Temperature is 25.0°C
        Temperature is 25.0°C
        Temperature is 25.0°C
        Temperature is 25.5°C
        Temperature above threshold: 26.5°C
        Temperature is 26.5°C