PV
Publiée par Paul Vuarambon

Publiée le 13.03.2024

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 EnregistrementsEnregistrements

Maté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".

tuto2.jpg
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.

tuto5.jpg
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".

tuto7.jpg
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

tuto13.jpg
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.

tuto14.jpg
Schéma électrique

En cas de doute, voici le shéma électrique des branchements à effectuer.

shema_electrique_kit_pedago.jpg
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);
}

Informations sur la ressource

Inviter des contributeurs

Les contributeurs peuvent voir, éditer, inviter d’autres contributeurs et supprimer la ressource.

Signaler la ressource

Veuillez indiquez le motif de signalement et le préciser dans votre message. Nous prendrons en compte votre signalement au plus vite.

Les champs avec * sont obligatoires.