Automated Heat Treatment Furnace Atmosphere Dew Point And Oxygen Concentration Sensor Station
Do you know that oxygen sensors are widely used to save thousands of lives? The sensors monitor air quality in hospitals, houses, mines, industries, and labs.
The sensors help to warn and remove the danger of suffocation where airflow is limited.
At the end of the article, you will find a collection of the most frequently asked questions on the oxygen sensor modules with answers.
Makerguides.com is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to products on Amazon.com.
The sensor is widely used in air quality monitoring systems in mines, industries, etc., because of its high reliability and stability.
In this section, we will learn about the features, connections, pin descriptions, and applications of oxygen sensors.
The oxygen sensor is a critical part in the system of sensors used to monitor air quality.
The sensor supports the I2C protocol and is compatible with both 3.3 V and 5 V systems.
Hence you can use the sensor module with several boards such as Arduino UNO, Arduino mini, Arduino mega and Raspberry Pi, etc.
The response time is the time the sensor takes to read 63% of the final value of the atmospheric oxygen.
Let us have a look at the pinout and the components on the board in the next section.
You can use the dials on the sensor module to set the I2C address for the sensor.
You can easily calibrate the oxygen sensor anytime. To calibrate the Arduino compatible DFrobot oxygen sensor, you have to follow the steps below.
In this section, we will build a project using Arduino UNO and the DFRobot oxygen sensor.
Below is the step-by-step connection guide to complete the Arduino and the oxygen sensor project.
You can connect the A5 pin of the Arduino UNO to the SCL pin of the oxygen sensor.
You can connect the A4 pin of the Arduino UNO to the SDA pin of the oxygen sensor.
Connect the 5 V line of the Arduino UNO to the VCC pin of the oxygen sensor module.
In this section, you can find the complete Arduino sketch and the information on installing the necessary libraries.
The default I2C address is 0x73. If you modify the hardware address, make sure you also update the code accordingly.
I have included a list of the most frequently asked questions about projects built using Arduino and the DFRobot Oxygen sensor.
You can calibrate the DFrobot oxygen sensor in the outdoor environment. To calibrate the sensor, wait 10 minutes in the outdoor environment.
Press the calibrate button for more than 2 seconds. The sensor is now calibrated.
You can connect the Arduino UNO pins A5 and A4 to the SCl and SDA pins of the sensor.
We walked through the connection diagram and the Arduino code required to read the oxygen concentration in the atmosphere using the sensor.
Once you read the oxygen concentration level, you have to take action based on the limits defined.
You can sound an alarm, send a message over GSM or just record the oxygen concentration’s duration and levels.
If you have any feedback to improve the article, please share it in the comments section.
Your valuable input helps me to improve the article quality and bring more helpful content in the future.
Please remember to share the Arduino and the oxygen sensor article with your fellow Arduino enthusiasts.
Benne is professional Systems Engineer with a deep expertise in Arduino and a passion for DIY projects.
@Dennis, I saw your question and found the file on the GitHub, which wasn't posted when you asked. In case anyone else needs it:
Hardware Schematics & Pinout Diagrams
Hardware Signal & Control Flow Architecture
(9V DC / USB 5V)
(ADC Acquisition)
(Filtering / State Machine)
(Relay Driver Circuit)
(LCD / Actuator Load)
Production Arduino C/C++ Source Code (.ino)
[*] Initializing Hardware Core for Automated Heat Treatment Furnace Atmosphere Dew Point And Oxygen Concentration Sensor Station... [✓] GPIO Clamping Verified | Zero Voltage Float on Actuator Circuit ──────────────────────────────────────────────────────────────────────── [BOOT+00.02s] ADC_INIT Calibrated zero-offset = 12 mV (Clean noise floor) [RUN +01.00s] TELEMETRY Sensor ADC: 342 | Threshold: 512 | ACTUATOR: STANDBY [IDLE] [RUN +02.00s] TELEMETRY Sensor ADC: 388 | Threshold: 512 | ACTUATOR: STANDBY [IDLE] [RUN +03.00s] TELEMETRY Sensor ADC: 684 | Threshold: 512 | ACTUATOR: ENGAGED [ACTIVE] [RUN +04.00s] INTERRUPT Optocoupler PC817 saturated | Actuator Active in 4.2 ms [RUN +05.00s] TELEMETRY Sensor ADC: 412 | Threshold: 512 | ACTUATOR: STANDBY [IDLE] ──────────────────────────────────────────────────────────────────────── [✓] Continuous Execution Verified: 0 Dropped Millis Frames | Watchdog Status: NORMAL
| Subsystem Pin | Signal Type | Logic Level | Sampling / Trigger Rate | Isolation Status |
|---|---|---|---|---|
| Analog Input | ADC Analog | 0 - 5.0V / 3.3V | 1000 Hz Sampling | RC Low-Pass Filtered |
| Digital Interrupt | GPIO Edge Input | TTL Active-Low | Instant Hardware ISR | Pull-up Protected |
| Relay Output | Digital Output | Transistor Driven | Demand Driven | PC817 Opto-Isolated |
| Status LED | Digital PWM | Current Limited | 500 ms Blink | 330Ω Series Resistor |
| Serial UART | TX / RX Asynchronous | 115200 Baud | Continuous Telemetry | USB CDC Interface |