mirror of
https://github.com/RobTillaart/Arduino.git
synced 2024-10-03 18:09:02 -04:00
0.3.1 DHT20
This commit is contained in:
parent
68b76c7bdc
commit
aa8b2bed0f
@ -6,6 +6,11 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/)
|
|||||||
and this project adheres to [Semantic Versioning](http://semver.org/).
|
and this project adheres to [Semantic Versioning](http://semver.org/).
|
||||||
|
|
||||||
|
|
||||||
|
## [0.3.1] - 2024-01-26
|
||||||
|
- update readme.md
|
||||||
|
- update examples
|
||||||
|
|
||||||
|
|
||||||
## [0.3.0] - 2023-10-25
|
## [0.3.0] - 2023-10-25
|
||||||
- simplify begin()
|
- simplify begin()
|
||||||
- updated all examples
|
- updated all examples
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
//
|
//
|
||||||
// FILE: DHT20.cpp
|
// FILE: DHT20.cpp
|
||||||
// AUTHOR: Rob Tillaart
|
// AUTHOR: Rob Tillaart
|
||||||
// VERSION: 0.3.0
|
// VERSION: 0.3.1
|
||||||
// PURPOSE: Arduino library for DHT20 I2C temperature and humidity sensor.
|
// PURPOSE: Arduino library for DHT20 I2C temperature and humidity sensor.
|
||||||
|
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// FILE: DHT20.h
|
// FILE: DHT20.h
|
||||||
// AUTHOR: Rob Tillaart
|
// AUTHOR: Rob Tillaart
|
||||||
// PURPOSE: Arduino library for DHT20 I2C temperature and humidity sensor.
|
// PURPOSE: Arduino library for DHT20 I2C temperature and humidity sensor.
|
||||||
// VERSION: 0.3.0
|
// VERSION: 0.3.1
|
||||||
// URL: https://github.com/RobTillaart/DHT20
|
// URL: https://github.com/RobTillaart/DHT20
|
||||||
//
|
//
|
||||||
|
|
||||||
@ -20,7 +20,7 @@
|
|||||||
#include "Arduino.h"
|
#include "Arduino.h"
|
||||||
#include "Wire.h"
|
#include "Wire.h"
|
||||||
|
|
||||||
#define DHT20_LIB_VERSION (F("0.3.0"))
|
#define DHT20_LIB_VERSION (F("0.3.1"))
|
||||||
|
|
||||||
#define DHT20_OK 0
|
#define DHT20_OK 0
|
||||||
#define DHT20_ERROR_CHECKSUM -10
|
#define DHT20_ERROR_CHECKSUM -10
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
MIT License
|
MIT License
|
||||||
|
|
||||||
Copyright (c) 2022-2023 Rob Tillaart
|
Copyright (c) 2022-2024 Rob Tillaart
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
@ -21,8 +21,7 @@ The DHT20 is a humidity and temperature sensor.
|
|||||||
The sensor has a fixed address of **0x38**.
|
The sensor has a fixed address of **0x38**.
|
||||||
It is not known if the address can be changed.
|
It is not known if the address can be changed.
|
||||||
|
|
||||||
The library must be initiated by calling the **begin()** function,
|
The library must be initiated by calling the **begin()** function.
|
||||||
or **begin(dataPin, clockPin)** for **ESP32** and similar platforms.
|
|
||||||
|
|
||||||
Thereafter one has to call the **read()** function to do the actual reading,
|
Thereafter one has to call the **read()** function to do the actual reading,
|
||||||
and call **getTemperature()** and **getHumidity()** to get the measured values.
|
and call **getTemperature()** and **getHumidity()** to get the measured values.
|
||||||
@ -55,10 +54,14 @@ reset the sensor if needed in both synchronous and asynchronous calls.
|
|||||||
This keeps the API simple. The reads are 1-2 ms slower than 0.1.4. (< 50 ms).
|
This keeps the API simple. The reads are 1-2 ms slower than 0.1.4. (< 50 ms).
|
||||||
Still far below the 80 ms mentioned in the datasheet.
|
Still far below the 80 ms mentioned in the datasheet.
|
||||||
|
|
||||||
### 0.3.0
|
|
||||||
|
|
||||||
User should call Wire.begin(), and setting I2C pins himself.
|
#### 0.3.0 Breaking change
|
||||||
It is removed from the specific ESP32 begin() call to be more generic.
|
|
||||||
|
Version 0.3.0 introduced a breaking change.
|
||||||
|
You cannot set the pins in **begin()** any more.
|
||||||
|
This reduces the dependency of processor dependent Wire implementations.
|
||||||
|
The user has to call **Wire.begin()** and can optionally set the Wire pins
|
||||||
|
before calling **begin()**.
|
||||||
|
|
||||||
|
|
||||||
#### Tested
|
#### Tested
|
||||||
@ -75,6 +78,24 @@ The sensor has a fixed address of **0x38**.
|
|||||||
It is not known if the address can be changed.
|
It is not known if the address can be changed.
|
||||||
|
|
||||||
|
|
||||||
|
#### I2C multiplexing
|
||||||
|
|
||||||
|
Sometimes you need to control more devices than possible with the default
|
||||||
|
address range the device provides.
|
||||||
|
This is possible with an I2C multiplexer e.g. TCA9548 which creates up
|
||||||
|
to eight channels (think of it as I2C subnets) which can use the complete
|
||||||
|
address range of the device.
|
||||||
|
|
||||||
|
Drawback of using a multiplexer is that it takes more administration in
|
||||||
|
your code e.g. which device is on which channel.
|
||||||
|
This will slow down the access, which must be taken into account when
|
||||||
|
deciding which devices are on which channel.
|
||||||
|
Also note that switching between channels will slow down other devices
|
||||||
|
too if they are behind the multiplexer.
|
||||||
|
|
||||||
|
- https://github.com/RobTillaart/TCA9548
|
||||||
|
|
||||||
|
|
||||||
#### Connection
|
#### Connection
|
||||||
|
|
||||||
Always check datasheet!
|
Always check datasheet!
|
||||||
@ -148,7 +169,8 @@ and should only be used if you are in a need for speed.
|
|||||||
#### Constructor
|
#### Constructor
|
||||||
|
|
||||||
- **DHT20(TwoWire \*wire = &Wire)** constructor, using a specific Wire (I2C bus).
|
- **DHT20(TwoWire \*wire = &Wire)** constructor, using a specific Wire (I2C bus).
|
||||||
- **bool begin()** initializer for non ESP32. Returns true if connected.
|
- **bool begin()** initializer. Returns true if connected.
|
||||||
|
The user must call **Wire.begin()** before calling this function.
|
||||||
- **bool isConnected()** returns true if the address of the DHT20 can be seen on the I2C bus.
|
- **bool isConnected()** returns true if the address of the DHT20 can be seen on the I2C bus.
|
||||||
- **uint8_t getAddress()** returns the (fixed) address - convenience.
|
- **uint8_t getAddress()** returns the (fixed) address - convenience.
|
||||||
|
|
||||||
@ -251,6 +273,8 @@ the read calls. (0.2.0)
|
|||||||
#### Must
|
#### Must
|
||||||
|
|
||||||
- improve documentation.
|
- improve documentation.
|
||||||
|
- sync AM2315C developments
|
||||||
|
- see https://github.com/RobTillaart/AM2315C
|
||||||
- investigate the bug from #8 further
|
- investigate the bug from #8 further
|
||||||
(is done in 0.2.1 see issue #8)
|
(is done in 0.2.1 see issue #8)
|
||||||
|
|
||||||
@ -284,4 +308,3 @@ donate through PayPal or GitHub sponsors.
|
|||||||
|
|
||||||
Thank you,
|
Thank you,
|
||||||
|
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
// FILE: DHT20.ino
|
// FILE: DHT20.ino
|
||||||
// AUTHOR: Rob Tillaart
|
// AUTHOR: Rob Tillaart
|
||||||
// PURPOSE: Demo for DHT20 I2C humidity & temperature sensor
|
// PURPOSE: Demo for DHT20 I2C humidity & temperature sensor
|
||||||
|
// URL: https://github.com/RobTillaart/DHT20
|
||||||
//
|
//
|
||||||
// Always check datasheet - front view
|
// Always check datasheet - front view
|
||||||
//
|
//
|
||||||
@ -19,6 +20,7 @@ DHT20 DHT;
|
|||||||
|
|
||||||
uint8_t count = 0;
|
uint8_t count = 0;
|
||||||
|
|
||||||
|
|
||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
// FILE: DHT20_I2C_speed.ino
|
// FILE: DHT20_I2C_speed.ino
|
||||||
// AUTHOR: Rob Tillaart
|
// AUTHOR: Rob Tillaart
|
||||||
// PURPOSE: Demo for DHT20 I2C humidity & temperature sensor
|
// PURPOSE: Demo for DHT20 I2C humidity & temperature sensor
|
||||||
|
// URL: https://github.com/RobTillaart/DHT20
|
||||||
//
|
//
|
||||||
// Always check datasheet - front view
|
// Always check datasheet - front view
|
||||||
//
|
//
|
||||||
@ -14,12 +15,14 @@
|
|||||||
|
|
||||||
// NOTE datasheet states 400 KHz as maximum
|
// NOTE datasheet states 400 KHz as maximum
|
||||||
|
|
||||||
|
|
||||||
#include "DHT20.h"
|
#include "DHT20.h"
|
||||||
|
|
||||||
DHT20 DHT;
|
DHT20 DHT;
|
||||||
|
|
||||||
uint32_t start, stop;
|
uint32_t start, stop;
|
||||||
|
|
||||||
|
|
||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
// FILE: DHT20_async.ino
|
// FILE: DHT20_async.ino
|
||||||
// AUTHOR: Rob Tillaart
|
// AUTHOR: Rob Tillaart
|
||||||
// PURPOSE: Demo for DHT20 I2C humidity & temperature sensor
|
// PURPOSE: Demo for DHT20 I2C humidity & temperature sensor
|
||||||
|
// URL: https://github.com/RobTillaart/DHT20
|
||||||
//
|
//
|
||||||
// Always check datasheet - front view
|
// Always check datasheet - front view
|
||||||
//
|
//
|
||||||
@ -19,6 +20,7 @@ DHT20 DHT;
|
|||||||
|
|
||||||
uint32_t counter = 0;
|
uint32_t counter = 0;
|
||||||
|
|
||||||
|
|
||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
// FILE: DHT20_lcd.ino
|
// FILE: DHT20_lcd.ino
|
||||||
// AUTHOR: Rob Tillaart
|
// AUTHOR: Rob Tillaart
|
||||||
// PURPOSE: Demo for DHT20 I2C humidity & temperature sensor
|
// PURPOSE: Demo for DHT20 I2C humidity & temperature sensor
|
||||||
|
// URL: https://github.com/RobTillaart/DHT20
|
||||||
//
|
//
|
||||||
// Always check datasheet - front view
|
// Always check datasheet - front view
|
||||||
//
|
//
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
// FILE: DHT20_offset.ino
|
// FILE: DHT20_offset.ino
|
||||||
// AUTHOR: Rob Tillaart
|
// AUTHOR: Rob Tillaart
|
||||||
// PURPOSE: Demo for DHT20 I2C humidity & temperature sensor
|
// PURPOSE: Demo for DHT20 I2C humidity & temperature sensor
|
||||||
|
// URL: https://github.com/RobTillaart/DHT20
|
||||||
//
|
//
|
||||||
// Always check datasheet - front view
|
// Always check datasheet - front view
|
||||||
//
|
//
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
// FILE: DHT20_plotter.ino
|
// FILE: DHT20_plotter.ino
|
||||||
// AUTHOR: Rob Tillaart
|
// AUTHOR: Rob Tillaart
|
||||||
// PURPOSE: Demo for DHT20 I2C humidity & temperature sensor
|
// PURPOSE: Demo for DHT20 I2C humidity & temperature sensor
|
||||||
|
// URL: https://github.com/RobTillaart/DHT20
|
||||||
//
|
//
|
||||||
// Always check datasheet - front view
|
// Always check datasheet - front view
|
||||||
//
|
//
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
// FILE: DHT20_read_status.ino
|
// FILE: DHT20_read_status.ino
|
||||||
// AUTHOR: Rob Tillaart
|
// AUTHOR: Rob Tillaart
|
||||||
// PURPOSE: Demo for DHT20 I2C humidity & temperature sensor
|
// PURPOSE: Demo for DHT20 I2C humidity & temperature sensor
|
||||||
|
// URL: https://github.com/RobTillaart/DHT20
|
||||||
//
|
//
|
||||||
// Always check datasheet - front view
|
// Always check datasheet - front view
|
||||||
//
|
//
|
||||||
@ -19,6 +20,7 @@ DHT20 DHT;
|
|||||||
|
|
||||||
uint8_t count = 0;
|
uint8_t count = 0;
|
||||||
|
|
||||||
|
|
||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
// FILE: DHT20_test_esp.ino
|
// FILE: DHT20_test_esp.ino
|
||||||
// AUTHOR: Rob Tillaart
|
// AUTHOR: Rob Tillaart
|
||||||
// PURPOSE: Demo for DHT20 I2C humidity & temperature sensor
|
// PURPOSE: Demo for DHT20 I2C humidity & temperature sensor
|
||||||
|
// URL: https://github.com/RobTillaart/DHT20
|
||||||
//
|
//
|
||||||
|
|
||||||
// Always check datasheet - front view
|
// Always check datasheet - front view
|
||||||
//
|
//
|
||||||
// +--------------+
|
// +--------------+
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
// FILE: DHT20_test_rp2040.ino
|
// FILE: DHT20_test_rp2040.ino
|
||||||
// AUTHOR: Rob Tillaart
|
// AUTHOR: Rob Tillaart
|
||||||
// PURPOSE: Demo for DHT20 I2C humidity & temperature sensor
|
// PURPOSE: Demo for DHT20 I2C humidity & temperature sensor
|
||||||
|
// URL: https://github.com/RobTillaart/DHT20
|
||||||
//
|
//
|
||||||
|
|
||||||
// Always check datasheet - front view
|
// Always check datasheet - front view
|
||||||
//
|
//
|
||||||
// +--------------+
|
// +--------------+
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/RobTillaart/DHT20.git"
|
"url": "https://github.com/RobTillaart/DHT20.git"
|
||||||
},
|
},
|
||||||
"version": "0.3.0",
|
"version": "0.3.1",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"frameworks": "*",
|
"frameworks": "*",
|
||||||
"platforms": "*",
|
"platforms": "*",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
name=DHT20
|
name=DHT20
|
||||||
version=0.3.0
|
version=0.3.1
|
||||||
author=Rob Tillaart <rob.tillaart@gmail.com>
|
author=Rob Tillaart <rob.tillaart@gmail.com>
|
||||||
maintainer=Rob Tillaart <rob.tillaart@gmail.com>
|
maintainer=Rob Tillaart <rob.tillaart@gmail.com>
|
||||||
sentence=Arduino library for I2C DHT20 temperature and humidity sensor.
|
sentence=Arduino library for I2C DHT20 temperature and humidity sensor.
|
||||||
|
@ -25,7 +25,6 @@
|
|||||||
#include <ArduinoUnitTests.h>
|
#include <ArduinoUnitTests.h>
|
||||||
|
|
||||||
|
|
||||||
#include "Wire.h"
|
|
||||||
#include "DHT20.h"
|
#include "DHT20.h"
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user