This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
resources:eval:user-guides:arduino-uno:reference_designs:demo_cn0396 [16 Jan 2018 18:15] – created Brandon Bushey | resources:eval:user-guides:arduino-uno:reference_designs:demo_cn0396 [06 Jan 2021 10:13] (current) – Fixed bad link for en/design-center/evaluation-hardware-and-software/evaluation-boards-kits/EVAL-CN0396-ARDZ.html Ioana Chelaru | ||
---|---|---|---|
Line 5: | Line 5: | ||
===== General Description/ | ===== General Description/ | ||
- | The **CN0396_example** project uses the [[http:// | + | The **CN0396_example** project uses the [[adi>CN0396|EVAL-CN0396-ARDZ shield]] which is a single-supply, |
- | The **EVAL-CN0396-ARDZ** board provides a potentiostatic circuit for biasing the electrochemical sensor, along with dual programmable TIA's and 16-bit Sigma-Delta ADC. The TIA's convert the small currents passing in the sensor to a voltage that can be read by the [[http:// | + | The **EVAL-CN0396-ARDZ** board provides a potentiostatic circuit for biasing the electrochemical sensor, along with dual programmable TIA's and 16-bit Sigma-Delta ADC. The TIA's convert the small currents passing in the sensor to a voltage that can be read by the [[adi>ad7798|AD7798]] a 3-channel, low noise, low power 16-bit ADC that converts the analog voltage into digital data. The **16-bit** ADC outputs are received via SPI interface of the EVAL-ADICUP360 board. An [[adi>ADT7310|ADT7310]] digital **temperature sensor** is also included to measure ambient temperature in order for correction of temperature effects. |
- | {{: | + | {{: |
The **CN0396_example** application reads temperature value from ADT7310 and ADC values for each gas channel (CO and H2S), processes the values and make all necessary conversions in order to provide the gas concentrations. A **UART** interface (**9600** baud rate and **8-bits** data length) is used to send the results to terminal window. The output data will be displayed continuously considering a data refresh parameter (see // | The **CN0396_example** application reads temperature value from ADT7310 and ADC values for each gas channel (CO and H2S), processes the values and make all necessary conversions in order to provide the gas concentrations. A **UART** interface (**9600** baud rate and **8-bits** data length) is used to send the results to terminal window. The output data will be displayed continuously considering a data refresh parameter (see // | ||
Line 51: | Line 51: | ||
</ | </ | ||
- | ===== Project Structure ===== | + | ===== Project Structure===== |
- | FIXME | + | {{ : |
+ | The Arduino Sketch is used to open the example into Arduino IDE. The project is composed of three main parts: | ||
+ | |||
+ | * the main program (arduino sketch) | ||
+ | * application layer | ||
+ | * communication layer | ||
+ | * driver layer (IC drivers and sensor data) | ||
===== Configuring the Software Parameters ===== | ===== Configuring the Software Parameters ===== | ||
- | Before running your program, make sure that you have configured | + | Configure |
+ | |||
+ | < | ||
+ | #define ADC_GAIN | ||
+ | </ | ||
+ | |||
+ | Configure the ADC samples/ | ||
+ | |||
+ | < | ||
+ | #define ADC_SPS | ||
+ | </ | ||
+ | |||
+ | Set the refres time in the // | ||
+ | |||
+ | < | ||
+ | #define DISPLAY_REFRESH | ||
+ | </ | ||
+ | |||
+ | Set CO range for the sensor in the // | ||
+ | |||
+ | < | ||
+ | #define MAX_CO_SENS | ||
+ | #define CO_SENS | ||
+ | #define CO_RANGE | ||
+ | </ | ||
- | FIXME - Add text, picture, images, code blocks that describe how to configure the software. | + | Set H2S range for the sensor in the // |
+ | < | ||
+ | #define MAX_H2S_SENS (1000 * pow(10, -9)) | ||
+ | #define H2S_SENS | ||
+ | #define H2S_RANGE | ||
+ | </ | ||
===== Compiling, Verifying, and Programming ===== | ===== Compiling, Verifying, and Programming ===== | ||