@@ -25,15 +25,26 @@ The CO2 concentration supported by the sensor has a range from 400 ~ 5000 ppm ±
2525This makes the sensor applicable for outdoor and indoor measurements in
2626a normal building setting.
2727The sensor is not suitable for CO2 heavy "industrial" environments.
28+ See also datasheet warning below.
2829
2930** Warning** The temperature range the sensor can measure is ** UNKNOWN**
3031as there is no documentation how to convert the raw data to meaningful one.
32+ As far as information could tell this temperature is for Aosong internal use.
33+ See also #12 (closed issue).
34+ If you can decode the temperature bits please let me know.
3135
3236The sensor can be read over I2C and over Serial.
3337This library only support the I2C interface (see hardware notes below).
3438
39+ Feedback as always is welcome.
3540
36- #### Pre-heat period
41+ ### Datasheet warning
42+
43+ _ Do not apply this product to safety protection devices or emergency stop equipment,
44+ and any other applications that may cause personal injury due to the product's failure._
45+
46+
47+ ### Pre-heat period
3748
3849When the sensor starts up it has a pre-heat period of 120 seconds.
3950The library provides functions to check the time since the constructor is called.
@@ -42,33 +53,29 @@ During the preheat period one can make measurements but one should use those
4253carefully as these are less accurate than after the preheat period.
4354
4455
45- #### Calibration
56+ ### Calibration
4657
4758Also important is the calibration of the sensor, although done in the factory,
4859a CO2 sensor needs regular calibration. See datasheet for details.
4960
5061
51- #### Power
62+ ### Power
5263
5364The sensor must be powered with 5V and uses about 225 mW.
5465This implies the sensor uses 50 mA (@5V ) and needs a separate power supply.
5566One must connect GND from the power supply to the GND of the MCU.
5667
5768
58- #### Datasheet warning
59-
60- Do not apply this product to safety protection devices or emergency stop equipment,
61- and any other applications that may cause personal injury due to the product's failure.
62-
63-
64- #### Operating conditions
69+ ### Operating conditions
6570
66- - temperature: 0°C~ +50°C ==> keep away from freezing cold or direct sunlight.
67- - humidity: 0% ~ 95% RH ==> non-condensing conditions.
68- - Data refresh frequency: 2 seconds
71+ | parameter | value | notes |
72+ | :--------------------| :-------------:| :--------|
73+ | temperature | 0°C~ +50°C | keep away from freezing cold or direct sunlight.
74+ | humidity | 0% ~ 95% RH | keep in non-condensing conditions.
75+ | Refresh frequency | 2 seconds |
6976
7077
71- #### Hardware
78+ ### Hardware
7279
7380```
7481 TOPVIEW ACD10
@@ -96,7 +103,7 @@ If pin 5 is connected to GND (LOW), Serial / UART mode is selected.
96103This latter serial mode is ** NOT** supported by this library.
97104
98105
99- #### Related
106+ ### Related
100107
101108- https://emariete.com/en/sensor-co2-mh-z19b/
102109- https://emariete.com/en/sensor-co2-low-consumption-mh-z1311a-winsen/
@@ -108,7 +115,7 @@ This latter serial mode is **NOT** supported by this library.
108115- https://github.com/RobTillaart/Cozir
109116
110117
111- #### Tested
118+ ### Tested
112119
113120TODO: Test on Arduino UNO and ESP32
114121
@@ -131,7 +138,7 @@ Every time the power is shut off the pre-heat would run again internally.
131138It is unclear what effect this has on the lifetime and quality of the sensor.
132139
133140
134- #### I2C multiplexing
141+ ### I2C multiplexing
135142
136143Sometimes you need to control more devices than possible with the default
137144address range the device provides.
@@ -151,7 +158,7 @@ too if they are behind the multiplexer.
151158See example ** TCA9548_demo_ACD10.ino**
152159
153160
154- #### I2C Performance
161+ ### I2C Performance
155162
156163Only test ** readSensor()** as that is the main function.
157164
@@ -166,7 +173,7 @@ Only test **readSensor()** as that is the main function.
166173| 600 KHz | |
167174
168175
169- TODO: run performance sketch.
176+ TODO: run performance sketch on hardware .
170177
171178
172179## Interface
@@ -175,15 +182,15 @@ TODO: run performance sketch.
175182#include " ACD10.h"
176183```
177184
178- #### Constructor
185+ ### Constructor
179186
180187- ** ACD10(TwoWire \* wire = &Wire)** optional select I2C bus.
181188- ** bool begin()** checks if device is visible on the I2C bus.
182189- ** bool isConnected()** Checks if device address can be found on I2C bus.
183190- ** uint8_t getAddress()** Returns the fixed address 0x2A (42).
184191
185192
186- #### PreHeat
193+ ### PreHeat
187194
188195PreHeat functions assume the sensor is (and stays) connected to power.
189196
@@ -192,7 +199,7 @@ PreHeat functions assume the sensor is (and stays) connected to power.
192199left before preHeat is complete.
193200
194201
195- #### Request and Read
202+ ### Request and Read
196203
197204The interface of the sensor is made asynchronous as there is a delay needed
198205of around 80 milliseconds between a request for new data and the availability
@@ -220,7 +227,7 @@ Use 5~10 milliseconds above the minimal value the sensor still works.
220227- ** uint8_t getRequestTime()** returns the current request time in milliseconds.
221228
222229
223- #### Calibration
230+ ### Calibration
224231
225232Read the datasheet about calibration process (twice).
226233Incorrect calibration leads to incorrect output.
@@ -235,7 +242,7 @@ from 400 to 5000, the parameter value should be in this range.
235242Note: One should wait 5 milliseconds between the calibration calls (see datasheet).
236243
237244
238- #### Miscellaneous
245+ ### Miscellaneous
239246
240247- ** void factoryReset()** idem.
241248- ** bool readFactorySet()** Read back if factory reset was successful.
@@ -245,7 +252,7 @@ Minimum length is 11.
245252Minimum length is 11.
246253
247254
248- #### Debug
255+ ### Debug
249256
250257- ** uint8_t getLastError()** returns last error of low level communication.
251258
0 commit comments