Sensor-Dust

From Microduino Wiki
Revision as of 06:15, 26 August 2016 by Fengfeng (talk)
Jump to: navigation, search
Language: English  • 中文
Microduino-Dust

Microduino-Dust is a PM2.5 sensor.

Sensor Pin Introduction

Sensor backpin.png
  • Pins of the sensor:
    • PIN1: GND
    • PIN2: VCC
    • General signal pins:
      • PIN3(IO1): digital/analog signal
      • PIN4(IO2): NC(null)
    • Special signal pins:
      • If it is IIC: IO1/IO2 are respectively SDA/SCL.
      • If it is soft serial port: IO1/IO2 are respectively tx/rx.
  • Special to Sensor-Dust sensor pins
    • PIN1: GND
    • PIN2: VCC
    • PIN3(IO1): Soft serial port tx
    • PIN4(IO2): Soft serial port rx


Microduino sensor can communicate with core module through the connection with Microduino-Module Sensor Hub.

Features

  • Adopt SHARP GP2Y1010AUOF air quality sensor;
  • Independent air duct and fast detection speed;

Specification

  • Working voltage: 4.5V~5.5V
  • Detection sensitivity: 0.5V/0.1mg/m3
  • 1.27mm-spacing 4Pin-to-6Pin interface;
  • Soft serial port (D4,D5) communication.

Document

Development

Microduino-Dust can be applied in outdoor air quality detection or indoor dust detection.

Application

#define FAN_PIN 10      //Fan control pin 
#define LED_PIN 12      //Sensor LED control pin 
#define DUST_PIN A0     //Sensor detection 
#define TIME1 280      
#define TIME2 40
#define TIME3 9680

int dustVal = 0;
float dustVoltage = 0; 
float dustDensity = 0;

void setup(){
  Serial.begin(9600);
  pinMode(FAN_PIN, OUTPUT);
  pinMode(LED_PIN, OUTPUT);
  digitalWrite(FAN_PIN, LOW);
}

void loop(){
  digitalWrite(FAN_PIN, HIGH);    //Open the fan before detecting 
  delay(3000);
  digitalWrite(FAN_PIN, LOW);     //Close the fan after 3s delay 
  digitalWrite(LED_PIN,LOW);      //Turn on LED inside the sensor  
  delayMicroseconds(TIME1);       //Wait for 280us
  dustVal = analogRead(DUST_PIN); //Analog value sampling  
  delayMicroseconds(TIME2);       // Wait for 40us
  digitalWrite(LED_PIN,HIGH);     //Turn off the LED
  delayMicroseconds(TIME3);
  dustVoltage = dustVal * (5.0/1024.0);    //Convert the analog value to voltage value. 
  dustDensity = 0.17 * dustVoltage - 0.1;  //Convert the voltage value to dust density (Output unit: mg / m³) 
  Serial.println(dustDensity);
  delay(1000);
}
  • Software:
  • Stack all modules together and then connect the Dust sensor's fan control interface with the D10 pin of the Sensorhub with a wire.
  • Connect Microduino-Dust sensor's control detection interface to the IO splitter's IN interface with a wire. And then connect the IO splitter's A-OUT interface to Sensorhub A0, the IO splitter's *B-OUT interface to Sensorhub D12.
  • Open Arduino IDE, copy the program to IDE and then choose the right board from Tools→Board and then compile.
  • Select the right port from Tools→Serial Port in Arduino IDE after compiling, then download program.
  • After the download, you can open the serial monitor. After the Dust sensor's fan works for three seconds, the serial console will display the current air dust density and the Dust sensor will have another detection after one second.

Purchase

History

Pictures

  • Front
File:Microduino-Dust-F.JPG
Microduino-Dust Front
  • Back
File:Microduino-Dust -b.JPG
Microduino-Dust Back