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

Moniteur de qualité de l'air DIY avec capteur Sharp GP2Y1010AU0F

Composants et fournitures

Arduino Nano R3
× 1
Condensateur, 220 µF
× 1
Résistance à trou traversant, 150 ohms
× 1

Outils et machines nécessaires

Fer à souder (générique)

Applications et services en ligne

Arduino IDE
The Processing Foundation Processing

À 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 purificateur d'air. Une diode émettrice infrarouge et un phototransistor sont disposés en diagonale dans cet appareil, pour lui permettre de détecter la lumière réfléchie de la poussière dans l'air.

Dans les vidéos précédentes, je vous ai montré les moniteurs de qualité de l'air basés sur les cartes de capteurs DSM501A et PPD42NS. Cette fois, je vais vous présenter le même appareil, 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 cet appareil est très simple et est illustré dans la figure ci-dessous. Le capteur d'air a un 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" afin que la lecture des valeurs soit en microg/m3. Ensuite, j'ai écrit un code de traitement basé sur la bibliothèque "meter", de sorte que ces valeurs soient représentées sur le moniteur du PC sous la forme d'un grand instrument analogique, ce qui lui donne un effet visuel distinct.

Enfin, comparons les trois cartes de capteurs (DSM501A et PPD42NS que j'ai décrites 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. D'après les résultats, je les ai testés dans les mêmes conditions et le gagnant est Sharp GP2Y1010AU0F. Il y a un certain nombre de points positifs parmi lesquels :

-Il est plus sensible aux valeurs très faibles

-Il a une très faible consommation d'énergie et peut être alimenté directement depuis l'Arduino

-Code Arduino très simple et facilement personnalisable

-Il a une sortie analogique donc il peut être directement connecté à un instrument de mesure sans aucune électronique supplémentaire

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
  • Code de traitement
Code ArduinoArduino
/* Sketch autonome à utiliser avec un Arduino UNO et un capteur de poussière optique Sharp GP2Y1010AU0F*/int measurePin =0 ; //Connectez le capteur de poussière à l'Arduino A0 pinint ledPower =2; //Connectez 3 broches du pilote LED du capteur de poussière à Arduino D2int 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); // allume la LED delayMicroseconds(samplingTime); voMeasured =analogRead(measurePin); // lit la valeur de poussière delayMicroseconds(deltaTime); digitalWrite (ledPower, HIGH); // éteint la LED delayMicroseconds(sleepTime); // 0 - 5 V mappé sur 0 - 1023 valeurs entières // récupération de la tension calcVoltage =voMeasured * (5.0 / 1024.0); // équation linéaire tirée de http://www.howmuchsnow.com/arduino/airquality/ // Chris Nafis (c) 2012 dustDensity =170 * calcVoltage - 0,1 ; Serial.println(DustDensity); // unité :ug/m3 délai(1000);}
Code de traitementC/C++
/* //<>// Compteur comme un cercle partiel. Changez quelques couleurs. Notez que le cercle commence à 90,0 degrés (6h00 OClock) et se déplace dans le sens des aiguilles d'une montre. Les étiquettes d'échelle doivent être dans cet ordre. Exemple sans matériel. créé le 19 avril 2017 par Bill (Papa) Kujawa. Cet exemple de code est dans le domaine public. */import processing.serial.*;import meter.*;Serial port;String[] list;Meter m;void setup() { size(1150, 910) ; arrière-plan (255, 255, 200); port =nouveau Serial(this, "COM4", 9600); // Affiche un compteur de cercle complet. m =nouveau compteur (ceci, 125, 25, vrai); // Instancie une classe de compteur à cercle complet. m.setMeterWidth(850); m.setFrameColor(couleur (100, 0, 0)); m.setTitleFontColor(couleur(0, 200, 0)); m.setPivotPointColor(color(255, 0, 0)); m.setArcColor(couleur(0, 0, 200)); m.setScaleFontColor(couleur(200, 100, 0)); m.setTicMarkColor(couleur(217, 22, 247)); // Définit où apparaîtra l'étiquette d'échelle m.setArcMinDegrees(90.0); // (démarrer) 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(couleur (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); // Changez le titre de la "Tension" par défaut en une étiquette plus significative. m.setTitle("Qualité de l'air (ug/m3)"); // Affiche la valeur du compteur numérique. m.setDisplayDigitalMeterValue(true);}void draw() { if (port.available()> 0) { String val =port.readString(); liste =split(val, ','); float air =float(list[0]);println("Airquality:" + air + " mg/m3 " );m.updateMeter(int(air)); }}

Schémas


Processus de fabrication

  1. Le capteur de qualité de l'air intègre des capacités d'IA
  2. Moniteur DIY Environnement et Qualité de l'Air
  3. Comment mesurer la qualité de l'air sur OpenSensors
  4. Capteur de qualité de l'air à l'hélium
  5. Surveillance intelligente de la qualité de l'air en ville basée sur LoRa
  6. horloge IV9 Numitron DIY la plus simple avec Arduino
  7. Capteur DHT11 avec LED et haut-parleur piézo
  8. Système de surveillance de la qualité de l'air intérieur et des déchets
  9. Capteur de qualité de l'air à base de carbone