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

Ligne 3 : Ligne 3 :
 
|Description=Création d'une station météo capable d'analyser la qualité de l'air.
 
|Description=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
+
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, Computing, Electricity, Physics
 
|Difficulty=Technical
 
|Difficulty=Technical
Ligne 13 : Ligne 13 :
 
|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.
 
|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
+
Cette station se veut simple d'utilisation et réalisable à bas coût.
 
}}
 
}}
 
{{Materials
 
{{Materials
Ligne 36 : Ligne 36 :
 
|Step_Title=Placer la carte sur la Breadboard
 
|Step_Title=Placer la carte sur la Breadboard
 
|Step_Content=Après avoir soudé la carte à une embase à broches, la placer sur la Breadboard.
 
|Step_Content=Après avoir soudé la carte à une embase à broches, la placer sur la Breadboard.
 
 
///////////////
 
// Petit Bot //
 
///////////////
 
// Un programme pédagogique des petits débrouillards ?=+ pour gérer le robot "Petit Bot"
 
// Voir sur <nowiki>http://wikidebrouillard.org/index.php?title=Petit_Bot_un_robot_controlable_en_Wifi</nowiki>
 
// Ce programme est inspire de : <nowiki>http://www.esp8266.com/viewtopic.php?f=29&t=6419#sthash.gd1tJhwU.dpuf</nowiki>
 
// Sous licence CC-By-Sa
 
// Par des gens bien
 
 
// on appelle la bibliothèque qui gère le Wemos D1 mini
 
#include <ESP8266WiFi.h>
 
 
// Gestion du Wifi
 
#include <ESP8266WebServer.h>
 
#include <DNSServer.h>
 
#include <ESP8266mDNS.h>
 
#include <WiFiClient.h>
 
 
//  Definition du WiFi
 
const char *nomDuReseau = "petitbot";    // Nom du réseau wifi du petit bot
 
const char *motDePasse = "";    // Mot de passe du réseau wifi du petit bot
 
// ATTENTION - le mot de passe doit faire soit 0 caractères soit 8 ou plus sinon
 
// La configuration de votre réseau wifi ne se fera pas (ni mot de passe, ni nom de réseau !).
 
//création du monServeur
 
ESP8266WebServer monServeur(80);              // Création de l'objet monServeur
 
 
//Gestion des servomoteurs
 
#include <Servo.h>  //appel de la bibliothèque qui gère les servomoteurs
 
// création des servomoteurs
 
Servo servogauche;  // Nom du servo qui gère la première roue
 
Servo servodroit;    // Seconde roue
 
 
//déclaration des Variables
 
//int --- en cours
 
int val = -1; // Val nous sert à stocker la commande de l'utilisateur (stop, avance, ...).
 
 
void setup(){
 
 
|Step_Picture_00=Mini_station_m_t_o__qualit__de_l_air__broche.jpg
 
|Step_Picture_00=Mini_station_m_t_o__qualit__de_l_air__broche.jpg
 
|Step_Picture_01=Mini_station_m_t_o_qualit_de_l_air_IMG_20191205_144405.jpg
 
|Step_Picture_01=Mini_station_m_t_o_qualit_de_l_air_IMG_20191205_144405.jpg
Ligne 99 : 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); 
 +
 
 +
}
 +
 
 +
   
 +
 
 +
}
  
  
Ligne 130 : Ligne 213 :
 
Avec le matériel décrit sur cette page, les dimensions étaient celles décrites sur la photo du patron.
 
Avec le matériel décrit sur cette page, les dimensions étaient celles décrites sur la photo du patron.
 
}}
 
}}
{{Notes}}
+
{{Notes
 +
|Observations=La station permet d'afficher
 +
}}
 
{{Tuto Status
 
{{Tuto Status
 
|Complete=Draft
 
|Complete=Draft
 
}}
 
}}

Version du 5 décembre 2019 à 16:39

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.

É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


É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.

Comment ça marche ?

Observations : que voit-on ?

La station permet d'afficher


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

Commentaires

Draft