ESP8266 - 가스 센서 | ESP8266 - Gas Sensor

이 튜토리얼은 ESP8266과 MQ2 가스 센서를 사용하여 LPG, 연기, 알코올, 프로판, 수소, 메탄 및 일산화탄소와 같은 가스의 수치를 측정함으로써 공기의 질을 평가하는 방법을 안내합니다. 자세히 말하자면, 우리는 다음을 배우게 될 것입니다:

준비물

1×ESP8266 NodeMCU Amazon
1×Micro USB Cable Amazon
1×MQ2 Gas Sensor Amazon
1×Jumper Wires Amazon
1×(Optional) 5V Power Adapter for ESP8266 Amazon
1×(Optional) ESP8266 Screw Terminal Adapter Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

MQ2 가스 센서 정보

MQ2 가스 센서는 LPG, 연기, 알코올, 프로판, 수소, 메탄 및 일산화탄소를 포함한 다양한 가스의 수준을 감지할 수 있는 유용한 장치입니다. 디지털 출력 핀과 아날로그 출력 핀 두 가지 출력 옵션을 제공합니다.

MQ2 가스 센서는 각 가스에 대해 별도의 정보를 제공하지 않는다는 점을 주목하는 것이 중요합니다. 대신, 이는 가스 조합의 일반적인 징후나 가스의 존재 여부를 전반적으로 알려줍니다.

MQ2 센서를 사용함으로써, 우리는 가스 누출이 있는지 또는 공기 질이 나쁜지를 파악할 수 있습니다. 이 정보는 비상 알람을 작동시키거나 환기 시스템을 켜는 등 적절한 조치를 취함으로써 우리의 안전을 보장하는 데 중요합니다.

핀배열

MQ2 가스 센서는 다양한 기능을 하는 네 개의 핀으로 구성되어 있습니다:

  • VCC 핀: 센서에 필요한 전력을 공급하기 위해 전원 공급 장치의 양극(5V)에 연결해야 합니다.
  • GND 핀: 전기 회로를 완성하기 위해 전원 공급 장치의 음극(0V)에 연결해야 합니다.
  • DO 핀: 가연성 가스의 존재를 나타내는 디지털 출력 핀입니다. 가스 농도가 감지되면 출력이 LOW로 설정되고 가스가 감지되지 않으면 출력이 HIGH로 설정됩니다. 가스 농도 감지 임계값은 센서에 내장된 가변저항기를 사용하여 조정할 수 있습니다.
  • AO 핀: 가스 농도에 비례하는 전압 신호를 생성하는 아날로그 출력 핀입니다. 가스 농도가 증가하면 전압 출력도 증가하고, 가스 농도가 감소하면 전압 출력도 그에 따라 감소합니다.
MQ2 Gas Sensor Pinout

또한 MQ2 가스 센서에는 두 개의 LED 지시등이 포함되어 있습니다:

  • PWR-LED 지시등: 이 LED는 전원 지시등으로서, 센서가 전력을 받고 있는지 여부를 나타냅니다. 센서에 전력이 제대로 공급되면 PWR-LED가 켜지며, 센서의 작동 상태를 시각적으로 확인할 수 있습니다.
  • DO-LED 지시등: 이 LED는 센서의 DO 핀과 직접 연결되어 있습니다. DO 핀에서 받은 값에 기반하여 가스 농도의 존재를 나타냅니다. 가스 농도가 검출되어 DO 핀이 LOW로 설정되면 DO-LED가 켜집니다. 반대로, 가스 농도가 검출되지 않고 DO 핀이 HIGH로 설정되면 DO-LED가 꺼집니다.

작동 원리

DO 핀에 관하여:

  • MQ2 모듈에는 가스 농도의 민감도나 임계값을 조정하기 위한 내장형 가변 저항이 포함되어 있습니다.
  • 주변 환경의 가스 농도가 설정된 임계값을 초과하면 센서의 출력 핀이 LOW가 되고 DO-LED가 켜집니다.
  • 반대로, 가스 농도가 임계값 이하로 떨어지면 출력 핀이 HIGH가 되고 DO-LED가 꺼집니다.

AO 핀에 관하여:

  • 가스 농도가 증가함에 따라 AO 핀의 전압이 증가합니다.
  • 반대로, 가스 농도가 감소하면 AO 핀의 전압도 그에 따라 감소합니다.

포텐쇼미터 조정이 AO 핀의 값에 영향을 주지 않는다는 것을 유의해야 합니다.

MQ2 센서 예열

MQ2 가스 센서는 효과적으로 사용하기 전에 예열 기간이 필요합니다. 알아야 할 사항은 다음과 같습니다:

  • 장기 저장(약 한 달 이상) 후 처음으로 센서를 사용할 때는 24-48시간 동안 예열하는 것이 필요합니다. 이는 센서가 정확하게 작동하도록 보장합니다.
  • 센서가 최근에 사용된 경우 예열 시간이 훨씬 더 짧아지며, 일반적으로 5-10분만에 완료됩니다. 이 예열 기간 동안 센서가 처음에는 높은 측정값을 제공하는 것이 정상입니다. 그러나 이러한 측정값은 센서가 안정화될 때까지 점차 감소할 것입니다.

