1. MQ-2
어쩌다 구하게 된, 가스센서 MQ-2 모듈 입니다.
가스를 측정하는 센서의 방식은, 가열된 백금선에 기체가 섞이면서 저항값 변동에 대한 차를 감지하여 측정하게 됩니다.
히터 가열을 통해 감지를 하는 방식임으로, 불이 쉽게 붙을 수 있는 환경에서는 사용 않기를 권장하고 있으나, 아이러니 하게도 감지할 수 있는 기체는 불이 붙을 수 있는 - Flemmable Gases 입니다. 금속으로 된 망사가 불 붙는 것을 방지해 준다고 합니다. 구동은 5V 전원을 가지고 값의 변화를 Analog 로 표현해 줍니다.
특정 값 기준으로 On / Off 판단할 수 있도록 , 모듈에는 Dual Comparators 가 달려 있습니다.
* Dual Comparators
- BA10393
미리 Potentiometer 를 이용하여 기준 값을 정해놓고, 이 정해놓은 값 보다 높은 값이 인지되면 Gas 가 있다를 판단하기 위함 입니다. 기준이 있다/없다 이므로 Digital Pin 인, D0 를 사용하게 됩니다. 실제 D0 사용시에는 측정된 값을 알 수는 없습니다.
뒷면 입니다. Keystudio 제품이군요.
2. MQ Series
참고로, MQ 시리즈는 다음과 같이 많은 종류들이 있습니다.
-----------------------------------------------
Sensor | Gas to measure
-----------------------------------------------
MQ-2 | Methane, Butane, LPG, Smoke
MQ-3 | Alcohol, Ethanol, Smoke
MQ-4 | Methane, CNG Gas
MQ-5 | Natural gas, LPG
MQ-6 | LPG, Butane
MQ-7 | Carbon Monoxide
MQ-8 | Hydrogen Gas
MQ-9 | Carbon Monoxide, Flammable Gasses
MQ-131 | Ozone
MQ-135 | Air Quality
MQ-136 | Hydrogen Sulphide Gas
MQ-137 | Ammonia
MQ-138 | Benzene, Toluene, Alcohol, Propane,
| Formaldehyde gas, Hydrogen
MQ-214 | Methane, Natural Gas
MQ-216 | Natural Gas, Coal Gas
MQ-303A | Alcohol, Ethanol, Smoke
MQ-306A | LPG, Butane
MQ-307A | Carbon Monoxide
MQ-309A | Carbon Monoxide, Flammable Fas
-----------------------------------------------
MQ-2 와 비슷하게 동작하는 센서로는 MQ-6, AQ-2, MQ-306A, AQ-3 등이 있습니다.
3. Layout
이미 모듈화 되어 있기 때문에, Arduino 의 A0 (Analog Pin) 과 연결되면 됩니다.
----------------------------
MQ-2 | Arduino Nano
----------------------------
GND | GND
VCC | 5V
A0 | A0
----------------------------
Buzzer |
----------------------------
GND | GND
VCC | 3.3V
S | D10
----------------------------
LED |
----------------------------
Red LED + | D12 /w 100k Ohm
Blue LED + | D11 /w 100k Ohm
----------------------------
회로로 구성하면 다음과 같습니다.
4. Calibration
영점 조절은, 모듈 위에 있는 Potentiometer 를 이용하여 조정하게 됩니다. 절대값을 찾기 위해서는 클린 룸 환경이 조성되어야 하나, 일단 방 안의 환경을 기준으로 잡아 줍니다.
드라이버를 이용하여 파란색만 점등하는 순간에 Potentiometer 돌리는 것을 멈추면 됩니다.
5. Source
활용하는 소스는 다음과 같습니다.
* Smoke Detection using MQ-2 Gas Sensor
특정 값 - 450 이상을 감지하게 되면, 부저를 울리고 빨간색 LED 를 점등 시키는 소스 입니다.
/*
All the resources for this project:
https://www.hackster.io/Aritro
*/
int redLed = 12;
int greenLed = 11;
int buzzer = 10;
int smokeA0 = A5;
// Your threshold value
int sensorThres = 450;
void setup() {
pinMode(redLed, OUTPUT);
pinMode(greenLed, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(smokeA0, INPUT);
Serial.begin(115200);
}
void loop() {
int analogSensor = analogRead(smokeA0);
Serial.print("Pin A0: ");
Serial.println(analogSensor);
// Checks if it has reached the threshold value
if (analogSensor > sensorThres) {
digitalWrite(redLed, HIGH);
digitalWrite(greenLed, LOW);
tone(buzzer, 1000, 200);
} else {
digitalWrite(redLed, LOW);
digitalWrite(greenLed, HIGH);
noTone(buzzer);
}
delay(100);
}
6. Test
라이터 가스를 이용하여 측정해 봤습니다. 바로 반응 하는군요.
부저를 부착하고, 날숨을 이용하여 확인해 봤습니다. Methane, Butane, LPG, Smoke 등을 측정하나, 저의 날숨이 메탄으로 측정 되었을까요? 부탄으로 측정 되었을까요? 아니면 연기로 측정 되었을까요? 아마 수증기가 날숨에 섞여 있으므로, Smoke 가 아닐까 합니다.
꽤나 민감하게 잘 반응 합니다. 일상 생활 센서로써 활용할 만 하다고 생각 됩니다.
FIN
댓글
댓글 쓰기