Close
0%
0%

Interfacing Gravity Infrared CO2 Sensor & Arduino

In this project, we are going to interface the Gravity Infrared CO2 Sensor with Arduino to estimate the CO2 concentration in PPM.

Similar projects worth following
112 views
0 followers
The project describes how to interface the Gravity Infrared CO2 Sensor with Arduino to estimate the CO2 concentration in PPM

About Project

Gravity Infrared CO2 Sensor is the current high-precision analog infrared CO2 sensor. The Infrared CO2 Sensor basically comes with a 3-pin connector

This sensor is based on non-dispersive infrared (NDIR) technology and has better selectivity and oxygen-free dependency. It combines temperature compensation and assists DAC output. The efficient measuring range of this sensor is from 0 to 5000ppm with an accuracy of ± 50ppm + 3%. This Infrared CO2 Sensor can be utilized in HVAC, indoor air quality analyzing, industrial process as well as security protection analyzing, agriculture as well as animal husbandry production process analyzing.

0.96’ OLED Display Module

OLED is a self-light-emitting technology, designed by placing a series of organic thin films in between two conductors.

IoT Course will help you to know more about IoT

  • 1 × Arduino Nano R3
  • 1 × Gravity Infrared CO2 Sensor V1.1
  • 1 × Jumper wires (generic)
  • 1 × 0.96’ SPI OLED Display Module
  • 1 × Breadboard

  • 1
    Run a Program

    int sensorIn = A4;
    #include
    #include
    #include
    #define SCREEN_WIDTH 128 // OLED display width, in pixels
    #define SCREEN_HEIGHT 64 // OLED display height, in pixels
    // Declaration for SSD1306 display connected using software SPI (default case):
    #define OLED_MOSI 9
    #define OLED_CLK 10
    #define OLED_DC 11
    #define OLED_CS 12
    #define OLED_RESET 13
    Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT,
    OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);
    void setup(){
    Serial.begin(9600);
    // Set the default voltage of the reference voltage
    analogReference(DEFAULT);
    display.begin(SSD1306_SWITCHCAPVCC);
    display.clearDisplay();
    display.display();
    }
    void loop(){
    //Read voltage
    int sensorValue = analogRead(sensorIn);
    // The analog signal is converted to a voltage
    float voltage = sensorValue*(5000/1024.0);
    if(voltage == 0)
    {
    Serial.println("Fault");
    }
    else if(voltage < 400)
    {
    Serial.println("preheating");
    }
    else
    {
    int voltage_diference=voltage-400;
    float concentration=voltage_diference*50.0/16.0;
    // Print Voltage
    Serial.print("voltage: ");
    Serial.print(voltage);
    Serial.println("mv");
    //Print CO2 concentration
    Serial.print("CO2 Concentration: ");
    Serial.print(concentration);
    Serial.println("ppm");
    display.setTextSize(2);
    display.setTextColor(WHITE);
    display.setCursor(18,43);
    display.println("CO2");
    display.setCursor(63,43);
    display.println("(PPM)");
    display.setTextSize(2);
    display.setCursor(28,5);
    display.println(concentration);
    display.display();
    display.clearDisplay();
    }
    delay(2000);
    }

View all instructions

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates