Différences entre les pages « Group:S'adapter au changement climatique en ville » et « M5Stick - CO2- capteur de particules - MQTT »

 
 
Ligne 1 : Ligne 1 :
{{Group Details
+
{{Tuto Details
|group-logo=Group-S_adapter_au_changement_climatique_en_ville_traceville.jpg
+
|Main_Picture=M5Stick_-_CO2-_capteur_de_particules_-_MQTT_Capture_d_e_cran_2022-03-02_a_17.02.33.png
|group-banner=Group-S_adapter_au_changement_climatique_en_ville_ville.jpg
+
|Licences=Attribution (CC-BY)
|group-description=Réchauffement climatique, tempêtes et inondations plus fréquents, sécheresse, canicule, pollution... Le changement global s'illustre par des conséquences multiples, et certaines touchent plus particulièrement le milieu urbain. Ce parcours s'articule autour de trois chapitres et objectifs : comprendre, mesurer, proposer. Vous y trouverez : des expériences simples pour mieux comprendre les origines et les mécanismes de quelques-unes des menaces qui pèsent sur la ville; des activités concrètes et ludiques pour observer, mesurer, étudier les effets du changement global sur les côtes à la manière des scientifiques ; des jeux et des défis pour imaginer, tester et proposer des solutions pour apprendre à s'adapter aux changements.
+
|Description=Crowdsourcing pour tous : Programmation et visualisation de capteurs fixes pour permettre aux citoyen.nes de produire diverses mesures dans un programme de santé environnement. Programme pour envoyer des données en MQTT entre un M5Stick-C avec les capteurs CO2 SensAirS8 et un capteur de particules HM3301 au site AdafruitIO
|GroupAge=A partir de 7 ans
+
|Disciplines scientifiques=Arduino, Computing, Life Sciences
|GroupDuration=plusieurs séances
+
|Difficulty=Easy
 +
|Duration=1
 +
|Duration-type=hour(s)
 
}}
 
}}
{{Group Tabs
+
{{Introduction
|group-long-description=Ce parcours propose une exploration du thème du changement climatique et de l'adaptation au changement climatique enzone urbaine.
+
|Introduction=L’air constitue le premier des éléments nécessaires à la vie.
  
 +
Chaque jour, un être humain adulte inhale 10 000 à 20 000 litres d’air en fonction de sa morphologie, de ses activités.
  
Il regroupe des activités variées : expériences ludiques, jeux de rôles, recueil de propositions, débats animés... qui peuvent être abordées de façon simple avec les plus jeunes, et plus approfondies avec des enfants de cycle 3, des adolescents ou des adultes.
+
En plus de l’oxygène (O2) et le diazote (N2), qui représentent en moyenne 99 % de sa composition, cet air que nous respirons contient aussi des polluants, sous forme gazeuse, liquide ou solide d’origine naturelle (embruns marins, poussières, pollens…) ou résultant d’activités humaines (trafic routier, production d’énergie, industrie, agriculture…).
  
 +
La pollution de l'air a des effets significatifs et multiples sur la santé et l'environnement.
  
Il est possible de réaliser un parcours complet, ou seulement certaines parties, selon le temps et le matériel disponible, l'âge des publics visés etc...
+
La pénétration de ces polluants dans l’organisme peut avoir des conséquences sur la santé à court et long terme.  
  
*L'introduction, commune aux trois parcours "Adaptation", permet de comprendre à l'aide de quelques expériences certaines bases et principaux enjeux du changement global en milieu urbain.
+
La qualité de l'air et la pollution de l'air sont donc des enjeux majeurs pour la santé.
*Le chapitre "Exploration" se divise en 3 parties, qui peuvent être proposées les unes à la suite des autres ou réalisées indépendamment, du moment que le thème fait l'objet d'une introduction le visionnage d'une vidéo, une visite de site, une entrevue avec un expert ou autre activité préparatoire, qui peut être tout simplement une discussion avec les participants autour d'une actualité ou de leur ressenti sur le changement climatique.
 
  
==='''1) Introduction : Le réchauffement climatique, l'adaptation : qu'est-ce que c'est ?'''===
 
''N.B : cette introduction est commune aux trois parcours du thème "Adaptation" : "S'adapter au changement climatique à la campagne", "S'adapter au changement climatique en ville" et "S'adapter au changement climatique en bord de mer".''
 
  
 +
'''Ici, nous allons programmer un M5StickC pour obtenir une meilleure connaissance de la qualité de l’air avec mesure du pourcentage de CO2 et la mesure de particules en suspension.'''
  
Le réchauffement climatique, ou "changement climatique" fait partie d'un phénomène que l'on appelle le "changement global". Il se traduit par une augmentation de la température moyenne de la planète, qui devrait atteindre 1 à plus de 5 degrés d'ici 2100 selon les scientifiques du GIEC (Groupe d'Experts Intergouvernemental sur l'Evolution du Climat).
+
'''Le programme est à télécharger dans l'onglet "Fichiers"'''. Il vous suffira de le télécharger, de le décompresser et de mettre le dossier contenant 2 fichiers (M5Stick-test-CO2-PM-Date-IOAdafruit.ino + time_zones.h) dans le dossier de croquis de Arduino.
  
Ce phénomène s'explique principalement par un renforcement de l''''effet de serre''' causé par certains gaz libérés en très grandes quantités dans l'atmosphère par les activités humaines, principalement les industries et les transports qui utilisent des énergies combustibles fossiles (pétrole, charbon et gaz naturel, sources de CO2), ainsi que l'agriculture intensive (source de méthane, CH4).
+
Lorsque vous ouvrirez ce projet dans Arduino, vous vous retrouverez avec un croquis à 2 onglets : ''M5Stick-test-CO2-PM-Date-IOAdafruit'' et ''time_zones.h''
  
 +
Ce 2ème onglet permet d'afficher la date et l'heure sur l'écran. Vous pouvez aller à l'étape 7 pour voir comment modifier votre localisation si vous n'êtes pas dans le même fuseau horaire.
  
'''L'effet de serre, kézako ?'''
 
  
L'effet de serre est un phénomène naturel important pour la survie de la planète. Il permet d'avoir une température moyenne sur Terre de 15° C contre -18°C si cet effet n'existait pas. Les gaz à effet de serre sont naturellement peu abondants dans l’atmosphère mais du fait des activités humaines, la concentration de ces gaz s’est sensiblement modifiée (la concentration de CO2 a augmenté de 30% depuis une centaine d’années).
+
Vous avez en plus à votre disposition d'autres liens pour télécharger des codes pour un M5StickCplus :
  
Cet excès de '''gaz à effet de serre''' (GES) provoque un dérèglement de cet effet de serre naturel, rendu plus intense (on parle d''''effet de serre additionnel'''), et donc une augmentation du réchauffement de la planète.
+
- M5StickCPlus-CO2-PM-Date-Batterie-IOAdafruit.zip : Indication niveau et gestion de la batterie : indication du % en charge et décharge et mise en veille si le niveau est trop faible.  Une petite description en étape 9.
<br />{{#annotatedImageLight:Fichier:Fumees usines-DomainePublic-red.jpg|0=960px|hash=|jsondata=|mediaClass=Image|type=frameless|align=center|src=https://www.wikidebrouillard.org/images/8/86/Fumees_usines-DomainePublic-red.jpg|href=./Fichier:Fumees usines-DomainePublic-red.jpg|resource=./Fichier:Fumees usines-DomainePublic-red.jpg|caption=La pollution de l'air est la principale cuaes du réchauffement climatique.|size=960px}}
 
  
 +
- M5StickCPlus-CO2-PM-Date-BattMini-IOAdafruit-V2.zip : Un buzzer en plus lorsqu'il y a trop de CO2. Une petite description en étape 10.
  
Comment ça fonctionne ?
 
  
 +
'''D'autres projets capteurs avec un M5StickC :'''
  
'''<u>Activité 1 : Expérience :</u> [[Tester l'effet de serre avec des glaçons]]'''
+
*CO2 + DHT [[M5Stick - SensAirS8 - DHT - MQTT]]
 +
*CO2 + BME-BMP280 [[M5Stick_-_CO2-_BME280-_MQTT]]
 +
*SGP30 + DHT [[M5Stick_-_SGP30_-_DHT_-_MQTT]]
 +
}}
 +
{{Materials
 +
|ItemList={{ItemList
 +
|Item=M5StickC
 +
}}{{ItemList
 +
|Item=Capteur de CO2 SENSEAIR S8
 +
}}{{ItemList
 +
|Item=HM3301
 +
}}{{ItemList
 +
|Item=Ordinateur
 +
}}{{ItemList
 +
|Item=Fer à souder
 +
}}{{ItemList
 +
|Item=Câble Dupont
 +
}}{{ItemList
 +
|Item=Breadboard
 +
}}
 +
|Prerequisites={{Prerequisites
 +
|Prerequisites=Installer l'environnement Arduino sur votre système
 +
}}{{Prerequisites
 +
|Prerequisites=Importer de nouvelles cartes dans l'interface Arduino
 +
}}{{Prerequisites
 +
|Prerequisites=Importer des bibliothèques dans l'interface Arduino
 +
}}{{Prerequisites
 +
|Prerequisites=Créer un compte chez AdafruitIO pour envoyer des données dans le web
 +
}}{{Prerequisites
 +
|Prerequisites=Envoyer des données sur le WEB grâce à MQTT
 +
}}{{Prerequisites
 +
|Prerequisites=Un capteur de CO2 avec UIFLOW et M5STICK
 +
}}{{Prerequisites
 +
|Prerequisites=Capteur de particules
 +
}}{{Prerequisites
 +
|Prerequisites=DataLab - Chapitre 3 - Connecter ses capteurs
 +
}}{{Prerequisites
 +
|Prerequisites=M5Stick - SensAirS8 - DHT - MQTT
 +
}}{{Prerequisites
 +
|Prerequisites=M5Stick - CO2- BME280- MQTT
 +
}}
 +
|Tuto_Attachments={{Tuto Attachments}}{{Tuto Attachments}}
 +
|ExternalAttachmentsLinks={{ExternalAttachmentsLinks
 +
|ExternalAttachmentsLinks=https://lab.debrouillonet.org/g.apremont/m5stick-co2-capteur-de-particules-mqtt/-/blob/main/M5Stick-test-CO2-PM-Date-IOAdafruit.zip
 +
}}{{ExternalAttachmentsLinks
 +
|ExternalAttachmentsLinks=https://lab.debrouillonet.org/g.apremont/m5stick-co2-capteur-de-particules-mqtt/-/blob/main/M5StickCPlus-CO2-PM-Date-Batterie-IOAdafruit.zip
 +
}}{{ExternalAttachmentsLinks
 +
|ExternalAttachmentsLinks=https://lab.debrouillonet.org/g.apremont/m5stick-co2-capteur-de-particules-mqtt/-/blob/main/M5StickCPlus-CO2-PM-Date-BattMini-IOAdafruit-V2.zip
 +
}}
 +
}}
 +
{{Tuto Step
 +
|Step_Title=Installation M5Stick-C
 +
|Step_Content=Bien entendu, il faut avoir installé Arduino
  
 +
[[Installer l'environnement Arduino sur votre système]]
  
Pour aller plus loin, voir l'article "[https://www.futura-sciences.com/planete/definitions/changement-climatique-rechauffement-climatique-13827/ Réchauffement climatique]" publié sur le site Futura Sciences.
 
  
 +
'''Importer de nouvelles cartes dans l'interface Arduino'''
  
'''Qu'est-ce que l'adaptation au changement climatique ?'''
 
  
On distingue deux stratégies des populations humaines face au changement climatique : l'atténuation, qui consiste à mettre en oeuvre des actions pour limiter le phénomène et ses effets, et l'adaptation, qui consiste à modifier et ajuster le fonctionnement des sociétés humaines au changement climatique et à ses conséquences.
+
'''1-Ajout d'un catalogue de cartes dans l'interface de développement Arduino'''
  
 +
[[Importer de nouvelles cartes dans l'interface Arduino]]
  
L'adaptation peut être en partie spontanée, et en partie volontaire et réfléchie. Elle a pour objectifs de rendre les populations moins vulnérables aux changements du climat et de l'environnement, de limiter les effets négatifs du phénomène et de profiter des certains de ses effets positifs.
+
-> Préférences -> URL de gestionnaire de cartes supplémentaires
  
Atténuation et Adaptation ne sont pas deux stratégies opposées mais complémentaires, et toutes deux sont indispensables. Les experts du GIEC s'accordent sur le fait qu'il ne sera pas possible d'annuler totalement les effets du changement climatique dans l'avenir, il est donc indispensable et urgent d'apprendre à s'adapter aux conditions actuelles et futures que le changement climatique dessine.
+
https://dl.espressif.com/dl/package_esp32_index.json
  
Cette notion d'adaptation s'inspire de l'adaptation, naturelle et involontaire, des êtres vivants à leur environnement.
 
  
 +
'''2-Ajout de la carte'''
  
'''Pour aller plus loin :'''
+
-> Outils -> Type de carte -> Gestionnaire de carte -> Rechercher et installer ESP32
 +
|Step_Picture_00=Item-M5StickC_m5stickc_03_large.png
 +
|Step_Picture_01=Importer_de_nouvelles_cartes_dans_l_interface_Arduino_Capture_d_cran_du_2020-09-04_12-00-32.png
 +
|Step_Picture_02=Importer_de_nouvelles_cartes_dans_l_interface_Arduino_Capture_d_cran_du_2020-09-04_12-01-00.png
 +
|Step_Picture_03=Importer_de_nouvelles_cartes_dans_l_interface_Arduino_Capture_d_cran_du_2020-09-04_12-01-20.png
 +
|Step_Picture_04=Importer_de_nouvelles_cartes_dans_l_interface_Arduino_Capture_d_cran_du_2020-09-04_12-07-34.png
 +
|Step_Picture_05=M5Stick_-_SGP30_-_DHT_-_MQTT_Capture_d_e_cran_2022-03-07_a_11.35.16.png
 +
}}
 +
{{Tuto Step
 +
|Step_Title=Import bibliothèque
 +
|Step_Content=Pour notre projet, nous aurons besoin d'ajouter les bibliothèques suivantes  via l'interface Arduino :
  
*voir l'article "[https://www.afd.fr/fr/actualites/ladaptation-au-changement-climatique-cest-quoi L'adaptation au changement climatique, c'est quoi ?]" de l'Agence Française de Développement (AFD)
+
-> M5SticKC (M5SticKCPlus si vous utilisez ce modèle)
*voir l'article "[https://www.ademe.fr/expertises/changement-climatique/quoi-parle-t/lattenuation-ladaptation l'atténuation et l'adaptation]" publié sur le site de l'ADEME (Agence de la transition écologique).
 
  
'''Comment le vivant s'adapte-t-il ?'''
+
-> EspSoftwareSerial
  
Les organismes vivants évoluent dans le temps par des modifications génétiques involontaires et incontrôlables, appelées '''mutations'''.
+
-> Tomoto_HM330X.h        [[Item:HM3301]]
  
Lorsque les conditions de leur environnement se modifient, les mutations génétiques avantagent certaines espèces vivantes , qui grâce à elles vont plus facilement survivre et se reproduire dans ce nouveau milieu que d'autres espèces. On dit que ce espèces se sont adaptées (involontairement) à leur nouvel environnement.
+
-> AirGradient_Air_Quality_Sensor
  
Au contraire, d'autres espèces peuvent ne pas connaitre de mutations, ou subir des mutations qui les désavantagent face à ces nouvelles conditions de vie, elles peuvent alors régresser, voire disparaitre, car elles seront moins efficaces pour survivre et se reproduire de génération en génération. Ce processus est appelé '''sélection naturelle'''.
+
-> Adafruit_MQTT
  
  
Une activité amusante permet de mieux comprendre l'adaptation et la sélection naturelle chez les êtres vivants :
+
[[Importer des bibliothèques dans l'interface Arduino]]
  
'''<u>Activité 2: Jeu :</u>''' [[jeu des phalènes]]
+
Vous pouvez installer que les bibliothèques ci-dessus.
 +
|Step_Picture_00=Importez_des_biblioth_ques_de_programme_dans_l_interface_Arduino_Capture_d_cran_du_2020-09-04_10-58-27.png
 +
|Step_Picture_01=M5Stick_-_SensAirS8_-_DHT_-_MQTT_Capture_d_e_cran_2022-02-23_a_15.45.43.png
 +
}}
 +
{{Tuto Step
 +
|Step_Title=Modification d'une bibliothèque pour la gestion de plusieurs capteurs sur le M5Stick-C
 +
|Step_Content=Pour pouvoir utiliser les 2 capteurs (DHT et SensAIrS8) en même temps, il va falloir modifier le fichier '''''AirGradient.cpp''''' qui se trouve dans la bibliothèque AirGradient_Air_Quality_Sensor fraichement installer.
  
==='''2) Exploration'''===
+
Pour le modifier, il faut aller dans votre dossier
'''<u>Activité 3 : Débat mouvant</u>'''
 
  
 +
Arduino -> libraries -> AirGradient_Air_Quality_Sensor
  
Le débat mouvant est un format d'animation qui demande aux participant.e.s de se prononcer comme étant "d'accord" ou "pas d'accord" avec des affirmations proposées par l'animateur.trice sur un thème. Il est utile pour faire un état des lieux des connaissances et des opinions d'un groupe, et peut également servir de lancement à des débats animés. Les phrases proposées peuvent être volontairement clivantes, exprimer des stéréotypes, des contre-vérités ou être ambiguës, selon les points que l'on souhaite explorer.
+
Ouvrir le fichier AirGradient.cpp avec un éditeur de texte.
  
 +
Pour ne pas supprimer les lignes, nous allons tout simplement mettre certaines lignes en commentaire. Pour se faire il suffit de mettre '''<big>//</big>''' en début de ligne.
  
'''Les règles et le déroulement du débat mouvant  :'''
+
-> Trouver PMS_Init(D5,D6); (Ligne 60) mettre cette ligne  en commentaire '''''//PMS_Init(D5,D6)''''';
  
L'animateur.trice trace une ligne imaginaire (ou non !) au sol pour délimiter deux espaces. Il.Elle se place au centre et explique la consigne : pour chaque affirmation prononcée, chaque participant.e devra se placer d'un côté ou de l'autre de cette ligne selon qu'elle.il s'estime d'accord ou pas d'accord avec cette affirmation.
+
-> Trouver CO2_Init(D4,D3); (Ligne 569) mettre en commentaire '''''//  CO2_Init(D4,D3);'''''
  
Il est possible de choisir si les participant.e.s ont le droit ou non de rester indécis, et dans ce cas de rester placé.e.s sur la ligne.
+
-> Trouver Wire.begin(); (Ligne45) mettre en commentaire '''''//Wire.begin();'''''
 +
|Step_Picture_00=M5Stick_-_SensAirS8_-_DHT_-_MQTT_Capture_d_e_cran_2022-02-23_a_15.52.14.png
 +
|Step_Picture_01=M5Stick_-_SensAirS8_-_DHT_-_MQTT_Capture_d_e_cran_2022-02-23_a_16.31.46.png
 +
|Step_Picture_02=M5Stick_-_SensAirS8_-_DHT_-_MQTT_Capture_d_e_cran_2022-02-23_a_15.52.47.png
 +
}}
 +
{{Tuto Step
 +
|Step_Title=Configuration du Wifi
 +
|Step_Content=Pour que votre M5 se connecte au Wifi, il va falloir agir sur le programme lui-même avec l'interface Arduino.  
  
Idéalement, chaque participant doit réfléchir à un argument, un seul, le plus déterminant, qui motive son positionnement.
+
Pour un M5Stick classique, le programme à télécharger est [https://lab.debrouillonet.org/g.apremont/m5stick-co2-capteur-de-particules-mqtt/-/blob/main/M5Stick-test-CO2-PM-Date-IOAdafruit.zip ici] :
  
Une fois tout le monde positionné.e, l'animateur.trice peut donner la parole à des partisan.e.s des deux opinions, chacun.e présentera alors SON argument-phare.
+
Pour un M5StickCPlus, [https://lab.debrouillonet.org/g.apremont/m5stick-co2-capteur-de-particules-mqtt/-/blob/main/M5StickCPlus-CO2-PM-Date-BattMini-IOAdafruit-V2.zip la dernière version est là].
  
  
Les autres participant.e.s ne doivent pas commenter, réagir ou répondre aux arguments formulés durant le jeu. Leur propre argument ne doit pas être une réponse personnelle directe à un.e autre participant.e.
+
Ouvrir le fichier .ino dans Arduino. Vous allez découvrir le code dans son ensemble. Vous devriez vous retrouver avec un croquis à 2 onglets : ''M5Stick.........'' et ''time_zones.h''
  
Cependant les animateurs.trices peuvent choisir ponctuellement ou après le jeu d'ouvrir un débat dans lequel chacun pourra s'interroger, s'exprimer plus largement, répondre aux arguments formulés et développer plus amplement ses propres arguments.
 
  
  
'''Voir le guide très complet "Débat mouvant sur le climat" réalisé par le Réseau National d'Education à l'Environnement''', avec des propositions adaptées selon les âges des participant.e.s.
+
Rechercher et remplacer dans le code "LENOMDETABOX " par le nom de votre réseau WIFI et le "LEMDPDETABOX" par votre clé Wifi.<syntaxhighlight lang="c++">
 +
/************************* Configuration pour le Wifi ************************/
 +
const char* ssid = "LENOMDETABOX ";        // Nom de votre réseau WIFI
 +
const char* password = "LEMDPDETABOX";    // Clef Wifi
  
 +
</syntaxhighlight>
 +
|Step_Picture_00=M5Stick_-_CO2-_capteur_de_particules_-_MQTT_Capture_d_e_cran_2022-03-02_a_17.20.32.png
 +
}}
 +
{{Tuto Step
 +
|Step_Title=AdafruitIO
 +
|Step_Content=Retrouvez toutes les informations sur les 2 pages suivantes
  
[[:Fichier:Debat mouvant sur le climat-ReseauNationalEducationEnvironnement.pdf]]
+
[[Créer un compte chez AdafruitIO pour envoyer des données dans le web]]
  
 +
[[Envoyer des données sur le WEB grâce à MQTT]]
  
'''Quelques exemples de phrases pouvant être proposées :'''
+
Remplacer "Username"  avec votre nom d'utilisateur sur io.adafruit et  "ActiveKey"  la clef généré sur AdafruitIO.
  
 +
Ligne 157 du programme    // Sélectionner les flux que vous voulez faire apparaitre sur votre bureau ioAdafruit. Attention à la limite de données envoyées.
  
'''Sur le changement climatique global :'''
+
Avec les capteurs de notre expérience, nous allons pouvoir récupérer les valeurs suivantes : %CO2, PM1, PM2,5 et PM10. Il va falloir créer les "feeds" correspondantes.
  
- On ne peut rien faire contre le changement climatique
 
  
- Tous les humains sont égaux face au changement climatique
+
Dans le code, pour envoyer ces données, ça se traduit comme ci-dessous.
  
- Le changement climatique cause des catastrophes dans le monde
+
CO2.publish(valCO2);
  
- Lutter contre les effets du changement climatique demande beaucoup d'argent
+
PM1.publish(sensor.std.getPM1());
  
- Les citoyens ne peuvent pas agir seuls
+
PM2_5.publish(sensor.std.getPM2_5());
  
- Les humains peuvent s'adapter au changement climatique
+
PM10.publish(sensor.std.getPM10());
  
- Le climat va se réguler naturellement avec le temps
+
<br /><syntaxhighlight lang="c++">
 +
/************************* Configuration pour utiliser MQTT Adafruit *********************************/
 +
#define AIO_SERVER      "io.adafruit.com"
 +
#define AIO_SERVERPORT  1883
  
 +
// Suivre ce tuto pour récupérer les infos nécessaires https://www.wikidebrouillard.org/wiki/Cr%C3%A9er_un_compte_chez_AdafruitIO_pour_envoyer_des_donn%C3%A9es_dans_le_web
 +
#define AIO_USERNAME    "USERNAME"        //Votre nom d'utilisateur sur io.adafruit
 +
#define AIO_KEY        "KEY"      //Votre clef AdafruitIO
  
'''Sur le changement climatique en ville :'''
+
/************ Création des objets pour l'horloge ******************************************************/
 +
const char* ntpServer = "pool.ntp.org";
 +
const char* location  = "Europe/Paris";  // voir dans l'onglet time_zones.h si vous n'êtes pas sur le même fuseau horaire
  
- Il fera bientôt trop chaud dans les villes en été
+
/************ Création des objets MQTT et Wifi ******************************************************/
 +
WiFiClient client;                                                                      // Création d'un objet client wifi, nécessaire pour initier la connexion avec le serveur Adafruit MQTT.
 +
Adafruit_MQTT_Client mqtt(&client, AIO_SERVER, AIO_SERVERPORT, AIO_USERNAME, AIO_KEY);  // Création de l'objet mqtt nécessaire à la connexion avec le serveur
  
- Pour supporter le réchauffement climatique, la seule solution est de vivre à la campagne
+
/****************************** Création des flux de données ****************************************/
 +
// Création des objets PM1.0, PM2.5 PM10 et CO2
 +
// Renseigner les chemins de vos flux de données "/feeds/******
 +
// voir tuto https://www.wikidebrouillard.org/wiki/Envoyer_des_donn%C3%A9es_sur_le_WEB_gr%C3%A2ce_%C3%A0_MQTT
  
- Il est possible de protéger la nature en ville
+
Adafruit_MQTT_Publish CO2 = Adafruit_MQTT_Publish(&mqtt, AIO_USERNAME "/feeds/CO2");
 +
Adafruit_MQTT_Publish PM1 = Adafruit_MQTT_Publish(&mqtt, AIO_USERNAME "/feeds/PM1");
 +
Adafruit_MQTT_Publish PM2_5 = Adafruit_MQTT_Publish(&mqtt, AIO_USERNAME "/feeds/PM2_5");
 +
Adafruit_MQTT_Publish PM10 = Adafruit_MQTT_Publish(&mqtt, AIO_USERNAME "/feeds/PM10");
 +
</syntaxhighlight><br />
 +
|Step_Picture_00=Cr_er_un_compte_chez_AdafruitIO_pour_envoyer_des_donn_es_dans_le_web_Adafruit-IO-Logo.png
 +
|Step_Picture_01=Cr_er_un_compte_chez_AdafruitIO_pour_envoyer_des_donn_es_dans_le_web_Capture_d_cran_du_2020-09-04_16-23-11.png
 +
|Step_Picture_02=Cr_er_un_compte_chez_AdafruitIO_pour_envoyer_des_donn_es_dans_le_web_Capture_d_cran_du_2020-09-04_16-36-30.png
 +
}}
 +
{{Tuto Step
 +
|Step_Title=Branchement des capteurs
 +
|Step_Content=-> Capteur HM3301 en grove
  
- Il faudra bientôt imposer une limite de population dans les villes
+
-> Capteur CO2 -> Étape un peu de soudure
  
- Les constructions actuelles ne sont pas adaptées à l'évolution du climat
+
Dans l'étape 1 de la page [[Un capteur de CO2 avec UIFLOW et M5STICK]], un peu de soudure pour pouvoir connecter simplement votre capteur de CO2 au M5Stick.
  
- Seules les villes les plus riches peuvent prendre des mesures pour protéger l'environnement
+
* G+ au 5V
 +
* G0 au GND
 +
* TX au 26
 +
* RX au 36
  
- La nourriture nécessaire aux habitants des villes doit être produite à la campagne
+
La calibration du capteur se fait avec le bouton du M5StcikC déjà intégré.
  
- Les écoquartiers sont réservés aux habitants riches
+
'''D'autres capteurs ici :''' [[DataLab - Chapitre 3 - Connecter ses capteurs]]
=='''Partie 1 : Comprendre'''==
+
|Step_Picture_00=Un_capteur_de_CO2_avec_UIFLOW_et_M5STICK_PXL_20220127_092811583_3.jpg
{{#annotatedImageLight:Fichier:Village pendant une indondation-DomainePublic-red.jpg|0=400px|hash=|jsondata=|mediaClass=Image|type=frameless|align=center|src=https://www.wikidebrouillard.org/images/1/11/Village_pendant_une_indondation-DomainePublic-red.jpg|href=./Fichier:Village pendant une indondation-DomainePublic-red.jpg|resource=./Fichier:Village pendant une indondation-DomainePublic-red.jpg|caption=A cause du réchauffement climatique, les inondations et épisodes de sécheresse sont plus fréquents.|size=400px}}<br />
+
|Step_Picture_01=Capteur_de_particules_IMG_20190915_140558.jpg
 +
|Step_Picture_02=Un_capteur_de_CO2_avec_UIFLOW_et_M5STICK_m5stickOK.png
 +
|Step_Picture_03=M5Stick_-_CO2-_capteur_de_particules_-_MQTT_Capture_d_e_cran_2022-03-02_a_17.02.45.png
 +
}}
 +
{{Tuto Step
 +
|Step_Title=Gestion de l'horloge
 +
|Step_Content=Vous pouvez remplacer '''''"Europe/Paris"''''' sur la ligne
  
===='''Comment le changement climatique agit-il en ville ?'''====
+
-> const char* location  = "'''''Europe/Paris'''''";
  
Le changement climatique entraîne une augmentation des températures moyennes et des épisodes de canicule plus fréquents et plus intenses pendant l'été. Cette augmentation de température se traduit, plus particulièrement dans les villes, par l'apparition de zones surchaufées appelées "ilôts de chaleur, et par une augmentation de la pollution atmosphérique. En effet, le temps ensoleillé et chaud s'accompagne de pressions atmosphériques élevées, qui forment une sorte de couvercle au dessus du sol. Les particules et les gaz polluants produits dans les villes par l'industrie et les transports se trouvent alors piégés par cette couche d'air et la qualité de l'air se dégrade.
+
par une autre localisation.
  
 +
Il suffit de récupérer dans l'onglet '''''time_zones.h''''', la destination de votre choix.
  
 
L'activité suivante permet de mieux comprendre les conséquences de l'augmentation de la pollution de l'air sur la santé des habitants des villes.
 
 
'''<u>Activité 4</u> : [[Drôle d'air dans mes poumons]]'''
 
 
 
Les ilôts de chaleur se multiplient dans les zones urbaines. Cette expérience simple montre le rôle des couleurs et des matériaux utilisés pour la construction dans ce phénomène.
 
 
'''<u>Activité 5</u> : [[Lumière, couleurs et chaleur|Effet d'albédo et matériaux]]'''
 
 
 
Avec le réchauffement climatique, dans de nombreuses régions, les pluies deviennent plus rares mais plus intenses. Des villes traversées par des rivières sont de plus en plus confrontées à des inondations. Pour comprendre pourquoi, il faut se pencher sur le fonctionnement d'un bassin versant, et sur la façon dont les aménagements des cours d'eau modifient la circulation de l'eau dans les villes.
 
 
'''<u>Activité 6</u> ''': '''[https://www.wikidebrouillard.org/wiki/Bassin_versant bassin versant]'''
 
=='''Partie 2 : Mesurer'''==
 
 
<br />
 
<br />
 +
|Step_Picture_00=M5Stick_-_CO2-_capteur_de_particules_-_MQTT_Capture_d_e_cran_2022-03-03_a_09.31.24.png
 +
|Step_Picture_01=M5Stick_-_CO2-_capteur_de_particules_-_MQTT_Capture_d_e_cran_2022-03-03_a_09.37.25.png
 +
}}
 +
{{Tuto Step
 +
|Step_Title=Envoyer le programme dans le M5Stick-C
 +
|Step_Content=Avant de téléverser le programme dans votre carte électronique, vous devez vous assurer que le bon type de carte est sélectionné (ici '''M5Stick-C''') et que le bon port COM est sélectionné.
  
===='''Comment observer l'impact du changement global en ville ?'''====
+
Pour se faire, il vous suffit d'aller dans l'onglet "'''''Outils'''''"
  
Tous les bâtiments ne sont pas adaptés pour affronter les conséquences du changement climatique et limiter la consommation d'énergie. Un diagnostic énergétique consiste à identifier les points forts et les points faibles d'une construction. Il est possible de réaliser un diagnostic énergétique chez soi ou à l'école de manière simple et avec très peu de matériel.
+
# Puis "'''''Type de carte'''''"-> "'''''Gestionnaire de carte'''''"-> "'''''ESP32 Arduino'''''" -> "'''''M5Stick-C'''''" (Sélectionner la carte avec laquelle vous travaillez)
 +
# Choisir le Port sur lequel est branché votre carte
 +
#
  
'''<u>Activité 7</u> : [[Diagnostic énergie]]'''
+
Il ne vous reste plus qu'à téléverser.
  
  
Contrairement à une idée très répandue, la nature est bien présente dans les villes, même si l'on n'y fait pas toujours attention. Les naturalistes s'intéressent de plus en plus à cette biodiversité urbaine, qui subit elle aussi les effets de changement climatique, mais qu'il est possible de protéger. L'activité suivante proposeune initiation aux sciences participatives, qui sont aussi un moyen de participer à l'étude et à la préservation des espèces, même en ville !
+
Vous pouvez suivre l'avancée du processus en ouvrant la console et/ou regarder ce qui se passe sur l'écran du M5Stick-C.
 +
|Step_Picture_00=M5Stick_-_CO2-_BME280-_MQTT_Capture_d_e_cran_2022-03-04_a_09.20.40.png
 +
|Step_Picture_01=M5Stick_-_CO2-_BME280-_MQTT_Capture_d_e_cran_2022-03-04_a_09.30.04.png
 +
|Step_Picture_02=M5Stick_-_CO2-_BME280-_MQTT_Capture_d_e_cran_2022-03-04_a_09.27.43.png
 +
|Step_Picture_03=M5Stick_-_CO2-_BME280-_MQTT_Capture_d_e_cran_2022-03-04_a_09.34.52.png
 +
}}
 +
{{Tuto Step
 +
|Step_Title=Gestion de la batterie
 +
|Step_Content=Indication du % de la batterie en charge et décharge plus mise en veille si la batterie est trop faible.<syntaxhighlight lang="c++">
 +
#include <M5StickCPlus.h>
  
'''<u>Activité 8</u> : [[S'initier aux sciences participatives en ville|Les sciences participatives en ville]]'''
+
/*************** Gestion Batterie ***********************/
 +
float b, c = 0; // b = batterie interne, c si en charge
 +
int batterie = 0; //valeur batterie en %
  
  
=='''Partie 3 : Proposer'''==
+
void setup() {
 +
  M5.begin();
 +
  M5.Lcd.setRotation(3);
 +
}
  
==='''Peut-on agir face au changement climatique ? Tous acteurs de l'adaptation !'''===
+
void loop() {
  
 +
  M5.Lcd.setCursor(190, 10);
 +
  M5.Lcd.setTextSize(1.5);
 +
  c = M5.Axp.GetVapsData() * 1.4 / 1000;
 +
  b = M5.Axp.GetVbatData() * 1.1 / 1000;
 +
  batterie = ((b - 3.0) / 1.2) * 100;
  
''N.B : les deux activités suivantes font partie du tronc commun aux trois parcours du thème "Adaptation".''
+
  if (c >= 4.5) {
 +
    M5.Lcd.setTextColor(TFT_YELLOW, BLACK);
 +
    M5.Lcd.print("CHG:"); //Indique CHG en jaune si cable USB branché
 +
  }
 +
  else {
 +
    M5.Lcd.setTextColor(GREEN, BLACK);
 +
    M5.Lcd.print("BAT:"); //Indique BAT en vert si M5 non branché
 +
  }
  
Comme de nombreuses activités humaines lorsqu'elles ne sont pas correctement gérées, le changement climatique menace la biodiversité.
+
  if (batterie > 100)
 +
    batterie = 100;
 +
  else if (batterie < 100 && batterie > 9)
 +
    M5.Lcd.print("");
 +
  else if (batterie < 9)
 +
    M5.Lcd.print("");
 +
  if (batterie < 10)
 +
    M5.Axp.DeepSleep();  // Si la batterie est trop faible = mise en veille
  
En ville, à la campagne, en bord de mer ou en montagne, quel que soit l'environnement, il est possible de participer au retour des plantes et des animaux sauvages et à leur protection, grâce à quelques bonnes pratiques et des équipements très simples, faciles à fabriquer et à installer.
+
  M5.Lcd.print(batterie);
 +
  M5.Lcd.print("%"); // % de batterie
  
'''<u>Activité 9 :</u> [[Un coup de pouce pour la biodiversité|Un coup de pouce à la biodiversité]]'''
+
}
 +
</syntaxhighlight>
 +
|Step_Picture_00=M5Stick_-_CO2-_capteur_de_particules_-_MQTT_Capture_d_e_cran_2022-03-14_a_15.10.31.png
 +
|Step_Picture_01=M5Stick_-_CO2-_capteur_de_particules_-_MQTT_Capture_d_e_cran_2022-03-14_a_15.10.39.png
 +
}}
 +
{{Tuto Step
 +
|Step_Title=Alarme - air vicié
 +
|Step_Content=Comme il y a un piézo incorporé dans le M5StickCPlus, on en profite pour lancer un son bien désagréable lorsque le % correspond à un air vicié<syntaxhighlight lang="c++">
 +
/*************** Gestion Alarme ***********************/
 +
int freq = 1800;
 +
int channel = 0;
 +
int resolution_bits = 8;
 +
int buzzer = 2;
  
En observant son territoire, il est souvent assez simple d'imaginer des améliorations qui permettront de mieux faire face aux conséquences du changement climatique avec quelques adaptations. Transport, énergie, biodiversité, alimentation, déchets, les citoyens sont les bienvenus pour imaginer des propositions.
+
/****************************** SETUP *******************************************/
'''<u>Activité 10 :</u> [[Des projets pour...]]'''
+
void setup() {
 +
ledcSetup(channel, freq, resolution_bits); // alarme
 +
ledcAttachPin(buzzer, channel);
 +
}
  
 +
/****************************** LOOP *******************************************/
 +
void loop() {
 +
  ledcWrite(channel, 0);
  
'''Comment s'adapter au changement climatique en ville?'''
+
if (co2_val.toInt() >= 1500) {
 
+
    M5.Lcd.drawRoundRect(185, 30, 44.75, 15, 2, RED);
La multiplication des ilôts de chaleur en ville est un problème majeur, mais il existe des solutions efficaces. Avec ce défi amusant, imaginez, expérimentez et comparez différents moyens de faire baisser la température !
+
    M5.Lcd.fillRoundRect(185, 30, 44.75, 15, 2, RED);
'''<u>Activité 11</u> : [[Défi : rafraîchir la ville|Rafraîchir la ville]]'''
+
    M5.Lcd.setTextColor(RED);
 
+
    M5.Lcd.setCursor(160, 55);
Un territoire peut toujours évoluer, changer et s'adaoter à de nouveaux objectifs et contraintes. Avec ce jeu de rôle en équipes, vous vous glisserez dans la peau d'un maire ou d'un expert, et avant tout d'un citoyen, pour imaginer votre ville  éco-responsable.
+
    M5.Lcd.print("VICIE");
 
+
    ledcWrite(channel, 128);
'''<u>Activité 12</u> : [[Imagine ta ville|Imagine]] ta ville'''
+
  }
<br />
+
}
|GroupObjectif=*Comprendre et explorer la notion d'adaptation au changement climatique
+
</syntaxhighlight>CO2 est élevé.
*Expérimenter pour mieux comprendre les mécanismes et les enjeux de base du phénomène de réchauffement climatique
+
|Step_Picture_00=M5Stick_-_CO2-_capteur_de_particules_-_MQTT_Capture_d_e_cran_2022-03-18_a_10.14.10.png
*Expérimenter pour constater les principaux effets de changement climatique sur le milieu urbain (ilôts de chaleur, pollution...)
+
|Step_Picture_01=M5Stick_-_CO2-_capteur_de_particules_-_MQTT_Capture_d_e_cran_2022-03-18_a_10.14.23.png
*Echanger et débattre des enjeux du changement climatique et de l'évolution des activités humaines
+
}}
*Découvrir et appliquer des méthodes scientifiques d'étude et de suivi des espèces vivantes en milieu urbain pour mesurer l'impact du changement climatique
+
{{Notes}}
*Découvrir et comparer quelques pistes d'adaptation concrètes aux changements en ville (construction, mobilité...)
+
{{Tuto Status
*Imaginer et proposer des actions pour s'adapter au changement climatique sur son territoire
+
|Complete=Published
 
}}
 
}}

Version du 22 mars 2022 à 17:13

Auteur avatarbloupy | Dernière modification 5/05/2022 par Bloup

M5Stick - CO2- capteur de particules - MQTT Capture d e cran 2022-03-02 a 17.02.33.png
Crowdsourcing pour tous : Programmation et visualisation de capteurs fixes pour permettre aux citoyen.nes de produire diverses mesures dans un programme de santé environnement. Programme pour envoyer des données en MQTT entre un M5Stick-C avec les capteurs CO2 SensAirS8 et un capteur de particules HM3301 au site AdafruitIO
Licence : Attribution (CC-BY)

Introduction

L’air constitue le premier des éléments nécessaires à la vie.

Chaque jour, un être humain adulte inhale 10 000 à 20 000 litres d’air en fonction de sa morphologie, de ses activités.

En plus de l’oxygène (O2) et le diazote (N2), qui représentent en moyenne 99 % de sa composition, cet air que nous respirons contient aussi des polluants, sous forme gazeuse, liquide ou solide d’origine naturelle (embruns marins, poussières, pollens…) ou résultant d’activités humaines (trafic routier, production d’énergie, industrie, agriculture…).

La pollution de l'air a des effets significatifs et multiples sur la santé et l'environnement.

La pénétration de ces polluants dans l’organisme peut avoir des conséquences sur la santé à court et long terme.

La qualité de l'air et la pollution de l'air sont donc des enjeux majeurs pour la santé.


Ici, nous allons programmer un M5StickC pour obtenir une meilleure connaissance de la qualité de l’air avec mesure du pourcentage de CO2 et la mesure de particules en suspension.

Le programme est à télécharger dans l'onglet "Fichiers". Il vous suffira de le télécharger, de le décompresser et de mettre le dossier contenant 2 fichiers (M5Stick-test-CO2-PM-Date-IOAdafruit.ino + time_zones.h) dans le dossier de croquis de Arduino.

Lorsque vous ouvrirez ce projet dans Arduino, vous vous retrouverez avec un croquis à 2 onglets : M5Stick-test-CO2-PM-Date-IOAdafruit et time_zones.h

Ce 2ème onglet permet d'afficher la date et l'heure sur l'écran. Vous pouvez aller à l'étape 7 pour voir comment modifier votre localisation si vous n'êtes pas dans le même fuseau horaire.


Vous avez en plus à votre disposition d'autres liens pour télécharger des codes pour un M5StickCplus :

- M5StickCPlus-CO2-PM-Date-Batterie-IOAdafruit.zip : Indication niveau et gestion de la batterie : indication du % en charge et décharge et mise en veille si le niveau est trop faible. Une petite description en étape 9.

- M5StickCPlus-CO2-PM-Date-BattMini-IOAdafruit-V2.zip : Un buzzer en plus lorsqu'il y a trop de CO2. Une petite description en étape 10.


D'autres projets capteurs avec un M5StickC :

  • Expériences pré-requises
  • Fichiers

Étape 1 - Installation M5Stick-C

Bien entendu, il faut avoir installé Arduino

Installer l'environnement Arduino sur votre système


Importer de nouvelles cartes dans l'interface Arduino


1-Ajout d'un catalogue de cartes dans l'interface de développement Arduino

Importer de nouvelles cartes dans l'interface Arduino

-> Préférences -> URL de gestionnaire de cartes supplémentaires

https://dl.espressif.com/dl/package_esp32_index.json


2-Ajout de la carte

-> Outils -> Type de carte -> Gestionnaire de carte -> Rechercher et installer ESP32

Étape 2 - Import bibliothèque

Pour notre projet, nous aurons besoin d'ajouter les bibliothèques suivantes via l'interface Arduino :

-> M5SticKC (M5SticKCPlus si vous utilisez ce modèle)

-> EspSoftwareSerial

-> Tomoto_HM330X.h Item:HM3301

-> AirGradient_Air_Quality_Sensor

-> Adafruit_MQTT


Importer des bibliothèques dans l'interface Arduino

Vous pouvez installer que les bibliothèques ci-dessus.



Étape 3 - Modification d'une bibliothèque pour la gestion de plusieurs capteurs sur le M5Stick-C

Pour pouvoir utiliser les 2 capteurs (DHT et SensAIrS8) en même temps, il va falloir modifier le fichier AirGradient.cpp qui se trouve dans la bibliothèque AirGradient_Air_Quality_Sensor fraichement installer.

Pour le modifier, il faut aller dans votre dossier

Arduino -> libraries -> AirGradient_Air_Quality_Sensor

Ouvrir le fichier AirGradient.cpp avec un éditeur de texte.

Pour ne pas supprimer les lignes, nous allons tout simplement mettre certaines lignes en commentaire. Pour se faire il suffit de mettre // en début de ligne.

-> Trouver PMS_Init(D5,D6); (Ligne 60) mettre cette ligne en commentaire //PMS_Init(D5,D6);

-> Trouver CO2_Init(D4,D3); (Ligne 569) mettre en commentaire // CO2_Init(D4,D3);

-> Trouver Wire.begin(); (Ligne45) mettre en commentaire //Wire.begin();


Étape 4 - Configuration du Wifi

Pour que votre M5 se connecte au Wifi, il va falloir agir sur le programme lui-même avec l'interface Arduino.

Pour un M5Stick classique, le programme à télécharger est ici :

Pour un M5StickCPlus, la dernière version est là.


Ouvrir le fichier .ino dans Arduino. Vous allez découvrir le code dans son ensemble. Vous devriez vous retrouver avec un croquis à 2 onglets : M5Stick......... et time_zones.h


Rechercher et remplacer dans le code "LENOMDETABOX " par le nom de votre réseau WIFI et le "LEMDPDETABOX" par votre clé Wifi.
/************************* Configuration pour le Wifi ************************/
const char* ssid = "LENOMDETABOX ";        // Nom de votre réseau WIFI
const char* password = "LEMDPDETABOX";    // Clef Wifi




Étape 5 - AdafruitIO

Retrouvez toutes les informations sur les 2 pages suivantes

Créer un compte chez AdafruitIO pour envoyer des données dans le web

Envoyer des données sur le WEB grâce à MQTT

Remplacer "Username" avec votre nom d'utilisateur sur io.adafruit et "ActiveKey" la clef généré sur AdafruitIO.

Ligne 157 du programme // Sélectionner les flux que vous voulez faire apparaitre sur votre bureau ioAdafruit. Attention à la limite de données envoyées.

Avec les capteurs de notre expérience, nous allons pouvoir récupérer les valeurs suivantes : %CO2, PM1, PM2,5 et PM10. Il va falloir créer les "feeds" correspondantes.


Dans le code, pour envoyer ces données, ça se traduit comme ci-dessous.

CO2.publish(valCO2);

PM1.publish(sensor.std.getPM1());

PM2_5.publish(sensor.std.getPM2_5());

PM10.publish(sensor.std.getPM10());


/************************* Configuration pour utiliser MQTT Adafruit *********************************/
#define AIO_SERVER      "io.adafruit.com"
#define AIO_SERVERPORT  1883

// Suivre ce tuto pour récupérer les infos nécessaires https://www.wikidebrouillard.org/wiki/Cr%C3%A9er_un_compte_chez_AdafruitIO_pour_envoyer_des_donn%C3%A9es_dans_le_web
#define AIO_USERNAME    "USERNAME"        //Votre nom d'utilisateur sur io.adafruit
#define AIO_KEY         "KEY"      //Votre clef AdafruitIO

/************ Création des objets pour l'horloge ******************************************************/
const char* ntpServer = "pool.ntp.org";
const char* location  = "Europe/Paris";  // voir dans l'onglet time_zones.h si vous n'êtes pas sur le même fuseau horaire

/************ Création des objets MQTT et Wifi ******************************************************/
WiFiClient client;                                                                      // Création d'un objet client wifi, nécessaire pour initier la connexion avec le serveur Adafruit MQTT.
Adafruit_MQTT_Client mqtt(&client, AIO_SERVER, AIO_SERVERPORT, AIO_USERNAME, AIO_KEY);  // Création de l'objet mqtt nécessaire à la connexion avec le serveur

/****************************** Création des flux de données ****************************************/
// Création des objets PM1.0, PM2.5 PM10 et CO2
// Renseigner les chemins de vos flux de données "/feeds/******
// voir tuto https://www.wikidebrouillard.org/wiki/Envoyer_des_donn%C3%A9es_sur_le_WEB_gr%C3%A2ce_%C3%A0_MQTT

Adafruit_MQTT_Publish CO2 = Adafruit_MQTT_Publish(&mqtt, AIO_USERNAME "/feeds/CO2");
Adafruit_MQTT_Publish PM1 = Adafruit_MQTT_Publish(&mqtt, AIO_USERNAME "/feeds/PM1");
Adafruit_MQTT_Publish PM2_5 = Adafruit_MQTT_Publish(&mqtt, AIO_USERNAME "/feeds/PM2_5");
Adafruit_MQTT_Publish PM10 = Adafruit_MQTT_Publish(&mqtt, AIO_USERNAME "/feeds/PM10");


Étape 6 - Branchement des capteurs

-> Capteur HM3301 en grove

-> Capteur CO2 -> Étape un peu de soudure

Dans l'étape 1 de la page Un capteur de CO2 avec UIFLOW et M5STICK, un peu de soudure pour pouvoir connecter simplement votre capteur de CO2 au M5Stick.

  • G+ au 5V
  • G0 au GND
  • TX au 26
  • RX au 36

La calibration du capteur se fait avec le bouton du M5StcikC déjà intégré.

D'autres capteurs ici : DataLab - Chapitre 3 - Connecter ses capteurs


Étape 7 - Gestion de l'horloge

Vous pouvez remplacer "Europe/Paris" sur la ligne

-> const char* location = "Europe/Paris";

par une autre localisation.

Il suffit de récupérer dans l'onglet time_zones.h, la destination de votre choix.




Étape 8 - Envoyer le programme dans le M5Stick-C

Avant de téléverser le programme dans votre carte électronique, vous devez vous assurer que le bon type de carte est sélectionné (ici M5Stick-C) et que le bon port COM est sélectionné.

Pour se faire, il vous suffit d'aller dans l'onglet "Outils"

  1. Puis "Type de carte"-> "Gestionnaire de carte"-> "ESP32 Arduino" -> "M5Stick-C" (Sélectionner la carte avec laquelle vous travaillez)
  2. Choisir le Port sur lequel est branché votre carte

Il ne vous reste plus qu'à téléverser.


Vous pouvez suivre l'avancée du processus en ouvrant la console et/ou regarder ce qui se passe sur l'écran du M5Stick-C.


Étape 9 - Gestion de la batterie

Indication du % de la batterie en charge et décharge plus mise en veille si la batterie est trop faible.
#include <M5StickCPlus.h>

/*************** Gestion Batterie ***********************/
float b, c = 0; // b = batterie interne, c si en charge
int batterie = 0; //valeur batterie en %


void setup() {
  M5.begin();
  M5.Lcd.setRotation(3);
}

void loop() {

  M5.Lcd.setCursor(190, 10);
  M5.Lcd.setTextSize(1.5);
  c = M5.Axp.GetVapsData() * 1.4 / 1000;
  b = M5.Axp.GetVbatData() * 1.1 / 1000;
  batterie = ((b - 3.0) / 1.2) * 100;

  if (c >= 4.5) {
    M5.Lcd.setTextColor(TFT_YELLOW, BLACK);
    M5.Lcd.print("CHG:"); //Indique CHG en jaune si cable USB branché
  }
  else {
    M5.Lcd.setTextColor(GREEN, BLACK);
    M5.Lcd.print("BAT:"); //Indique BAT en vert si M5 non branché
  }

  if (batterie > 100)
    batterie = 100;
  else if (batterie < 100 && batterie > 9)
    M5.Lcd.print("");
  else if (batterie < 9)
    M5.Lcd.print("");
  if (batterie < 10)
    M5.Axp.DeepSleep();  // Si la batterie est trop faible = mise en veille

  M5.Lcd.print(batterie);
  M5.Lcd.print("%"); // % de batterie

}



Étape 10 - Alarme - air vicié

Comme il y a un piézo incorporé dans le M5StickCPlus, on en profite pour lancer un son bien désagréable lorsque le % correspond à un air vicié
/*************** Gestion Alarme ***********************/
int freq = 1800;
int channel = 0;
int resolution_bits = 8;
int buzzer = 2;

/****************************** SETUP *******************************************/
void setup() {
 ledcSetup(channel, freq, resolution_bits); // alarme
 ledcAttachPin(buzzer, channel);
}

/****************************** LOOP *******************************************/
void loop() {
  ledcWrite(channel, 0);

if (co2_val.toInt() >= 1500) {
    M5.Lcd.drawRoundRect(185, 30, 44.75, 15, 2, RED);
    M5.Lcd.fillRoundRect(185, 30, 44.75, 15, 2, RED);
    M5.Lcd.setTextColor(RED);
    M5.Lcd.setCursor(160, 55);
    M5.Lcd.print("VICIE");
    ledcWrite(channel, 128);
  }
}
CO2 est élevé.




Dernière modification 5/05/2022 par user:Bloup.

Commentaires

Published