Saturday, March 31, 2012

Gas Sensor Tutorial

We just received a bunch of MQ Series Gas Sensors. These inexpensive sensors include: MQ2 - Flammable Gas & Smoke MQ3 - Alcohol MQ4 - Methane MQ5 - LPG / Natural Gas MQ6 - LPG / IsoButane / Propane MQ7 - Carbon Monoxide MQ9 - Carbon Monoxide & Flammable Gas
Today's project is a smoke detector that turns on an LED when smoke concentrations exceed a certain level.  We soldered the sensor to the carrier board, along with a sensitivity resistor and a 3 pin header. The carrier board pins are VCC (+5v), GND, and Out, which connects to A0 on our Arduino. We connected a LED to Pin 13 and Gnd as indication of an alarm state (smoke detected). See the video and the code we used: Next step is a temp sensor for heat detection, and a relay for a siren.

// These constants won't change.  They're used to give names
// to the pins used:
const int analogInPin = A0;  // Analog input pin that the potentiometer is attached to
const int ledPin = 13;                 // LED connected to digital pin 13

int sensorValue = 0;        // value read from the sensor




void setup() {
  // initialize serial communications at 9600 bps:
  Serial.begin(9600); 
  pinMode(ledPin, OUTPUT);      // sets the digital pin as output
}

void loop() {
  // read the analog in value:
  sensorValue = analogRead(analogInPin);            
  // determine alarm status
  if (sensorValue >= 750)
  {
    digitalWrite(ledPin, HIGH);   // sets the LED on
  }
  else
  {
  digitalWrite(ledPin, LOW);    // sets the LED off
  }

  // print the results to the serial monitor:
  Serial.print("sensor = " );                       
  Serial.println(sensorValue);     

  // wait 10 milliseconds before the next loop
  // for the analog-to-digital converter to settle
  // after the last reading:
  delay(10);                     
}