User Tools

Site Tools


start:captotheque:fabstationsmobiles

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
start:captotheque:fabstationsmobiles [2019/09/25 13:51]
aircitizen [Introduction de la plateforme arduino et du système grove]
start:captotheque:fabstationsmobiles [2019/09/25 14:57] (current)
aircitizen [Documents téléchargeables]
Line 1: Line 1:
 ====== Construction de stations mobiles de mesures de la qualité de l'air  ======= ====== Construction de stations mobiles de mesures de la qualité de l'air  =======
  
-Remarques : durée = 2 h, public large: 12 ans+, nombre d'animateurs : 2++<note> 
 +durée = 2 h, public large: 12 ans+, nombre d'animateurs : 2+ 
 +</note>
  
 ====== Objectif ====== ====== Objectif ======
Line 47: Line 49:
 ==== Introduction de la plateforme arduino et du système grove ==== ==== Introduction de la plateforme arduino et du système grove ====
  
-{{ :start:captotheque:aircitizen-fab-mapd.14.jpeg?nolink&600 |}} +{{ :start:captotheque:aircitizen-fab-mapd.015.jpeg?nolink&400 |}} 
-{{:start:captotheque:aircitizen-fab-mapd.015.jpeg?nolink&600 |}}+{{ :start:captotheque:aircitizen-fab-mapd.016.jpeg?nolink&400 |}}
  
 +On introduit ensuite la plateforme [[https://www.arduino.cc/|arduino]] en utilisant des termes simples. Le coeur de la station à assembler est un microcontrôleur qui joue en quelque sorte le rôle de cerveau qui va être capable de parler aux et d'écouter les différents composants (en utilisant un langage approprié regroupé dans une bibliothèque) : les capteurs, l'afficheur, le lecteur/enregistreur de carte microSD, etc, et de réaliser des fonctions. Ce "cerveau", tout comme les composants a besoin d'énergie qui va être fourni par une batterie. Le cerveau est ici la carte Arduino MEGA et pour simplifier le raccordement des différents éléments de la station on lui associe un "shield" grove avec ces connecteurs blancs caractéristiques qui va permet de brancher sans se tromper de sens (grâce au détrompeur) les éléments grâce aux câbles grove (noir pour la masse, qui serait le moins sur une pile, rouge pour la tension d'alimentation Vcc, 5 Volts, qui serait le plus sur une pile, jaune et blanc pour les signaux qui transiter dans une sens ou dans l'autre : entrées/sorties). Pour que le "cerveau" réalise une fonction, il faut écrire un programme dans le logiciel Arduino IDE et téléverser ce programme vers la carte arduino.  
  
-{{gallery>:start:captotheque?aircitizen-fab-mapd.*.jpeg&80x80&crop&lightbox}}+==== Un premier exemple pratique : mon premier thermomètre arduino ! ==== 
 + 
 +{{ :start:captotheque:aircitizen-fab-mapd.017.jpeg?nolink&600 |}} 
 + 
 +Pour rendre plus concret ce qui précède, on commence rapidement avec un exemple pratique: la réalisation d'un thermomètre (qui mesure en plus l'humidité relative) avec le [[http://wiki.seeedstudio.com/Grove-Temperature_and_Humidity_Sensor_Pro/|capteur température et humidité DHT22 grove]]. Le programme de test est rappelé ci-dessous. L'animateur décrit le programme schématiquement. D'abord l'inclusion  
 + ''%%#include%%'' de bibliothèques (le langage commun) et la définition ''%%#define%%'' de constantes (ici le type de capteur et le numéro du connecteur auquel le capteur est connecté). Ensuite, le block setup qui n'est exécuté qu'une fois et sert à initialiser ici le canal de communication ''%%Serial%%'' qui permettra à la carte arduino de transmettre des informations à l'ordinateur via le câble USB. Puis la boucle ''%%loop%%'' répétée indéfiniment dans laquelle on lit la température, l'humidité relative et on affiche via le canal ''%%Serial%%'' avec une instruction ''%%print%%'' les valeurs qui peut être lue en utilisant le //moniteur série//, (via la barre de menu ou en cliquant sur la petit loupe). 
 + 
 +<Code C [enable_line_numbers=1> 
 +#include "DHT.h" 
 + 
 +dht DHT; // the sensor  
 + 
 +#define DHT22_PIN 2 // connected on D2 on Arduino Mega 
 + 
 +#define DHTTYPE DHT22   // DHT 22  (AM2302) 
 + 
 +void setup()  
 +
 +    Serial.begin(9600);  
 +    Serial.println("DHTxx test!"); 
 +
 + 
 +void loop()  
 +
 +    int chk = DHT.read22(DHT22_PIN); 
 +    float h =  DHT.humidity; 
 +    float t = DHT.temperature; 
 + 
 +    // check if returns are valid, if they are NaN (not a number) then something went wrong! 
 +    if (isnan(t) || isnan(h))  
 +    { 
 +        Serial.println("Failed to read from DHT"); 
 +    }  
 +    else  
 +    { 
 +        Serial.print("Humidity: ");  
 +        Serial.print(h); 
 +        Serial.print(" %\t"); 
 +        Serial.print("Temperature: ");  
 +        Serial.print(t); 
 +        Serial.println(" *C"); 
 +    } 
 +
 +</Code> 
 + 
 +L'animateur invite les participants à téléverser (en utilisant la barre de menu ou l'icône flèche) le programme dans la carte après voir vérifié le type de carte (arudino MEGA) et le port (COMXX par exemple). Les participants peuvent ensuite ouvrir le moniteur série et visualiser la température et l'humidité relative de leur capteur. On peut prendre le capteur dans la main, souffler dessus, etc. et voir qu'il répond.  
 + 
 +==== Assemblage de la station mobile ==== 
 + 
 + 
 +Cette première étape pratique permet de poser les bases, le reste peut aller ensuite très vite. On passe en revue chaque élément, on branche, et si le temps le permet on téléverse un code exemple. A minima, brancher le capteur de particules fines, téléverser l'exemple et utiliser une allumette pour vérifier qu'il répond correctement. Les valeurs sont assez élevées avec ce type de sources ce qui surprend souvent les participants. Peut suivre des questions sur les valeurs de concentrations en ug/m3 et les normes. Il faut alors bien insister sur le fait que ces capteurs "low cost" ne donne pas des valeurs absolues garanties comme les instruments que l'on trouve en station AASQA (Airparif par exemple) ou dans les laboratoires. En revanche, on peut voir des contrastes dans l'espace et dans le temps qui ont un sens. 
 + 
 +==== Téléversement du programme final et mise en boîte ==== 
 + 
 +Après avoir branché et testé un par un tous les éléments, on peut téléverser le programme final et vérifier que la station fonctionne bien. On peut ensuite insérer la station dans sa boîte. Cette étape n'est pas forcément la plus simple. Il y a beaucoup de fils (c'est l'inconvénient du kit avec des éléments génériques) et il y a certainement un agencement optimal et un méthode permettant de l'atteindre mais nous ne l'avons pas encore trouvé. Attention à ne pas casser les petits fils Dupont qui relient le lecteur/enregistreur de carte microSD à la carte arduino. D'autres boîtiers sont possibles, nous en avons expérimenté quelques uns au fablab du Dôme a Caen. N'hésitez à partager le votre ! 
 + 
 + 
 +===== Diapositives de l'atelier ===== 
 + 
 +{{gallery>:start:captotheque?aircitizen-fab-mapd.*.jpeg&4&120x80&crop&lightbox&number=4}} 
 + 
 + 
 +====== Documents téléchargeables ====== 
 + 
 +{{ :start:captotheque:aircitizen-stations-mobiles.pdf |diapositives de l'ateliers au format pdf}}
  
start/captotheque/fabstationsmobiles.1569412290.txt.gz · Last modified: 2019/09/25 13:51 by aircitizen