viernes, 20 de noviembre de 2015

[Arduino 14] Arduino Sensor de Oxígeno (Grove - Gas Sensor O2)

En el tutorial de hoy mostrare como utilizar un nuevo sensor que adquirí para hacer un proyecto en la universidad. El sensor del que les hablo es el Grove - Gas sensor (O2) con este sensor podemos medir la cantidad de oxígeno presente en el medio donde nos encontramos.

Objetivos
  • Aprender a utilizar y programar el sensor Grove - Gas Sensor (O2)
  • Conocer las características de este sensor
  • Realizar un sketch donde utilicemos el sensor de O2
Materiales
Modulo sensor de gas (O2) (Grove - Gas Sensor (O2))
Este es un sensor que sirve para medir la concentración del oxígeno en el aire, este se basa en el principio de la celda electroquímica para su trabajo original
Características:
  • Alta presión
  • Alta sensibilidad
  • Amplia gama de linealidad
  • Fuerte capacidad anti interferencia
  • Confiabilidad extraordinaria
Especificaciones

Uso del sensor
Este sensor tiene una salida analógica. Una aplicación de este sensor es la que veremos a continuación para poder medir el volumen del O2 en el aire.

Importante: Se debe dejar el sensor de gas (O2) encendido por mas de 48 hrs (tiempo de calentamiento) antes de leer los datos reales.

Circuito
El circuito es muy simple solo basta con conectar los pines del sensor de O2 y el buzzer de manera correcta al arduino y cargar el código conectando los 5V donde se indica en el sensor, de la misma la tierra (GND) y la señal analógica la obtenemos del pin SIG que conectaremos a A0 en este caso particular.



Sketch
En este código veremos como controlar un buzzer de acuerdo a la concentración de O2 del aire. Cuando la concentración del oxígeno esta por debajo del mínimo establecido por nosotros mismos en la variable valorPeligro, el buzzer va a sonar en señal de alerta dejándonos saber que el nivel de oxígeno en el lugar donde nos encontramos esta por debajo de lo que necesitamos.

Importante (Calibración): La calibración del sensor es algo importante que debe hacer cada uno de ustedes cuando usen este sensor. Primero tienen que estar en un lugar donde estimen que la concentración de O2 sea máxima (20,94%). Pueden investigar un poco acerca de la composición del aire y se podrán dar cuenta de que es la que se indica anteriormente. Nosotros ademas sabemos que la curva del sensor es lineal por lo que podemos calcular el porcentaje de O2 de la siguiente manera (voltaje entregado por el sensor*20,94)/(voltaje del sensor cuando la concentración sea máxima). En la imagen siguiente se ilustra lo que he explicado con anterioridad.

(Click en la imagen para ver en grande :) )


#include <math.h>
const int buzzerPin=3; //Conectar el Buzzer al Pin3, Digital 3
float valorPeligro= 19.5;
//Aqui ponemos el minimo de oxigeno que consideramos encender la alarma.  

void setup(){
        Serial.begin(9600);
}

void loop(){
        float valorSensor;
        float voltajeSensor; 
        float Valor_O2;
        valorSensor = analogRead(A0);
        voltajeSensor =(valorSensor/1024)*5.0;
        Valor_O2 = voltajeSensor*20.94/2.47;

        Serial.print("voltaje escalado: ");
        Serial.println(voltajeSensor);
        Serial.print("Concentration of O2 is ");
        Serial.print(Valor_O2,1);
        Serial.println("%");

 
        if(Valor_O2<=valorPeligro)
         {
           digitalWrite(3,HIGH);
         }
         else digitalWrite(3,LOW);
        delay(1000);
}


Resultados
Como resultado del sketch deberíamos obtener algo como lo que se puede ver en la imagen siguiente, si les molesta ver el valor de voltaje entregado por el sensor, simplemente borran las sentencias que se Serial.print siguientes ya que solo nos sirve para la calibración del sensor.

        Serial.print("voltaje escalado: ");
        Serial.println(voltajeSensor);)


Fotos










Fuentes
Pueden encontrar mas información de este sensor en los siguientes enlaces.

Seed Studio
Data sheet (chino)

22 comentarios:

  1. seguro que necesita tanto tiempo de calentamiento?, algunos dispositivos similares requieren de de 30 a 60 segundos unicamente...

    ResponderBorrar
  2. Buenas, este sensor sirve para medir concentración de O2 disuelto en agua?

    ResponderBorrar
  3. Amigo cuanto cuesta este sensor de O2

    ResponderBorrar
  4. donde lo venden en chile ??

    ResponderBorrar
  5. Buenas noches ante mano gracias por el aporte sobre el sensor de oxigeno actualmente también cuento con sensor (Grove - Gas Sensor (O2) lleva 24 horas encendido corro el programa y me muestra una lectura de 1.22V Y 10.8% de oxigeno mi pregunta es esto se debe por no haber transcurrido las 48 horas de calentamiento ???

    ResponderBorrar
    Respuestas
    1. Hola, veo que ya hiciste la prueba. Al terminar las 48hrs la lectura se encontraba cerca al 20.5% O2 ?
      Y ese procedimiento es necesario solo la primera vez o cada vez que se energiza el sensor?

      Borrar
  6. niños, necesito saber donde conseguir este sensor aquí en México (SONORA) pero economico!! gracias, o si alguien lo tiene, me lo puede vender?

    ResponderBorrar
  7. Hola, Sebastián. Tengo un sensor de Oxígeno Disuelto marca Sensorex (http://microlabinfo.com/wp-content/uploads/2013/09/DO-1200-Specs.pdf) y necesito leer datos con Arduino. Ya hice un sketch pero me varían mucho los datos. Quería saber si podrías ayudarme con este problema que tengo. Muchas gracias.

    ResponderBorrar
    Respuestas
    1. yo también necesito medir oxigeno disuelto en agua , enocntraste al forma?

      Borrar
  8. hola que tal. ¿El sensor puede medir la concentración de oxigeno del gas medico (oxigeno) de los hospitales?

    ResponderBorrar
  9. hola, necesito hacer un programa que mida la saturacion de oxigeno
    alguien tiene alguna ayuda que me pueda dar

    gracias

    ResponderBorrar
  10. Consulta .....si el semsor me da 1 volt a concentracion normal de oxigeno que es 20%, eso esta bien, o debo dar cercano a 2.4 volt?

    ResponderBorrar
    Respuestas
    1. espera a que suba.......sino esta malo.....es muy bajo el valor

      Borrar
  11. BUENOS DIAS ESTE SENSOR SE PUEDE USAR EN UN CONCENTRADOR DE OXIGENO MEDICINAL

    ResponderBorrar
    Respuestas
    1. no, para uno medicinal necesitas un sensor que sea de rango 0-100

      Borrar
  12. Respuestas
    1. https://teslabem.com/tienda/grove-gas-sensor-o2/

      HetPro tambien lo vende creo que algo mas caro chécalo

      Borrar