|

Lecture capteur de dioxyde de carbone ENS160 + AHT21, CO2 eCO2 TVOC avec arduino UNO

Prérequis :

  • 1 x Carte Arduino Uno
  • 1 x Capteur de dioxyde de carbone ENS160 + AHT21
  • Fils de connexion

Version IDE :

  • Arduino IDE 2.3.5

Bibliothèque :

Vidéo de démonstration :

Schéma de câblage :

Code :

#include <Wire.h>

///// AHT20 start
#include <Adafruit_AHTX0.h>

Adafruit_AHTX0 aht;

int tempC;        //Pour stocker la température en °C
int tempF;        //température en F
int humidity;     //Pour stocker l'humidité
///// AHT20 

#include "ScioSense_ENS160.h"  // ENS160 library
//ScioSense_ENS160      ens160(ENS160_I2CADDR_0); //0x52
ScioSense_ENS160      ens160(ENS160_I2CADDR_1); //0x53..ENS160+AHT21

void setup() {

  Serial.begin(9600);

  while (!Serial) {}

  Serial.println("------------------------------------------------------------");
  Serial.println("ENS160 - Capteur numérique de qualité de l'air");
  Serial.println();
  Serial.println("Lecture du capteur en mode standard");
  Serial.println();
  Serial.println("------------------------------------------------------------");
  delay(1000);

  Serial.print("ENS160...");
  ens160.begin();
  Serial.println(ens160.available() ? "fait." : "échoué !");
  if (ens160.available()) {
    // Imprimer les versions ENS160
    Serial.print("\tRev: "); Serial.print(ens160.getMajorRev());
    Serial.print("."); Serial.print(ens160.getMinorRev());
    Serial.print("."); Serial.println(ens160.getBuild());
  
    Serial.print("\tMode standard ");
    Serial.println(ens160.setMode(ENS160_OPMODE_STD) ? "fait." : "échoué !");
  }

  // AHT20 start
  Serial.println("Adafruit AHT10/AHT20 demo!");

  if (! aht.begin()) {
    Serial.println("Impossible de trouver l'AHT ? Vérifiez le câblage.");
    while (1) delay(10);
  }
  Serial.println("AHT10 ou AHT20 trouvé");
  //AHT20 end

} 


void loop() {
  
    ///// AHT20 start 
  sensors_event_t humidity1, temp; 
  aht.getEvent(&humidity1, &temp); 
  tempC = (temp.temperature);
  tempF = (temp.temperature)*1.8+32;
  humidity = (humidity1.relative_humidity);
  Serial.println("------------------------------------------------------------");
  Serial.print("Température: "); 
  Serial.print(tempC); 
  Serial.println(" degrees C");
  //Serial.print("Température: "); 
  //Serial.print(tempF); 
  //Serial.println(" degrees F");
  Serial.print("Humidité relative: "); 
  Serial.print(humidity); 
  Serial.println("% rH");

  delay(1000);

    ///// AHT20 end

  if (ens160.available()) {

    // Give values to Air Quality Sensor.
    ens160.set_envdata(tempC, humidity);

    ens160.measure(true);
    ens160.measureRaw(true);
  
    Serial.print("AQI: ");Serial.println(ens160.getAQI());
    Serial.print("TVOC: ");Serial.print(ens160.getTVOC());Serial.println("ppb");
    Serial.print("eCO2: ");Serial.print(ens160.geteCO2());Serial.println("ppm");
    Serial.print("R HP0: ");Serial.print(ens160.getHP0());Serial.println("Ohm");
    Serial.print("R HP1: ");Serial.print(ens160.getHP1());Serial.println("Ohm");
    Serial.print("R HP2: ");Serial.print(ens160.getHP2());Serial.println("Ohm");
    Serial.print("R HP3: ");Serial.print(ens160.getHP3());Serial.println("Ohm");
  }
  delay(1000);

} 

Publications similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *