Projet

Général

Profil

Winsen MH-Z19C

  • Capteur choisi sur Aliexpress
  • Documentation technique du constructeur Winsen
  • Précision : ± 50ppm+5% reading value de 400 à 5000 ppm
  • Broches : Vin (5V), GND, Rx, Tx.

Premiers essais

  • Connexion à une carte Arduino UNO :
MH-Z19C Arduino
GND GND
Vin 5V
Tx 10
Rx 11
  • Utilisation de la bibliothèque "MH-Z19" par Jonathan Dempsey, disponible dans le gestionnaire de bibliothèques de l'IDE Arduino. https://github.com/WifWaf/MH-Z19
  • Dans les exemples de programmes intégrés à cette bibliothèque, le programme "BasicUsage" permet de relever la température interne du capteur et le taux de CO2 en ppm, toutes les 2 secondes.
  • Acquisition des données, via le moniteur série, pendant environ 3h, à partir de 12h le jeudi 29 avril 2021 dans la salle "imprimante 3D".
  • Le capteur est alimenté par l'Arduino.
  • Enregistrement et traitement des données dans un tableur, voir fichier ci-dessous.

Essais avec alimentation externe

Nouveau programme et utilisation de la même bibliothèque MH-Z19.
Utilisation de VSCode + PlatformIO

Microcontrôleur : ESP32 modèle NodeMCU 32S, "WROOM32" indiqué sur le module.ESP32.jpg

Fonctionnalités du programme

Bibliothèques utilisées

#include <Arduino.h>
Utilisation de la structure de programme Arduino
#include <HardwareSerial.h>
Communication série via les ports RX/TX de l'ESP
#include <NTPClient.h>
Connexion à un serveur de temps pour l'horodatage
#include <WiFi.h>
#include <WiFiUdp.h>
#include <PubSubClient.h>
#include "MHZ19.h" 
#include "SPIFFS.h" 

Bibliothèque MH-Z19

Pour calibrer le capteur : https://github.com/WifWaf/MH-Z19/blob/master/examples/Calibration/Calibration.ino

Horodatage

Récupération de la date et l'heure sur un serveur NTP
Utilisation de la bibliothèque NTP client
  • connexion au wifi
  • enregistrement des données dans la mémoire de l'ESP (SPIFFS)