Mini station météo (qualité de l'air) : Différence entre versions

Ligne 4 : Ligne 4 :
  
 
Prototype réalisé dans le cadre du Hackathon Kit4kids 2019 par Denis Bernabeu, Lucas Dupor et Sylvain Charron
 
Prototype réalisé dans le cadre du Hackathon Kit4kids 2019 par Denis Bernabeu, Lucas Dupor et Sylvain Charron
|Disciplines scientifiques=Arduino, Computing, Electricity, Physics
+
|Disciplines scientifiques=Arduino
 
|Difficulty=Technical
 
|Difficulty=Technical
 
|Duration=4
 
|Duration=4
Ligne 60 : Ligne 60 :
  
 
Une fois cela fait, utiliser le code ci-dessus qui permet de récupérer les données envoyées par les capteurs et de les afficher sur l'écran de la carte :
 
Une fois cela fait, utiliser le code ci-dessus qui permet de récupérer les données envoyées par les capteurs et de les afficher sur l'écran de la carte :
 
/* Frankencode fait lors de la session KIT4Kids 2019 à Nantes (3,4 et 5 décembre) par Lucas Dupor, Sylvain Charron et Bernabeu Denis*/
 
 
#include <Arduino.h>
 
 
#include <U8g2lib.h>
 
 
#include <DHTesp.h>;
 
 
#ifdef U8X8_HAVE_HW_SPI
 
 
#include <SPI.h>
 
 
#endif
 
 
#ifdef U8X8_HAVE_HW_I2C
 
 
#include <Wire.h>
 
 
#endif
 
 
DHTesp dht;
 
 
U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ 16, /* clock=*/ 5, /* data=*/ 4);
 
 
int analog_pin=A0;
 
 
void setup(void) {
 
 
Serial.begin(9600);
 
 
  u8g2.begin(); // Initialise l'écran
 
 
  dht.setup(12, DHTesp::DHT22); // Connection DHT senseur à la GPIO 12 (sortie 12)
 
 
 
 
}
 
 
void loop(void) {
 
 
 
 
int tempy; // variable lié aux gaz
 
 
tempy=analogRead(analog_pin);
 
 
Serial.print("Température : "); //faire apparaitre dans le moniteur série les valeurs de température et d'humidité
 
 
Serial.println(dht.getTemperature());
 
 
Serial.print("Humidité : ");
 
 
Serial.println(dht.getHumidity());
 
 
u8g2.clearBuffer();  // Nettoyage de la mémoire interne
 
 
u8g2.setFont(u8g2_font_ncenB08_tr); // Choix d'une police d'écriture
 
 
u8g2.setCursor(10, 15);
 
 
u8g2.print("Temperature : ");
 
 
u8g2.println(dht.getTemperature()); // Affichage de la valeur de température
 
 
u8g2.setCursor(10, 25);
 
 
u8g2.print("Humidity:");  // remarque : c'est en anglais car le caractère "é" ne veut pas s'afficher
 
 
u8g2.println(dht.getHumidity()); // Affichage de la valeur d'humidité
 
 
u8g2.println("%");
 
 
u8g2.sendBuffer();  // Transfert de la mémoire interne à l'écran
 
 
delay(4000); 
 
 
if(tempy>512)  // début d'une boucle "si" pour savoir si le capteur détecte trop de gaz dangereux
 
 
{
 
 
u8g2.clearBuffer();          // Nettoyage de la mémoire interne
 
 
  u8g2.setFont(u8g2_font_ncenB08_tr); // Choix d'une police d'écriture
 
 
  u8g2.drawStr(0,10,"Alerte Danger!");  // Ecriture dans la mémoire interne
 
 
  u8g2.setCursor(0, 25);
 
 
  u8g2.print(tempy);          // affichage de la valeur de gaz
 
 
  u8g2.sendBuffer();          // Transfert de la mémoire interne à l'écran
 
 
  delay(3000); 
 
 
delay(1000);
 
 
}
 
 
else
 
 
{
 
 
u8g2.clearBuffer();       
 
 
  u8g2.setFont(u8g2_font_ncenB08_tr);
 
 
  u8g2.drawStr(0,10,"Sans danger!");
 
 
  u8g2.setCursor(0, 25);
 
 
  u8g2.print(tempy);
 
 
  u8g2.sendBuffer();         
 
 
  delay(3000); 
 
 
}
 
   
 
 
}
 
 
 
 
Pour une utilisation plus complète de la carte Heltech, se reporter au schéma suivant qui explique plus en détails le rôle des différents PINS :
 
Pour une utilisation plus complète de la carte Heltech, se reporter au schéma suivant qui explique plus en détails le rôle des différents PINS :
  

Version du 5 décembre 2019 à 15:58

Auteur avatar20-syl | Dernière modification 20/12/2019 par 20-syl

Pas encore d'image

Création d'une station météo capable d'analyser la qualité de l'air. Prototype réalisé dans le cadre du Hackathon Kit4kids 2019 par Denis Bernabeu, Lucas Dupor et Sylvain Charron
Licence : Attribution (CC-BY)

Introduction

Le but de ce tutoriel est d'assembler une station météo équipée pour afficher la température, l'humidité et la concentration en gaz nocifs.

Cette station se veut simple d'utilisation et réalisable à bas coût.
  • Fichiers

Étape 1 - Placer la carte sur la Breadboard

Après avoir soudé la carte à une embase à broches, la placer sur la Breadboard.


Étape 2 - Connecter les capteurs à la carte

Une fois la carte placée sur la Breadboard, les 2 capteurs se connectent de la façon suivante (voir schéma).

Étape 3 - Téléverser le code de la station météo

Connecter la carte à l'ordinateur en utilisant un câble USB / micro USB.


Une fois cela fait, ouvrir le logiciel Arduino et télécharger la bibliothèque correspondant au capteur DHT 22 et compatible avec la carte Heltech : DHTesp.


Une fois cela fait, utiliser le code ci-dessus qui permet de récupérer les données envoyées par les capteurs et de les afficher sur l'écran de la carte : Pour une utilisation plus complète de la carte Heltech, se reporter au schéma suivant qui explique plus en détails le rôle des différents PINS :

https://user-images.githubusercontent.com/3751318/37211768-50f5be2c-23ad-11e8-9385-416477cd0312.png


Étape 4 - Préparer l'alimentation de la station météo

La station fonctionne au moyen d'une batterie 18650 que l'on installe sur un support.


Connecter la sortie 5 Volts de ce support à la borne 5V de la carte Heltech sur la Breadboard.


Remarque : on peut également utiliser d'autres batteries


Étape 5 - Construire le boîtier de la station météo

Le plus simple est d'opter pour une boîte en carton parallélépipédique.


Avec le matériel décrit sur cette page, les dimensions étaient celles décrites sur la photo du patron.



Étape 6 - Placer les éléments dans le support

Comment ça marche ?

Observations : que voit-on ?

La station permet d'afficher


Dernière modification 20/12/2019 par user:20-syl. Draft