MQ2 센서를 예열하려면, VCCGND 단자를 전원 공급 장치나 ESP8266의 VCCGND 단자에 그냥 연결하면 됩니다. 지정된 예열 기간 동안 센서를 연결된 상태로 유지하십시오.

선연결

MQ2 가스 센서 모듈에는 두 개의 출력이 있으므로, 필요에 따라 하나 또는 둘 다를 사용할 수 있습니다.

ESP8266과 MQ2 가스 센서를 DO만 사용할 때의 배선도.

ESP8266 NodeMCU MQ2 gas sensor wiring diagram

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

ESP8266의 핀 배치ESP8266 및 다른 구성 요소에 전원을 공급하는 방법에 대해 더 많이 보십시오.

AO만 사용할 때 ESP8266과 MQ2 가스 센서 간의 배선도.

ESP8266 NodeMCU air quality wiring diagram

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

ESP8266과 MQ2 가스 센서를 AO와 DO 모두 사용할 때의 배선도.

ESP8266 NodeMCU smoke sensor wiring diagram

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

ESP8266 코드 - DO 핀에서 값을 읽기

/* * 이 ESP8266 NodeMCU 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP8266 NodeMCU 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp8266/esp8266-gas-sensor */ #define DO_PIN D7 // esp8266의 pin d7이 MQ2 센서의 DO 핀에 연결됨 void setup() { // 직렬 모니터와 통신하기 위해 Serial을 초기화합니다. Serial.begin(9600); // esp8266의 핀을 입력으로 초기화합니다 pinMode(DO_PIN, INPUT); Serial.println("Warming up the MQ2 sensor"); delay(20000); // MQ2가 예열되기를 기다립니다 } void loop() { int gasState = digitalRead(DO_PIN); if (gasState == HIGH) Serial.println("The gas is NOT present"); else Serial.println("The gas is present"); }

사용 방법

Arduino IDE에서 ESP8266을 시작하려면 다음 단계를 따르세요:

  • ESP8266을 Arduino IDE에서 사용하기 위한 환경 설정하는 방법에 대한 튜토리얼을 확인하세요. 이것이 처음이라면 도움이 될 것입니다.
  • 다이어그램에 표시된 대로 구성 요소를 연결하세요.
  • USB 케이블을 사용하여 컴퓨터에 ESP8266 보드를 연결하세요.
  • 컴퓨터에서 Arduino IDE를 엽니다.
  • 올바른 ESP8266 보드를 선택하세요. 예를 들어, (NodeMCU 1.0 (ESP-12E Module)) 및 해당 COM 포트를 선택하세요.
  • 위의 코드를 복사하여 Arduino IDE에서 엽니다.
  • Arduino IDE에서 Upload 버튼을 클릭하여 ESP8266에 코드를 업로드하세요.
  • MQ2 가스 센서를 감지하고자 하는 연기/가스 근처에 배치하세요.
  • 시리얼 모니터에서 결과를 확인하세요.
COM6
Send
The gas is NOT present The gas is NOT present The gas is NOT present The gas is NOT present The gas is NOT present The gas is present The gas is present The gas is present The gas is present The gas is present
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

LED 상태가 계속 켜져 있거나 꺼져 있음을 알아차린 경우, 센서의 민감도를 미세 조정하기 위해 가변저항을 조정할 수 있음을 유념해 주십시오.

ESP8266 코드 - AO 핀에서 값 읽기

/* * 이 ESP8266 NodeMCU 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP8266 NodeMCU 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp8266/esp8266-gas-sensor */ #define AO_PIN A0 // esp8266의 핀이 MQ2 센서의 AO 핀에 연결됨 void setup() { // 시리얼 모니터와 통신하기 위해 시리얼 초기화하기. Serial.begin(9600); Serial.println("Warming up the MQ2 sensor"); delay(20000); // MQ2가 예열되기를 기다림 } void loop() { int gasValue = analogRead(AO_PIN); Serial.print("MQ2 sensor AO value: "); Serial.println(gasValue); }

사용 방법

  • 위의 코드를 복사하고 Arduino IDE로 열기
  • Arduino IDE에서 Upload 버튼을 클릭하여 코드를 ESP8266에 업로드
  • MQ2 가스 센서를 감지하고자 하는 연기/가스 근처에 두기
  • 시리얼 모니터에서 결과 확인하기.
COM6
Send
MQ2 sensor AO value: 135 MQ2 sensor AO value: 136 MQ2 sensor AO value: 136 MQ2 sensor AO value: 573 MQ2 sensor AO value: 674 MQ2 sensor AO value: 938 MQ2 sensor AO value: 954 MQ2 sensor AO value: 1000 MQ2 sensor AO value: 1002 MQ2 sensor AO value: 1014 MQ2 sensor AO value: 1017
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

DO 또는 AO에서 읽은 값으로부터, 귀하의 기준에 따라 공기 질을 추론하거나 경보를 발동하거나 환기 시스템을 켤 수 있습니다.

동영상

비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.

관련 튜토리얼

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!