Skip to content

Rust embedded-hal based driver for the DHT11/DHT22 sensor

License

Notifications You must be signed in to change notification settings

michaelbeaumont/dht-sensor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

47e2a64 · Oct 19, 2024

History

41 Commits
Feb 15, 2021
Aug 19, 2023
Aug 19, 2023
Oct 19, 2024
Jan 9, 2020
Feb 26, 2021
Oct 19, 2024
Jan 9, 2020
Jan 29, 2024
Jan 9, 2020
Jan 9, 2020
Jan 9, 2020

Repository files navigation

DHT11/DHT22 sensor driver

crates.io Docs

This library provides a platform-agnostic driver for the DHT11 and DHT22 sensors.

Use one of two functions dht11::Reading::read and dht22::Reading::read to get a reading.

Usage

The only prerequisites are an embedded-hal implementation that provides:

  • Delay-implementing type, for example Cortex-M microcontrollers typically use the SysTick.
  • InputOutputPin-implementing type, for example an Output<OpenDrain> from stm32f0xx_hal.
    • Note that you'll almost certainly need to configure your pin as open drain. See #23 for some discussion.

See the stm32f042 example for a commented example of how to use the library.

Release mode may be required

Compiling in debug mode may disturb the timing-sensitive parts of this crate and ultimately lead to failure. In this case, you will likely receive a Timeout error. Try compiling with --release instead.

Tests

To run the tests, use something like cargo test --lib --target x86_64-unknown-linux-gnu.