Skip to Content

Using Arduino And DFRobot Oxygen Sensor – A Complete Tutorial

Using Arduino And DFRobot Oxygen Sensor – A Complete Tutorial

¿Sabe que los sensores de oxígeno se utilizan ampliamente para salvar miles de vidas? Los sensores controlan la calidad del aire en hospitales, casas, minas, industrias y laboratorios. 

El sensor de oxígeno se utiliza en proyectos de hogares inteligentes, aplicaciones IoT y más.

Los sensores ayudan a advertir y eliminar el peligro de asfixia cuando el flujo de aire es limitado. 

En este tutorial, el sensor de oxígeno del DFrobot se cubre en detalle.

Aprenderá sobre el sensor, la interfaz, las características y las aplicaciones.

También comparto con ustedes el código de ejemplo y los diagramas de conexión.

Al final del artículo, encontrará una recopilación de las preguntas más frecuentes sobre los módulos del sensor de oxígeno con sus respuestas.

Comencemos.

Componentes necesarios para construir el proyecto Arduino y el sensor de oxígeno

Componentes de hardware

Software

Makerguides.com participa en el Programa de Asociados de Amazon Services LLC, un programa de publicidad de afiliados diseñado para proporcionar un medio para que los sitios ganen honorarios de publicidad mediante la publicidad y los enlaces a productos en Amazon.com.

Fundamentos de la sonda Lambda Por DFRobot

En esta sección, entenderemos los fundamentos del sensor de oxígeno de DFRobot. 

El sensor de oxígeno SEN0322 es un sensor muy preciso y fácil de usar.

El sensor se utiliza ampliamente en sistemas de control de la calidad del aire en minas, industrias, etc., debido a su alta fiabilidad y estabilidad.

En esta sección, conoceremos las características, las conexiones, las descripciones de las clavijas y las aplicaciones de los sensores de oxígeno.

El sensor de oxígeno es una pieza fundamental en el sistema de sensores utilizados para controlar la calidad del aire. 

El sensor soporta el protocolo I2C y es compatible con sistemas de 3,3 V y 5 V.

Por lo tanto, puedes utilizar el módulo de sensores con varias placas como Arduino UNO, Arduino mini, Arduino mega y Raspberry Pi, etc. 

Características de los sensores de oxígeno DFRobot

  • Calibración rápida y sencilla del sensor
  • Alta sensibilidad
  • Interfaz serial I2C
  • Admite placas Arduin de 3,3 V y 5 V
  • Protección contra polaridad inversa
  • Mayor duración del sensor

¿Cuáles son las especificaciones de la sonda Lambda DFRobot?

¿Cuáles son las especificaciones del sensor de oxígeno DFRobot?

Las características del sensor se enumeran en la siguiente tabla

ParámetroValorObservaciones
Rango de tensión de funcionamiento3,3 V a 5 VCompatible con Arduino UNO, Mega, Micro, Mini
Interfaz de comunicaciónI2CArduino soporta la comunicación I2C. Utiliza los pines A5 y A4. 
Duración del sensor2 añosEn el aire
Temperatura de funcionamiento-20 ℃ a 50 ℃ 
Humedad de funcionamientoDe 0 a 99 % de HR
Rango de medición0 a 25 %volLa atmósfera del aire está compuesta por un 78% de nitrógeno y un 21% de oxígeno. Por lo tanto, el 25% cubre muy bien 
Límite máximo de medición30% vol.El oxígeno atmosférico es de aproximadamente 21%.
Estabilidad< 2%
Tiempo de respuesta<15 secTiempo mínimo para considerar el cambio de los niveles de oxígeno 
Resolución0,15 % vol.

El tiempo de respuesta es el tiempo que tarda el sensor en leer el 63% del valor final del oxígeno atmosférico.

Por lo tanto, puede esperar uno o dos minutos para obtener lecturas precisas. 

Veamos la distribución de pines y los componentes de la placa en la siguiente sección.

Nombre de la clavijaFunción de la clavija
SDAPin de datos en serie I2C
SCLClavija de reloj serie I2C
GNDTierra
VCCFuente de alimentación

Configuración de la placa y pinout

La siguiente imagen muestra la vista superior del módulo del sensor de oxígeno.

vista superior del módulo del sensor de oxígeno

Entendamos los componentes y la finalidad de los mismos en las próximas secciones.

componentes y la finalidad

La parte trasera del módulo sensor tiene el sensor.

parte trasera del módulo sensor

El botón de calibración se utiliza para calibrar el sensor.

