How to Smell Pollutants
Intro: How to Smell Pollutants
This Instructable explains how to use a gas sensor with your Arduino.
This lets your Arduino smell (and hence you program responses to) overall gas levels for a variety of nasties, including ethanol, methane, formaldehyde, and a bunch of other volatile organic compounds.
My cost to make this actual device was under $100, including the full Arduino kit. Here's a video:
.
And no, I won't put a shirt on:-)
I've got kits / finished versions of this and some other projectsfor sale @ my website
The closest comparable commercial products I can find are:
-a commercial-quality detector: $2500+
-a lab monitor: $295
-a one-off test kit for volatile organic compounds: $234
I learned about this after hearing about some guys who added VOC sensors to toy dogs. Not sure where/if the docs on that project are, but here's the guide that I followed.
Links explaining what VOCs are and why you might want to care:
-Some symptoms of overexposure to VOCs
-an OSHA regulation on formaldehyde levels
-information on sick building syndrome: 'A 1984 World Health Organization Committee report suggested that up to 30 percent of new and remodeled buildings worldwide may be the subject of excessive complaints related to indoor air quality (IAQ).'
-The Inside Story: A Guide to Indoor Air Quality: "For pollutants other than radon, measurements are most appropriate when there are either health symptoms or signs of poor ventilation and specific sources or pollutants have been identified as possible causes of indoor air quality problems. Testing for many pollutants can be expensive. Before monitoring your home for pollutants besides radon, consult your state or local health department or professionals who have experience in solving indoor air quality problems in non-industrial buildings."
This lets your Arduino smell (and hence you program responses to) overall gas levels for a variety of nasties, including ethanol, methane, formaldehyde, and a bunch of other volatile organic compounds.
My cost to make this actual device was under $100, including the full Arduino kit. Here's a video:
And no, I won't put a shirt on:-)
I've got kits / finished versions of this and some other projectsfor sale @ my website
The closest comparable commercial products I can find are:
-a commercial-quality detector: $2500+
-a lab monitor: $295
-a one-off test kit for volatile organic compounds: $234
I learned about this after hearing about some guys who added VOC sensors to toy dogs. Not sure where/if the docs on that project are, but here's the guide that I followed.
Links explaining what VOCs are and why you might want to care:
-Some symptoms of overexposure to VOCs
-an OSHA regulation on formaldehyde levels
-information on sick building syndrome: 'A 1984 World Health Organization Committee report suggested that up to 30 percent of new and remodeled buildings worldwide may be the subject of excessive complaints related to indoor air quality (IAQ).'
-The Inside Story: A Guide to Indoor Air Quality: "For pollutants other than radon, measurements are most appropriate when there are either health symptoms or signs of poor ventilation and specific sources or pollutants have been identified as possible causes of indoor air quality problems. Testing for many pollutants can be expensive. Before monitoring your home for pollutants besides radon, consult your state or local health department or professionals who have experience in solving indoor air quality problems in non-industrial buildings."
STEP 1: Gather Your Supplies
You'll need:
-an Arduino (or equivalent)
-a cable to hook the Arduino up to your computer / provide power
-a computer to read values
-a potentiometer or resistor of known value. anywhere from 500-1k ohms should work
-the gas sensor: a pain to buy in small quantities. i bought 2 and they cost like $22 each, but volume orders get way cheaper... the specific sensor i used was figaro sensors's 2620.
Here's what I used:
-the arduino kit I used
-the different sensors available from Figaro (use different sensors to 'smell' different things)
It' useful but not necessary to have a multimeter and wire stripper handy...
The pdf included with this step is the price list from the sensor manufacturer as of March 2008.
-an Arduino (or equivalent)
-a cable to hook the Arduino up to your computer / provide power
-a computer to read values
-a potentiometer or resistor of known value. anywhere from 500-1k ohms should work
-the gas sensor: a pain to buy in small quantities. i bought 2 and they cost like $22 each, but volume orders get way cheaper... the specific sensor i used was figaro sensors's 2620.
Here's what I used:
-the arduino kit I used
-the different sensors available from Figaro (use different sensors to 'smell' different things)
It' useful but not necessary to have a multimeter and wire stripper handy...
The pdf included with this step is the price list from the sensor manufacturer as of March 2008.
STEP 2: Set Up Your Arduino
1. Get your Arduino connected to your computer and functional
This should be pretty straightforward, especially with any newer Arduino. This guide worked for me.
2. Program your Arduino to read the value from an analog input and display this on-screen. I used
-this guide for using a potentiometer with an arduino and basically just modified the frequency with which it reads input value (delay(100) = read 10 times per second) to get the following code, which works for me:
//this outputs pot value to screen in ohms
int gasSensor = 0; // select input pin for gasSensor
int val = 0; // variable to store the value coming from the sensor
void setup() {
Serial.begin(9600);
}
void loop() {
val = analogRead(gasSensor); // read the value from the pot
Serial.println( val );
delay(100);
}
If you're using this as your first excuse to play with an Arduino, you might want to try just wiring up the potentiometer and reading the value from it before adding the sensor.
This should be pretty straightforward, especially with any newer Arduino. This guide worked for me.
2. Program your Arduino to read the value from an analog input and display this on-screen. I used
-this guide for using a potentiometer with an arduino and basically just modified the frequency with which it reads input value (delay(100) = read 10 times per second) to get the following code, which works for me:
//this outputs pot value to screen in ohms
int gasSensor = 0; // select input pin for gasSensor
int val = 0; // variable to store the value coming from the sensor
void setup() {
Serial.begin(9600);
}
void loop() {
val = analogRead(gasSensor); // read the value from the pot
Serial.println( val );
delay(100);
}
If you're using this as your first excuse to play with an Arduino, you might want to try just wiring up the potentiometer and reading the value from it before adding the sensor.
STEP 3: Create Your Circuit
The picture attached is an image of the circuit from above (meaning that the sensor's leads are pointing towards the ground; there's a little metal tab protruding from the sensor to let you understand which pin is which. Also, check out the figaro guide for the specific sensor you choose. Attached is the datasheet, with some example circuits, for the 2620.
For the 2620, the datasheet specifies at least 450 ohms resistance needed. I tuned my potentiometer to ~right around 450 ohms.
In plain english, here are the connections you'll want to make:
-sensor pin 1 to an outer pin of potentiometer and ground (arduino ground)
-sensor pin 2 to other outer pin of potentiometer
-sensor pin 3 to arduino +5 v and sensor pin 4
-middle pin of potentiometer to arduino analog 0 input
You can solder this (read Figaro note on which type of solder and temperature exposure of sensors), but a breadboard is good enough for my purposes.
For the 2620, the datasheet specifies at least 450 ohms resistance needed. I tuned my potentiometer to ~right around 450 ohms.
In plain english, here are the connections you'll want to make:
-sensor pin 1 to an outer pin of potentiometer and ground (arduino ground)
-sensor pin 2 to other outer pin of potentiometer
-sensor pin 3 to arduino +5 v and sensor pin 4
-middle pin of potentiometer to arduino analog 0 input
You can solder this (read Figaro note on which type of solder and temperature exposure of sensors), but a breadboard is good enough for my purposes.
STEP 4: Test Your Newfound Sense of Smell
With everything connected, you're ready to hook the arduino up to your computer, fire up the arduino environment, and start reading values. Don't forget (like I initially did:)) to hit the 'monitor serial input' button in the arduino software.
You'll then begin to see values scrolling in the black space at the bottom of the arduino program. These values are the resistance, in ohms, being read from the circuit.
To test, blow slowly for at least a few seconds over the top of the sensor. The numbers on the screen should change. Also try holding the sensor over a high-concentration chemical that it should detect: my value jumped quite a bit doing this.
With ~4 days burn-in and ambient temperature of 63F, the values I read in my house were (which is reasonably free of chemical use):
-sitting in the open air, after sensor warms up for ~1 minute: 52
-breathing slowly over the sensor for several seconds: 73
-holding sensor directly over an open bottle of grain alcohol: 235
You'll then begin to see values scrolling in the black space at the bottom of the arduino program. These values are the resistance, in ohms, being read from the circuit.
To test, blow slowly for at least a few seconds over the top of the sensor. The numbers on the screen should change. Also try holding the sensor over a high-concentration chemical that it should detect: my value jumped quite a bit doing this.
With ~4 days burn-in and ambient temperature of 63F, the values I read in my house were (which is reasonably free of chemical use):
-sitting in the open air, after sensor warms up for ~1 minute: 52
-breathing slowly over the sensor for several seconds: 73
-holding sensor directly over an open bottle of grain alcohol: 235
STEP 5: Build Away!
Without burning in this circuit for a week and adding a thermistor, this is really only good for reading relative concentrations of chemicals: eg, if you want a 'lower-VOC' paint, you could hold this over different open bottles of paint (in a room of constant temperature) and reasonably feel a bit safer using the paint that registers the lowest value. Obviously, there are nasties (and probably some VOCs: I don't know) that this doesn't detect, but it's definitely a bit better than nothing:-)
Attached is a pdf Figaro Sensors provided, detailing the response of thermistors at different temperatures. Definitely not the only thermistor you can use, but may be useful as you explore your own, better version of this project.
A cool expansion I want to see is to display the approximate level in parts per million (ppm) of air pollution on my back as I ride my bike through traffic, maybe with an LED 'Mr. Yuck' sign that turns on above a certain concentration as well. Let me know what you build, and have fun!
Attached is a pdf Figaro Sensors provided, detailing the response of thermistors at different temperatures. Definitely not the only thermistor you can use, but may be useful as you explore your own, better version of this project.
A cool expansion I want to see is to display the approximate level in parts per million (ppm) of air pollution on my back as I ride my bike through traffic, maybe with an LED 'Mr. Yuck' sign that turns on above a certain concentration as well. Let me know what you build, and have fun!
34 Comments
Yonatan24 8 years ago
yugnats 8 years ago
Hi, great project! Could I use other sensors? I was thinking about using the TGS2602 rather than the TGS2620 as I'm trying to monitor air quality outside my garage. Thanks!
cooperwood 9 years ago
I am using AutoRae calibration sensor to sense smell for my project and is working fine.
PatrickG5 9 years ago
Are you still mailing the kits for this?
Cyme 12 years ago
gasump 9 years ago
VOC stands for Volatile Organic Compound. Methane is a colourless odourless gas. The rotten eggs type smell commonly attributed to Methane is actually Hydrogen Sulphide commonly generated alongside Methane in, for example, rotting vegetation in the anaerobic process. H2S is a dangerous gas that causes many deaths worldwide every year. This comment may seem 'picky' but if people are going to use projects like this for real/health monitoring you need to get the basic science right or you could end up endangering someone.
smohamad3 9 years ago
please help me.. ^^
jknotts1 10 years ago
alavasier 11 years ago
liseman 11 years ago
You can roughly calibrate the sensor by matching readings to the datasheet, eg https://www.instructables.com/files/orig/FCF/712B/FEMHW1YS/FCF712BFEMHW1YS.pdf . Putting the sensor in 100% concentration of target gas vs. 100% of a non-detected gas will let you determine min and max.
ftreska 11 years ago
ozmel 11 years ago
bojanmanev 13 years ago
fourpenguins 12 years ago
The main site is www.arduino.cc , but there are assorted other sites that sell them.
colorex 12 years ago
http://www.huffingtonpodst.com/huffing.jpg
transuranic 13 years ago
Cyme 12 years ago
skybosg 12 years ago
yeagerxp 13 years ago
guitarmonk15 13 years ago