1111
1212# DS18B20_INT
1313
14- Minimalistic library for the DS18B20 temperature sensor - restricted to one sensor per pin.
14+ Arduino library for the DS18B20 temperature sensor - restricted to one sensor per pin.
1515
1616
1717## Arduino Temperature Control Library (ATCL)
1818
19- This DS18B20 library is a minimalistic library for a DS18B20 sensor.
20- It will give only temperatures in whole degrees C.
19+ This DS18B20 library is not a full featured library for the DS18B20 family.
20+ This library supports only one DS18B20 per Arduino/ MCU pin.
21+ Furthermore this library will give only temperatures in whole degrees C.
2122Goal is to minimize footprint.
2223
2324If you need more functions or control over the DS18B20 family I refer to the library
@@ -27,13 +28,64 @@ I'm a great fan of the above library however some time ago I needed to strip it
2728to save a few dozen bytes. I reworked that minimalistic version into a library and I
2829added a number of Arduino examples to help you get started.
2930
31+ Effort has been taken to keep the code, variables and function names compatible with
32+ ATCL library mentioned above. This way you can step over to that one with relatively
33+ few problems when you need more functionality like multiple sensors on one pin.
34+
35+ Finally this library will probably make it easier to use a DS18B20 with processing
36+ boards or IC's with small memory footprint.
37+
38+ Feedback, as always, is welcome.
39+
40+
41+ ### Footprint OneWire
42+
43+ This library depends (is build) upon the ** OneWire** library of Paul Stoffregen.
44+ - https://github.com/PaulStoffregen/OneWire - the reference imho.
45+
46+ In issue [ #31 ] ( https://github.com/RobTillaart/DS18B20_RT/issues/31 ) the footprint of
47+ the OneWireNG seems to be smaller when build on platformIO.
48+
49+ So if you are in need to save some more bytes, you might try [ OneWireNG]
50+ (https://github.com/pstolarz/OneWireNg ).
51+
52+
53+ ### Compatibles
3054
31- #### Related
55+ | device | tested | power | bits | notes |
56+ | :-------------| :--------:| :---------:| :------:| :--------|
57+ | DS18B20 | yes | 3-5 V | 9-12 | the reference
58+ | DS18S20 | n | 3-5 V | 9 |
59+ | DS1822 | n | 3-5 V | 9-12 |
60+ | DS1820 | n | 5 V | 9 |
61+ | MAX31820 | n | 3 V | 9-12 |
3262
33- This library is related to
34- - https://github.com/RobTillaart/DS18B20_INT
35- - https://github.com/RobTillaart/DS18B20_RT
63+ Not all tested, but expected to work. If there are missing devices or you have
64+ tested one, please let me know.
65+
66+
67+ ### Related
68+
69+ This library is related to
70+
71+ - https://github.com/RobTillaart/DHTNew DHT11/22 etc
72+ - https://github.com/RobTillaart/DHTStable DHT11/22 etc
73+ - https://github.com/RobTillaart/DHT_Simulator
74+ - https://github.com/RobTillaart/DS18B20_INT OneWire temperature sensor
75+ - https://github.com/RobTillaart/DS18B20_RT OneWire temperature sensor
76+ - https://github.com/RobTillaart/DS18B21 OneWire temperature sensor (8 bit)
3677- https://github.com/milesburton/Arduino-Temperature-Control-Library
78+ - https://github.com/milesburton/Arduino-Temperature-Control-Library/issues/244#event-9253126638
79+ - https://github.com/RobTillaart/PCT2075 11 bit I2C temperature sensor with thermal watchdog.
80+ - https://github.com/RobTillaart/SHT31 Sensirion humidity / temperature sensor
81+ - https://github.com/RobTillaart/SHT85 Sensirion humidity / temperature sensor
82+ - https://www.kandrsmith.org/RJS/Misc/Hygrometers/calib_many.html (interesting)
83+ - https://github.com/RobTillaart/Temperature (conversions, dewPoint, heat index etc.)
84+
85+
86+ Dependency
87+ - https://github.com/PaulStoffregen/OneWire
88+ - https://github.com/pstolarz/OneWireNg (alternative)
3789
3890
3991## Interface
@@ -43,7 +95,7 @@ This library is related to
4395```
4496
4597
46- #### Core
98+ ### Constructor
4799
48100This DS18B20_INT library supports only the DS18B20, only one sensor per pin, no parasite
49101mode, no Fahrenheit and no alarm functions. The only feature the class supports is
@@ -55,6 +107,11 @@ Returns true if address / device is found and all is OK.
55107There will be a number of retries to connect, default 3.
56108- ** bool isConnected(uint8_t retries = 3)** Returns true if address / device is found.
57109There will be a number of retries to connect, default 3.
110+ - ** bool getAddress(uint8_t \* buffer)** returns true if the sensor is configured (available).
111+ Buffer must be a byte array of at least 8 bytes.
112+
113+ ### Core
114+
58115- ** void requestTemperatures()** trigger temperature conversion.
59116- ** bool isConversionComplete()** check if conversion is complete.
60117- ** int16_t getTempC(bool connectCheck = true)** returns temperature in whole degrees only.
@@ -63,7 +120,7 @@ Is faster when connectCheck is set to false. Default true = backwards compatible
63120- ** bool getAddress()** returns true if the sensor is configured (available).
64121
65122
66- #### CentiC part
123+ ### CentiC part
67124
68125The following functions are experimental since 0.2.0 and not tested a lot by me.
69126They allow to use a higher resolution while ** not using floats** .
@@ -83,7 +140,7 @@ Note one might need to set the resolution to get more "decimals".
83140
84141## Operation
85142
86- This library supports only one DS18B20 per Arduino/ MCU pin.
143+ This library supports only ** one** DS18B20 per Arduino/ MCU pin.
87144
88145```
89146 // BOTTOM VIEW
@@ -101,7 +158,7 @@ Connect a pull-up resistor 4.7 KOhm between pin3 and pin2.
101158When the wires are longer this resistor needs to be smaller.
102159
103160
104- #### -127 and 85
161+ ### -127 and 85
105162
106163Two specific return values from reading the sensor:
107164
@@ -110,7 +167,7 @@ Two specific return values from reading the sensor:
110167If you get this unexpected it may indicate a power problem
111168
112169
113- #### Pull up resistor
170+ ### Pull up resistor
114171
115172An ** indicative** table for pull up resistors, (E12 series), to get started.
116173
@@ -156,6 +213,7 @@ and all people who contributed to that library.
156213
157214#### Must
158215
216+ - improve documentation
159217- elaborate performance connected state.
160218
161219#### Should
0 commit comments