- Composants requis
- Capteur Nova PM SDS011
- Module d'affichage OLED 0,96 '
- Schéma de circuit de l'analyseur de la qualité de l'air
- Construire le circuit sur Perf Board
- Explication du code pour le moniteur de la qualité de l'air
- Test du moniteur de qualité de l'air Arduino
La pollution de l'air est un problème majeur dans de nombreuses villes et l'indice de qualité de l'air s'aggrave chaque jour. Selon le rapport de l'Organisation mondiale de la santé, plus de personnes sont tuées prématurément par les effets de particules dangereuses présentées dans l'air que par des accidents de voiture. Selon l'Agence de protection de l'environnement (EPA), l'air intérieur peut être 2 à 5 fois plus toxique que l'air extérieur. Nous construisons donc ici un appareil pour surveiller la qualité de l'air en mesurant les particules PM2,5 et PM10 dans l'air.
Nous avons précédemment utilisé le capteur de gaz MQ135 pour le moniteur de qualité de l'air et le capteur Sharp GP2Y1014AU0F pour mesurer la densité de la poussière dans l'air. Cette fois, nous utilisons un capteur SDS011 avec Arduino Nano pour construire un analyseur de qualité de l'air. Le capteur SDS011 peut calculer les concentrations de particules PM2,5 et PM10 dans l'air. Ici, les valeurs PM2,5 et PM 10 en temps réel seront affichées sur l'écran OLED.
Composants requis
- Arduino Nano
- Capteur Nova PM SDS011
- Module d'affichage OLED SPI 0,96 '
- Fils de cavalier
Capteur Nova PM SDS011
Le capteur SDS011 est un capteur de qualité de l'air très récent développé par Nova Fitness. Il fonctionne sur le principe de la diffusion laser et peut obtenir une concentration de particules comprise entre 0,3 et 10 μm dans l'air. Ce capteur se compose d'un petit ventilateur, d'une vanne d'entrée d'air, d'une diode laser et d'une photodiode. L'air entre par l'entrée d'air où une source de lumière (laser) illumine les particules et la lumière diffusée est transformée en un signal par un photodétecteur. Ces signaux sont ensuite amplifiés et traités pour obtenir la concentration de particules de PM2,5 et PM10.
Spécifications du capteur SDS011:
- Sortie: PM2.5, PM10
- Plage de mesure: 0,0-999,9 μg / m3
- Tension d'entrée: 4,7 V à 5,3 V
- Courant maximum: 100mA
- Courant de sommeil: 2mA
- Temps de réponse: 1 seconde
- Fréquence de sortie des données série: 1 fois / seconde
- Résolution du diamètre des particules: ≤ 0,3 μm
- Erreur relative: 10%
- Plage de température: -20 ~ 50 ° C
Module d'affichage OLED 0,96 '
OLED (Organic Light-Emitting Diodes) est une technologie auto-émettrice de lumière, construite en plaçant une série de couches minces organiques entre deux conducteurs. Une lumière vive est produite lorsqu'un courant électrique est appliqué à ces films. Les OLED utilisent la même technologie que les téléviseurs, mais ont moins de pixels que dans la plupart de nos téléviseurs.
Pour ce projet, nous utilisons un écran OLED Monochrome 7 broches SSD1306 0,96 ”. Il peut fonctionner sur trois protocoles de communication différents: le mode SPI 3 Wire, le mode SPI quatre fils et le mode I2C. Les broches et ses fonctions sont expliquées dans le tableau ci-dessous:
Nom de la broche |
Autres noms |
La description |
Gnd |
Sol |
Broche de masse du module |
Vdd |
Vcc, 5 V |
Broche d'alimentation (3-5V tolérable) |
SCK |
D0, SCL, CLK |
Agit comme la broche de l'horloge. Utilisé pour I2C et SPI |
SDA |
D1, MOSI |
Broche de données du module. Utilisé pour IIC et SPI |
RES |
RST, RÉINITIALISER |
Réinitialise le module (utile pendant SPI) |
DC |
A0 |
Broche de commande de données. Utilisé pour le protocole SPI |
CS |
Sélection de puce |
Utile lorsque plus d'un module est utilisé sous le protocole SPI |
Nous avons couvert un article complet sur les écrans OLED et ses types ici.
Spécifications OLED:
- Pilote OLED IC: SSD1306
- Résolution: 128 x 64
- Angle visuel:> 160 °
- Tension d'entrée: 3,3 V ~ 6 V
- Couleur du pixel: bleu
- Température de fonctionnement: -30 ° C ~ 70 ° C
En savoir plus sur OLED et son interface avec différents microcontrôleurs en suivant le lien.
Schéma de circuit de l'analyseur de la qualité de l'air
Le schéma de circuit pour mesurer les particules PM2,5 et PM10 à l'aide d'Arduino est très simple et donné ci-dessous.
Le capteur SDS011 et le module d'affichage OLED sont tous deux alimentés par + 5V et GND. Les broches de l'émetteur et du récepteur du SDS011 sont connectées aux broches D3 et D4 d'Arduino Nano. Étant donné que le module d'affichage OLED utilise la communication SPI, nous avons établi une communication SPI entre le module OLED et Arduino Nano. Les connexions sont indiquées dans le tableau ci-dessous:
S. Non |
Broche du module OLED |
Broche Arduino |
1 |
GND |
Sol |
2 |
VCC |
5V |
3 |
D0 |
dix |
4 |
D1 |
9 |
5 |
RES |
13 |
6 |
DC |
11 |
sept |
CS |
12 |
Construire le circuit sur Perf Board
J'ai également soudé tous les composants de la carte de performance pour lui donner un aspect soigné. Mais vous pouvez également les faire sur une planche à pain. Les planches que j'ai faites sont ci-dessous. Lors du soudage, assurez-vous de ne pas trier les fils. La carte de performance que j'ai soudée est illustrée ci-dessous:
Explication du code pour le moniteur de la qualité de l'air
Le code complet de ce projet est donné à la fin du document. Nous expliquons ici certaines parties importantes du code.
Le code utilise les SDS011, Adafruit_GFX , et Adafruit_SSD1306 bibliothèques. Ces bibliothèques peuvent être téléchargées à partir du gestionnaire de bibliothèques dans l'IDE Arduino et peuvent être installées à partir de là. Pour cela, ouvrez l'IDE Arduino et allez dans Sketch> Inclure la bibliothèque> Gérer les bibliothèques . Recherchez maintenant SDS011 et installez la bibliothèque de capteurs SDS de R. Zschiegner.
De même, installez les bibliothèques Adafruit GFX et Adafruit SSD1306 d'Adafruit.
Après avoir installé les bibliothèques sur Arduino IDE, démarrez le code en incluant les fichiers de bibliothèque nécessaires.
#comprendre
Dans les lignes suivantes, définissez deux variables pour stocker les valeurs PM10 et PM2.5.
float p10, p25;
Ensuite, définissez la largeur et la hauteur OLED. Dans ce projet, nous utilisons un écran OLED SPI 128 × 64. Vous pouvez modifier ces variables SCREEN_WIDTH et SCREEN_HEIGHT en fonction de votre affichage.
#define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64
Définissez ensuite les broches de communication SPI sur lesquelles l'écran OLED est connecté.
#define OLED_MOSI 9 #define OLED_CLK 10 #define OLED_DC 11 #define OLED_CS 12 #define OLED_RESET 13
Ensuite, créez une instance d'affichage Adafruit avec la largeur et la hauteur définies précédemment avec le protocole de communication SPI.
Affichage Adafruit_SSD1306 (SCREEN_WIDTH, SCREEN_HEIGHT, OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);
Maintenant, dans la fonction setup () , initialisez le Serial Monitor à une vitesse de transmission de 9600 à des fins de débogage. Également, initialisez l'écran OLED et le capteur SDS011 avec la fonction begin () .
my_sds.begin (3,4); Serial.begin (9600); display.begin (SSD1306_SWITCHCAPVCC);
À l'intérieur de la boucle vide (), lisez les valeurs PM10 et PM2.5 du capteur SDS011 et imprimez les lectures sur un moniteur série.
boucle void () {erreur = mes_sds.read (& p25, & p10); if (! error) {Serial.println ("P2.5:" + String (p25)); Serial.println ("P10:" + String (p10));
Après cela, définissez la taille et la couleur du texte à l'aide de setTextSize () et setTextColor () .
display.setTextSize (2); display.setTextColor (BLANC);
Ensuite, dans la ligne suivante, définissez la position de début du texte à l'aide de la méthode setCursor (x, y) . Ici, nous afficherons les valeurs PM2.5 et PM10 sur l'écran OLED de sorte que la première ligne commence à (0,15) tandis que la deuxième ligne commence aux coordonnées (0, 40).
display.setCursor (0,15); display.println ("PM2.5"); display.setCursor (67,15); display.println (p25); display.setCursor (0,40); display.println ("PM10"); display.setCursor (67,40); display.println (p10);
Et enfin, appelez la méthode display () pour afficher le texte sur l'écran OLED.
display.display (); display.clearDisplay ();
Test du moniteur de qualité de l'air Arduino
Une fois que le matériel et le code sont prêts, il est temps de tester l'appareil. Pour cela, connectez l'Arduino à l'ordinateur portable, sélectionnez la carte et le port, puis appuyez sur le bouton de téléchargement. Comme vous pouvez le voir dans l'image ci-dessous, il affichera les valeurs PM2.5 et PM10 sur l'écran OLED.
La vidéo de travail complète et le code sont donnés ci-dessous. J'espère que vous avez apprécié le tutoriel et appris quelque chose d'utile. Si vous avez des questions, laissez-les dans la section commentaires ou utilisez nos forums pour d'autres questions techniques.