La dirección I2C del sensor de oxígeno es configurable. 

  • ADDRESS_0:0x70, A0 = 0, A1 = 0
  • DIRECCIÓN_1:0x71, A0 = 1, A1 = 0
  • ADDRESS_2:0x72, A0 = 0, A1 = 1
  • ADDRESS_3:0x73, A0 = 1, A1 = 1

Puede utilizar los diales del módulo sensor para establecer la dirección I2C del sensor.

Puede elegir entre cuatro direcciones diferentes.

Por lo tanto, puede conectar hasta 4 sensores de oxígeno a un Arduino UNO.

Producto →SEN0322SEN0465SEN0496
Gama0~25%Vol0~25%Vol0~100%Vol
Método de calibraciónCalibración manualCalibración de fábricaCalibración manual
Señal de salidaI2CI2C、UART、AnalógicoI2C
Principio de funcionamientoElectroquímicaElectroquímicaElectroquímica
Estabilidad<2%/Month<2%/Month<10%/Year
Tiempo de respuesta≤15S≤15S0.1%~20.9%<40S  20.9%~100%<5S
Rango de presión de funcionamiento101kPa±10%101kPa±10%0,5 - 2,0 Bar
Compensación de la temperatura××

¿Cómo calibrar el sensor de oxígeno de Arduino?

Puedes calibrar fácilmente el sensor de oxígeno en cualquier momento. Para calibrar el sensor de oxígeno DFrobot compatible con Arduino, tienes que seguir los siguientes pasos.

  1. Encender el sensor de oxígeno 
  2. Mantenga el sensor de oxígeno en el entorno exterior
  3. Monitorizar los datos del sensor y esperar a que los datos sean estables
  4. Mantenga pulsado el botón de calibración presente en el módulo sensor durante más de 2 segundos. La calibración está hecha. 

Instrucciones paso a paso para conectar el sensor de oxígeno con Arduino UNO

En esta sección, vamos a construir un proyecto utilizando Arduino UNO y el sensor de oxígeno DFRobot.

Las conexiones son fáciles de realizar y llevan mucho menos tiempo.

El sensor se comunica con el Arduino a través de la interfaz serie I2C. 

Empecemos con las conexiones de hardware.

¿Cómo conectar el sensor de oxígeno atmosférico al Arduino UNO?

A continuación se muestra la guía de conexión paso a paso para completar el proyecto de Arduino y el sensor de oxígeno. 

Paso 1: Empezar con las conexiones GND

Comienza con las conexiones GND

Conecta el pin GND del módulo al GND del Arduino.

Elige cualquier pin GND disponible en el Arduino para la conexión.

Es una excelente práctica comenzar con las conexiones GND. 

Paso 2: Conectar la línea I2C SCL

Conecte la línea I2C SCL

Puedes conectar el pin A5 del Arduino UNO al pin SCL del sensor de oxígeno.

El pin analógico A5 es el pin de la línea de reloj I2C del Arduino. 

Paso 3: Conectar la línea I2C SDA

Conecta la línea SDA de I2C

Puedes conectar el pin A4 del Arduino UNO al pin SDA del sensor de oxígeno.

El pin analógico A4 es el pin de la línea de datos I2C del Arduino. 

Paso 4: Conectar la línea de alimentación (cable rojo)

Conectar la línea de alimentación

Conecta la línea de 5 V del Arduino UNO al pin VCC del módulo del sensor de oxígeno.

Paso 5: La conexión completa

La conexión completa

Ejemplo de código Arduino para el proyecto del sensor de oxígeno

En esta sección, puedes encontrar el sketch completo de Arduino y la información sobre la instalación de las librerías necesarias. 

El código completo de Arduino para el sensor de oxígeno DFRobot

La dirección I2C por defecto es 0x73. Si modifica la dirección de hardware, asegúrese de actualizar también el código en consecuencia.

#include "DFRobot_OxygenSensor.h"
 
#define COLLECT_NUMBER    10             // collect number, the collection range is 1-100.
#define Oxygen_IICAddress ADDRESS_3
/*   iic slave Address, The default is ADDRESS_3.
       ADDRESS_0               0x70      // iic device address.
       ADDRESS_1               0x71
       ADDRESS_2               0x72
       ADDRESS_3               0x73
*/
 
DFRobot_OxygenSensor Oxygen;
void setup()
{
  Serial.begin(9600);
  while (!Oxygen.begin(Oxygen_IICAddress)) {
    Serial.println("I2c device number error !");
    delay(1000);
  }
  Serial.println("I2c connect success !");
}
 
void loop()
{
  float oxygenData = Oxygen.ReadOxygenData(COLLECT_NUMBER);
  Serial.print(" Oxygen concentration is ");
  Serial.print(oxygenData);
  Serial.println(" %vol");
  delay(1000);
}

El código Arduino para calibrar el sensor

