Capteur pédagogique de mesure de la qualité de l'air (particules fines)
AirCarto anime de nombreux ateliers de découverte de la mesure de la qualité de l'air à l'aide de kit pédagogiques imaginés spécialement pour l'occasion. Nous vous proposons ici de fabriquer vous même votre capteur pour mesurer la qualité de l'air. Ce kit pédagogique vous invite à découvrir les bases de l'électronique et de la mesure des particules fines à l'aide d'une carte à microcontrôleur Arduino UNO et une sonde SDS011. Le kit est équipé d'une batterie pour alimenter les différents composants ainsi qu'un écran pour visualiser les données. .
95 VuesVues·3 EnregistrementsEnregistrementsMatériel requis
Vérifier que vous avez bien tous les composants nécessaires :
Batterie (18650) et son chargeur
Carte microcontrôleur Arduino UNO
Ecran (I2C LCD1602)
Sonde Particules Fines SDS011
Cables Dupont
Les composants ci-dessus peuvent être commandés en kit auprès d'AirCarto ou achetés séparément sur des sites tel que AliExpress ou Amazon.
Etape 1 - Batterie et Breadboard
La première étape consiste à connecter le + et le - de la batterie sur la breadboard qui va servir de "multiprise électrique" pour alimenter l'ensemble des composants. Pour cela nous utilisons les branchements disponibles sur le côté de la batterie en respectant toujours la polarité: + (5V) et - (GND). La "pin" - se trouve au desssus de la "pin" + sur le coté de la batterie. Nous utilisons la ligne rouge pour le + et la ligne noire pour le - (GND). Effectuer les branchements comme sur les images ci-dessus à l'aide des câbles "Male-Femelle".
Etape 2 - Arduino UNO
La seconde étape consiste à alimenter en électricité l'Arduino UNO. Pour cela, relier le + et le - sur la breadboard à l'aide des 2 cables "Male-Male". Attention a bien respecter la polarité sur l'Arduino en branchant le - sur un pin GND et le + sur la pin 5V. L'Arduino démarre et la petite LED rouge s'allume.
Etape 3 - Ecran
Alimenter en électricité l'écran à l'aide des pins 5V et GND (comme pour l'Arduino). Connecter l'écran à l'Arduino UNO à l'aide des pins A4 et A5 comme sur les images ci-dessus. A noter qu'une fois les branchements effectués l'écran s'allume. Redémarrer l'Arduino UNO à l'aide du petit bouton rouge situé sur celui-ci, vous devriez voir apparaitre les inscriptions "AirCarto.fr - Atelier capteur".
Etape 4 - Sonde particule fines
La dernière étape consiste à brancher la sonde de particules fines. Alimenter en électricité l'écran à l'aide des pins 5V et GND (comme pour l'Arduino et l'écran). Connecter la sonde à l'Arduino à l'aide de la pin 10 comme sur les images ci-dessus. Une fois les câbles branchés l'écran peut afficher des informations incohérentes. Redémarrer l'Arduino UNO à l'aide du petit bouton rouge situé sur celui-ci, vous devriez voir apparaitre les inscriptions "AirCarto.fr - Atelier capteur" puis un second écran avec les mesures en temps réel de particules fines
Etape 5 - Défis tempète de pollution !
L'écran affiche les mesures en particules fines actualisées toutes les secondes. Pour tester votre capteur vous pouvez agiter un foulard ou frotter vos vêtements au dessus de l'entrée d'air du capteur afin de voir les concentrations en poussières augmenter.
Schéma électrique
En cas de doute, voici le shéma électrique des branchements à effectuer.
Code source
En cas d'achat du kit sur AirCarto, le code est déjà présent sur l'Arduino et cette étape n'est pas nécessaire. Si vous avez votre propore matériel voici le code à uploader sur le microcontrôleur. Vous pouvez aussi modifier le code à votre convenance si vous le souhaitez.
/*
Code pour Arduino UNO - Kit pédagogique qualité de l'air proposé par AirCarto et AtmoSud (version 2024)
Plus d'infos sur le site d'aircarto: aircarto.fr
Tutoriel de montage: https://aircarto.fr/kit_pedagogique/tuto/
Hardware:
1.Arduino UNO
2.Capteur de particules fines SDS011 connecté sur la pin 10 (TX)
3.Ecran LCD 1602 avec module I2C connecté sur les pins A4 et A5
Il faut installer deux librairies pour faire fonctionner le script
*/
#include <Wire.h>
#include <LiquidCrystal_I2C.h> //bibliothèque pour l'écran LCD (LiquidCrystal I2C by Frank de Brandander https://github.com/johnrickman/LiquidCrystal_I2C)
#include <SDS011.h> //bibliothèque pour le capteur SDS011 (SDS011 sensor Library by R. Zshiegner https://github.com/ricki-z/SDS011)
LiquidCrystal_I2C lcd(0x27,16,2);
float p10,p25;
int error;
bool led_on = true;
SDS011 my_sds;
void setup()
{
Serial.begin(9600);
my_sds.begin(10,11);
pinMode(LED_BUILTIN, OUTPUT);
lcd.init();
lcd.init();
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("Atelier capteur"); //message d'intro ligne 2
for (int i = 0; i <= 16; i++) {
lcd.setCursor(i,1);
lcd.print("-");
// on fait clignoter la LED
if(led_on){
digitalWrite(LED_BUILTIN, LOW);
led_on = false;
}else{
digitalWrite(LED_BUILTIN, HIGH);
led_on = true;
}
delay(200);
}
lcd.clear();
delay(1000);
}
void loop()
{
error = my_sds.read(&p25,&p10);
if (! error) {
//Uncomment next two line for serial debugging output
//Serial.println("P2.5: "+String(p25));
//Serial.println("P10: "+String(p10));
lcd.clear();
lcd.setCursor(0,0);
lcd.print("PM10: "+ String(p10,1));
lcd.setCursor(11,0);
lcd.print("ug/m3");
// On affiche ici les seuils en fonction de l'indice atmo: https://www.atmosud.org/article/comprendre-les-indices-pour-qualifier-lair
if(p10<=20){
lcd.setCursor(6,1);
lcd.print("BON");
}
if(p10>20 && p10<=40){
lcd.setCursor(5,1);
lcd.print("MOYEN");
}
if(p10>40 && p10<=50){
lcd.setCursor(4,1);
lcd.print("DEGRADE");
}
if(p10>50 && p10<=100){
lcd.setCursor(4,1);
lcd.print("MAUVAIS");
}
if(p10>100 && p10<=150){
lcd.setCursor(4,1);
lcd.print("TRES MAUVAIS");
}
if(p10>150 ){
lcd.setCursor(4,1);
lcd.print("EXTRM. MAUVAIS");
}
if(led_on){
digitalWrite(LED_BUILTIN, LOW);
led_on = false;
}else{
digitalWrite(LED_BUILTIN, HIGH);
led_on = true;
}
}
delay(200);
}