Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

DIY-luchtkwaliteitsmonitor met Sharp GP2Y1010AU0F-sensor

Componenten en benodigdheden

Arduino Nano R3
× 1
Condensator, 220 µF
× 1
Through Hole-weerstand, 150 ohm
× 1

Benodigde gereedschappen en machines

Soldeerbout (algemeen)

Apps en online services

Arduino IDE
The Processing Foundation Verwerking

Over dit project

De Sharp optische stofsensor (GP2Y1010AU0F) is vooral effectief in het detecteren van zeer fijne deeltjes zoals sigarettenrook en wordt vaak gebruikt in luchtzuiveringssystemen. Een infrarood-emitterende diode en een fototransistor zijn diagonaal in dit apparaat geplaatst, zodat het het gereflecteerde licht van stof in de lucht kan detecteren.

In eerdere video's heb ik je de luchtkwaliteitsmonitoren laten zien op basis van DSM501A en PPD42NS sensorborden. Deze keer zal ik u hetzelfde apparaat presenteren, nu gebaseerd op het Sharp GP2Y1010AU0F-sensorbord dat ook erg goedkoop is en ongeveer $ 5 kost. Het elektrische schema van dit apparaat is heel eenvoudig en wordt weergegeven in de onderstaande afbeelding. De luchtsensor heeft een zeer laag stroomverbruik (20mA max, 11mA typisch), en kan rechtstreeks worden gevoed vanaf Arduino-bord. De output van de sensor is een analoge spanning die evenredig is aan de gemeten stofdichtheid, met een gevoeligheid van 0,5V/0,1mg/m3.

Ik heb de Arduino-voorbeeldcode van de pagina "Dfrobot" gewijzigd, dus het lezen van de waarden is in microg/m3. Vervolgens heb ik een verwerkingscode geschreven op basis van een "meter" -bibliotheek, zodat deze waarden op de pc-monitor worden weergegeven in de vorm van een groot analoog instrument, waardoor het een duidelijk visueel effect krijgt.

Laten we tot slot alle drie de sensorkaarten vergelijken (DSM501A en PPD42NS die ik in eerdere video's heb beschreven en Sharp GP2Y1010AU0F hierboven beschreven). Alle drie de sensoren zijn erg goedkoop en kunnen voor een paar dollar worden gekocht. Volgens de resultaten heb ik ze onder dezelfde omstandigheden getest en de winnaar is Sharp GP2Y1010AU0F. Er zijn een aantal positieve punten waaronder:

-Het is gevoeliger voor zeer lage waarden

-Het heeft een zeer laag stroomverbruik en kan rechtstreeks vanuit de Arduino worden gevoed

-Zeer eenvoudige Arduino-code die gemakkelijk kan worden aangepast

-Het heeft een analoge uitgang, zodat het direct kan worden aangesloten op een meetinstrument zonder extra elektronica

Deze sensor is te koop bij AliExpress

https://www.aliexpress.com/item/32661666070.html?spm=a2g0s.9042311.0.0.27424c4dKW7gUj

Bedankt voor het kijken

Code

  • Arduino-code
  • Verwerkingscode
Arduino-codeArduino
/* Standalone Sketch voor gebruik met een Arduino UNO en een Sharp Optical Dust Sensor GP2Y1010AU0F*/int measurePin =0; // Sluit de stofsensor aan op Arduino A0 pinint ledPower =2; // Sluit 3 led-driverpinnen van de stofsensor aan op 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); // schakel de LED-vertraging in Microseconden (samplingTime); voMeasured =analogRead(measurePin); // lees de stofwaarde delayMicroseconds (deltaTime); digitalWrite (ledPower, HOOG); // zet de LED uit delayMicroseconds (sleepTime); // 0 - 5V toegewezen aan 0 - 1023 integer-waarden // herstelspanning calcVoltage =voMeasured * (5,0 / 1024,0); // lineaire vergelijking overgenomen van http://www.howmuchsnow.com/arduino/airquality/ // Chris Nafis (c) 2012 dustDensity =170 * calcVoltage - 0.1; Serial.println(dustDensity); // eenheid:ug/m3 vertraging (1000);}
VerwerkingscodeC/C++
/* //<>// Meter als deelcirkel. Verander een paar kleuren. Merk op dat de cirkel begint bij 90,0 graden (6:00 OClock) en met de klok mee beweegt. De schaallabels moeten in deze volgorde staan. Voorbeeld zonder hardware. gemaakt op 19 april 2017 door Bill (Papa) Kujawa. Deze voorbeeldcode bevindt zich in het publieke domein. */import processing.serial.*;import meter.*;Seriële poort;String[] lijst;Meter m;void setup() { size(1150, 910); achtergrond(255, 255, 200); poort =nieuw serieel (dit, "COM4", 9600); // Geef een volledige cirkelmeter weer. m =nieuwe meter (dit, 125, 25, waar); // Instantieer een meterklasse met een volledige cirkel. m.setMeterWidth(850); m.setFrameColor(kleur(100, 0, 0)); m.setTitleFontColor(kleur(0, 200, 0)); m.setPivotPointColor (kleur (255, 0, 0)); m.setArcColor(kleur(0, 0, 200)); m.setScaleFontColor (kleur (200, 100, 0)); m.setTicMarkColor (kleur (217, 22, 247)); // Bepaal waar de schaallabele zal verschijnen m.setArcMinDegrees (90.0); // (start) m.setArcMaxDegrees (360.0); // (einde) m.setArcThickness(5); m.setNeedleThickness(4); // Stel de meterwaarde in op de schaallabels. m.setMinScaleValue(0.0); m.setMaxScaleValue(800.0); m.setInputSignalOutOfRangeFontColor (kleur (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); // Verander de titel van de standaard "Voltage" naar een meer betekenisvol label. m.setTitle("Luchtkwaliteit (ug/m3)"); // Geef de waarde van de digitale meter weer. m.setDisplayDigitalMeterValue(true);}void draw() {if (port.available()> 0) { String val =port.readString(); lijst =split(val, ','); float air =float(list[0]);println("Luchtkwaliteit:" + air + "mg/m3 " );m.updateMeter(int(air)); }}

Schema's


Productieproces

  1. Luchtkwaliteitssensor integreert AI-mogelijkheden
  2. DIY-monitor voor milieu en luchtkwaliteit
  3. Hoe de luchtkwaliteit op OpenSensors te meten
  4. Helium luchtkwaliteitssensor
  5. LoRa-gebaseerde Smart City-luchtkwaliteitsbewaking
  6. DIY eenvoudigste IV9 Numitron-klok met Arduino
  7. DHT11-sensor met LED's en een piëzo-luidspreker
  8. Binnenluchtkwaliteit en afvalbewakingssysteem
  9. CO2-monitoring met K30-sensor
  10. Eenvoudige obstakelsensor met Arduino
  11. Op koolstof gebaseerde luchtkwaliteitssensor