#include "DFRobot_OxygenSensor.h"
 
/**
 * i2c slave Address, The default is ADDRESS_3.
 * ADDRESS_0   0x70  i2c device address.
 * ADDRESS_1   0x71
 * ADDRESS_2   0x72
 * ADDRESS_3   0x73
 */
#define Oxygen_IICAddress ADDRESS_3
#define OXYGEN_CONECTRATION 20.9  // The current concentration of oxygen in the air.
#define OXYGEN_MV           0     // The value marked on the sensor, Do not use must be assigned to 0.
DFRobot_OxygenSensor oxygen;
 
void setup(void)
{
  Serial.begin(9600);
  while(!oxygen.begin(Oxygen_IICAddress)){
    Serial.println("I2c device number error !");
    delay(1000);
  }
  Serial.println("I2c connect success !");
 
  /**
   * Choose method 1 or method 2 to calibrate the oxygen sensor.
   * 1. Directly calibrate the oxygen sensor by adding two parameters to the sensor.
   * 2. Waiting for stable oxygen sensors for about 10 minutes,
   *    OXYGEN_CONECTRATION is the current concentration of oxygen in the air (20.9%mol except in special cases),
   *    Not using the first calibration method, the OXYGEN MV must be 0.
   */
  oxygen.calibrate(OXYGEN_CONECTRATION, OXYGEN_MV);
}
 
void loop(void)
{
  Serial.println("The oxygen sensor was calibrated successfully.");
  delay(1000);
}

Preguntas frecuentes sobre el sensor de oxígeno y los proyectos Arduino

He incluido una lista de las preguntas más frecuentes sobre los proyectos construidos con Arduino y el sensor de oxígeno DFRobot.

Si tiene más preguntas, por favor publíquelas en la sección de comentarios.

Estaré encantado de responder a ellas. 

1. ¿Cómo se calibra el sensor de oxígeno?

Puede calibrar el sensor de oxígeno del DFrobot en el entorno exterior. Para calibrar el sensor, espere 10 minutos en el entorno exterior.

Pulse el botón de calibración durante más de 2 segundos. El sensor está ahora calibrado. 

2. ¿Cómo se conecta el sensor de oxígeno del DFrobot a Arduino?

El sensor de oxígeno del DFrobot viene con la interfaz serial I2C.

Puedes conectar los pines A5 y A4 del Arduino UNO a los pines SCl y SDA del sensor.

La dirección I2C puede ser 0x70, 0x71, 0x72 y 0x73. 

3. ¿Cuáles son las aplicaciones del sensor de oxígeno? 

A continuación se enumeran las aplicaciones del sensor de oxígeno DFRobot.

  1. Control de la calidad del aire en las calles urbanas: especialmente en las zonas donde hay mucho tráfico o más tiempo de espera cerca de los semáforos. 
  1. Control del nivel de oxígeno en entornos industriales - Las industrias que procesan productos químicos o fertilizantes tienen un mayor riesgo de trabajar en un entorno contaminado. Existe la posibilidad de que los niveles de oxígeno sean más bajos, lo que puede suponer un grave peligro para la salud. 
  1. Un entorno de trabajo más seguro para las personas que trabajan en entornos difíciles, como las minas. Las minas son lugares donde el flujo de aire es muy escaso. Por lo tanto, lo mejor sería que siempre se vigilaran los niveles de oxígeno. 
  1. Control de la calidad del aire en los colegios
  1. Control del nivel de oxígeno en lugares públicos como teatros, salas y fiestas. 

Conclusión

En este artículo, cubrimos los fundamentos del sensor de oxígeno DFRobot Gravity.

Hemos repasado el diagrama de conexión y el código Arduino necesario para leer la concentración de oxígeno en la atmósfera mediante el sensor. 

Ahora puede completar con éxito las conexiones y programar su Arduino UNO. 

Una vez leído el nivel de concentración de oxígeno, hay que actuar en función de los límites definidos.

Puede hacer sonar una alarma, enviar un mensaje por GSM o simplemente registrar la duración y los niveles de la concentración de oxígeno. 

¿Qué aplicaciones tienes previstas con el sensor de oxígeno Arduino?

Por favor, hágamelo saber en la sección de comentarios más abajo.

Si tienes alguna opinión para mejorar el artículo, compártela en la sección de comentarios.

Su valiosa aportación me ayuda a mejorar la calidad del artículo y a aportar más contenido útil en el futuro. 

Por favor, recuerda compartir el artículo sobre el Arduino y el sensor de oxígeno con tus compañeros entusiastas del Arduino.

Dennis

Saturday 18th of March 2023

Where do I get "DFRobot_OxygenSensor.h" ?