Eric J AndrewsAlexis RodriguezDaniel Jablonski
Published

Robo-Dust

Enclosure that measures the effect of power tool dust on air quality in a classroom setting.

BeginnerShowcase (no instructions)Over 1 day110
Robo-Dust

Things used in this project

Hardware components

Breadboard (generic)
Breadboard (generic)
×1
Resistor 100 ohm
Resistor 100 ohm
×1
Resistor 47.5 ohm
Resistor 47.5 ohm
×1
ModernDevice Current Sensor
×1
Gikfun Dust Sensor
×1
LED (generic)
LED (generic)
×1

Hand tools and fabrication machines

Laser cutter (generic)
Laser cutter (generic)

Story

Read more

Custom parts and enclosures

Cardboard Prototype Enclosure

Wood Enclosure

Side View

Wood Enclosure

Top View

Schematics

Blueprint

Initial Design Blueprint

Fritzing

Diagram for hooking up sensors

Enclosure

An illustrator design of our enclosure.

Code

803 Lane Of Things Code

Arduino
This code uses an equation to calculate dust density and current using a dust and current sensor.
int measurePin = 0;
int ledPower = 0;
 
int samplingTime = 280;
int deltaTime = 40;
int sleepTime = 9680;
 
float voMeasured = 0;
double calcVoltage = 0;
double dustDensity = 0;
double p =0;
 
void setup(){
  Serial.begin(9600);
  pinMode(ledPower,OUTPUT);
  pinMode(D1, OUTPUT);
  pinMode(D2, OUTPUT);
  
  Particle.variable("dustDensity", dustDensity);
  Particle.variable("current", p);
  Particle.variable("voltage", calcVoltage);
}
 
void loop(){
  digitalWrite(ledPower,LOW); // power on the LED
  delayMicroseconds(samplingTime);
 
  voMeasured = analogRead(measurePin); // read the dust value
 
  delayMicroseconds(deltaTime);
  digitalWrite(ledPower,HIGH); // turn the LED off
  delayMicroseconds(sleepTime);
 
  // 0 - 3.3V mapped to 0 - 1023 integer values
  // recover voltage
  calcVoltage = voMeasured * (3.3 / 1024);
 
  // linear eqaution taken from http://www.howmuchsnow.com/arduino/airquality/
  // Chris Nafis (c) 2012
  dustDensity = 0.17 * calcVoltage - 0.1;
 
  Serial.print("Raw Signal Value (0-1023): ");
  Serial.print(voMeasured);
 
  Serial.print(" - Voltage: ");
  Serial.print(calcVoltage);
 
  Serial.print(" - Dust Density: ");
  Serial.println(dustDensity);
  
  
  if(dustDensity < 1.0)
  {
    digitalWrite(D1, LOW);
    digitalWrite(D2, HIGH);
  }
  else
  {
    digitalWrite(D1, HIGH);
    digitalWrite(D2, LOW);
  }
  
  // read the input on analog pin 0:
  int sensorValue = analogRead(A1);
  // Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
  float voltage = sensorValue * (5.0 / 1023.0);
  //HERE'S THE ONE LINE OF CODE WE ADDED - your numbers will vary from ours!
  p = 326.348 * voltage + 26.461;
  // print out the value you calculated:
  Serial.println(p); //Don't forget to change the variable name to "power"!
 
  delay(1000);
}

Credits

Eric J Andrews

Eric J Andrews

-1 projects • 0 followers
Alexis Rodriguez

Alexis Rodriguez

1 project • 0 followers
Daniel Jablonski

Daniel Jablonski

1 project • 0 followers

Comments