Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Construisez un moniteur de qualité d'air précis avec le capteur Sharp GP2Y1010AU0F

Composants et fournitures

ComposantQuantité
Arduino Nano R31
Condensateur 220 µF1
Résistance traversante 150 ohm1

Outils et machines nécessaires

Applications et services en ligne

À propos de ce projet

Le capteur de poussière optique Sharp (GP2Y1010AU0F) est particulièrement efficace pour détecter les particules très fines comme la fumée de cigarette, et est couramment utilisé dans les systèmes de purification d'air. Une diode émettrice infrarouge et un phototransistor sont disposés en diagonale dans ce dispositif, pour lui permettre de détecter la lumière réfléchie par la poussière dans l'air.

Dans des vidéos précédentes, je vous ai montré des moniteurs de qualité d'air basés sur les capteurs DSM501A et PPD42NS. Cette fois, je vous présenterai le même dispositif, maintenant basé sur la carte de capteur Sharp GP2Y1010AU0F qui est également très bon marché et coûte environ 5 $. Le schéma électrique de ce dispositif est très simple et est montré dans la figure ci-dessous. Le capteur d'air a une très faible consommation de courant (20mA max, 11mA typique), et peut être alimenté directement depuis la carte Arduino. La sortie du capteur est une tension analogique proportionnelle à la densité de poussière mesurée, avec une sensibilité de 0.5V/0.1mg/m3.

J'ai modifié l'exemple de code Arduino de la page "Dfrobot" pour que la lecture des valeurs soit en µg/m3. Ensuite, j'ai écrit un code Processing basé sur la bibliothèque "meter", de sorte que ces valeurs soient représentées sur l'écran du PC sous la forme d'un grand instrument analogique, lui donnant un effet visuel distinct.

Construisez un moniteur de qualité d air précis avec le capteur Sharp GP2Y1010AU0F

Enfin, comparons les trois cartes de capteurs (DSM501A et PPD42NS que j'ai décrits dans les vidéos précédentes et Sharp GP2Y1010AU0F décrit ci-dessus). Les trois capteurs sont très bon marché et peuvent être achetés pour quelques dollars. Selon les résultats que j'ai obtenus en les testant dans les mêmes conditions, le gagnant est le Sharp GP2Y1010AU0F. Il y a un certain nombre de points positifs parmi lesquels :

Ce capteur peut être acheté sur AliExpress : https://www.aliexpress.com/item/32661666070.html?spm=a2g0s.9042311.0.0.27424c4dKW7gUj

Merci d'avoir regardé

Code

Code Arduino

/* Sketch autonome pour utiliser avec un Arduino UNO et un capteur de poussière optique Sharp GP2Y1010AU0F */
int measurePin = 0; // Connecter le capteur de poussière à la broche A0 de l'Arduino
int ledPower = 2;   // Connecter les 3 broches de pilotage LED du capteur à la broche D2 de l'Arduino
int samplingTime = 280;
int deltaTime = 40;
int sleepTime = 9680;
float voMeasured = 0;
float calcVoltage = 0;
float dustDensity = 0;

void setup(){
  Serial.begin(9600);
  pinMode(ledPower, OUTPUT);
}

void loop(){
  digitalWrite(ledPower, LOW); // allumer la LED
  delayMicroseconds(samplingTime);
  voMeasured = analogRead(measurePin); // lire la valeur de poussière
  delayMicroseconds(deltaTime);
  digitalWrite(ledPower, HIGH); // éteindre la LED
  delayMicroseconds(sleepTime);
  // 0 - 5V mappé sur 0 - 1023 valeurs entières
  // récupérer la tension
  calcVoltage = voMeasured * (5.0 / 1024.0);
  // équation linéaire prise de https://www.howmuchsnow.com/arduino/airquality/
  // Chris Nafis (c) 2012
  dustDensity = 170 * calcVoltage - 0.1;
  Serial.println(dustDensity); // unité : µg/m3
  delay(1000);
}

Code Processing

/* Meter as a partial circle. Change a few colors. Note that the circle starts at 90.0 degrees (6:00 OClock) and moves clockwise. The scale labels have to be in this order. Non-Hardware example. created April 19, 2017 by Bill (Papa) Kujawa. This example code is in the public domain. */
import processing.serial.*;
import meter.*;

Serial port;
String[] list;
Meter m;

void setup() {
  size(1150, 910);
  background(255, 255, 200);
  port = new Serial(this, "COM4", 9600);
  // Afficher un compteur à cercle complet.
  m = new Meter(this, 125, 25, true); // Instancier une classe de compteur à cercle complet.
  m.setMeterWidth(850);
  m.setFrameColor(color(100, 0, 0));
  m.setTitleFontColor(color(0, 200, 0));
  m.setPivotPointColor(color(255, 0, 0));
  m.setArcColor(color(0, 0, 200));
  m.setScaleFontColor(color(200, 100, 0));
  m.setTicMarkColor(color(217, 22, 247));
  // Définir où les étiquettes d'échelle apparaîtront
  m.setArcMinDegrees(90.0); // (début)
  m.setArcMaxDegrees(360.0); // (fin)
  m.setArcThickness(5);
  m.setNeedleThickness(4);
  // Définir la valeur du compteur correspondant aux étiquettes d'échelle.
  m.setMinScaleValue(0.0);
  m.setMaxScaleValue(800.0);
  m.setInputSignalOutOfRangeFontColor(color(0, 255, 0));
  m.setMinInputSignal(0);
  m.setMaxInputSignal(800);
  m.setHighSensorWarningActive(true);
  m.setHighSensorWarningValue((float)200.0);
  String[] scaleLabelsA = {"0", "100", "200", "300", "400", "500", "600", "700", "800"};
  m.setScaleLabels(scaleLabelsA);
  // Changer le titre par défaut "Voltage" par un label plus significatif.
  m.setTitle("Airquality (µg/m3)");
  // Afficher la valeur numérique du compteur.
  m.setDisplayDigitalMeterValue(true);
}

void draw() {
  if (port.available() > 0) {
    String val = port.readString();
    list = split(val, ',');
    float air = float(list[0]);
    println("Airquality: " + air + " mg/m3 ");
    m.updateMeter(int(air));
  }
}

Schémas

Construisez un moniteur de qualité d air précis avec le capteur Sharp GP2Y1010AU0F

Processus de fabrication

  1. Bosch Sensortec dévoile le capteur de qualité d'air BME688 avec IA pour réduire le risque de transmission virale
  2. Construire une station météo et qualité de l'air Raspberry Pi avec InfluxDB et Grafana
  3. Mesurer la qualité de l'air avec OpenSensors : Guide Arduino et Python
  4. Capteur de qualité de l'air solaire basé sur Helium : Guide de conception et déploiement
  5. Système de surveillance de la qualité de l'air pour ville intelligente basé sur LoRa
  6. Construire une horloge Numitron rétro avec Arduino : simple, fiable et économe en énergie
  7. Projet capteur DHT11 température/humidité avec indicateurs LED et buzzer piézo
  8. Système intelligent de surveillance de la qualité de l'air intérieur et des déchets
  9. Capteur NO₂ avancé à base de carbone pour une surveillance de la qualité de l'air intérieur améliorée