ESP32 - 가스 센서 | ESP32 - Gas Sensor

이 튜토리얼은 ESP32와 MQ2 가스 센서를 사용하여 LPG, 연기, 알코올, 프로판, 수소, 메탄 및 일산화탄소와 같은 다양한 가연성 가스의 수준을 검토하여 공기 질을 평가하는 과정을 안내할 것입니다. 우리는 다음과 같은 측면들을 자세히 다룰 것입니다:

준비물

1×ESP-WROOM-32 Dev Module 쿠팡 | Amazon
1×USB Cable Type-C 쿠팡 | Amazon
1×MQ2 Gas Sensor Amazon
1×Breadboard 쿠팡 | Amazon
1×Jumper Wires Amazon
1×(Recommended) ESP32 Screw Terminal Adapter 쿠팡 | Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

MQ2 가스 센서에 대하여

MQ2 가스 센서는 주변 환경에서 LPG, 연기, 알코올, 프로판, 수소, 메탄 및 일산화탄소와 같은 다양한 가스의 존재를 감지할 수 있습니다. 이 센서는 디지털 출력 핀과 아날로그 출력 핀 두 가지 출력 옵션을 제공합니다.

MQ2 가스 센서가 각각의 가스에 대한 구체적인 정보를 제공하지 않는다는 점은 중요하게 주목할 필요가 있습니다. 대신, 그것은 가스의 조합이나 가스의 존재를 전체적으로 알려줍니다.

MQ2 센서를 활용하여 가스 누출이 있는지 또는 공기질이 나쁜지를 확인할 수 있습니다. 이 정보를 통해 우리는 경보를 활성화하거나 환기 시스템을 켜는 등 적절한 조치를 취하여 안전을 확보할 수 있습니다.

핀배치

MQ2 가스 센서는 특정 기능을 가진 네 개의 핀으로 구성됩니다:

  • VCC 핀: 이 핀은 VCC(5V)에 연결되어야 합니다.
  • GND 핀: 이 핀은 GND(0V)에 연결되어야 합니다.
  • DO 핀: 가연성 가스의 존재를 나타내는 디지털 출력 핀입니다. 가연성 가스 농도가 감지되면 핀은 LOW 신호를 출력하고, 그렇지 않으면 HIGH 신호를 출력합니다. 가스 농도를 감지하는 임계값은 내장된 포텐티오미터를 사용하여 조정할 수 있습니다.
  • AO 핀: 가스 농도에 비례하는 아날로그 전압을 생성하는 아날로그 출력 핀입니다. 가스 농도가 증가하면 전압 출력도 증가하고, 가스 농도가 감소하면 전압 출력도 그에 따라 감소합니다.
MQ2 Gas Sensor Pinout

또한 MQ2 가스 센서는 두 개의 LED 표시등을 갖추고 있습니다:

  • PWR-LED 표시등: 이 LED는 센서가 전력을 받고 있음을 나타내는 전원 표시등으로 사용됩니다. 센서에 전원이 공급되고 작동할 때 켜집니다.
  • DO-LED 표시등: 이 LED는 센서의 DO 핀과 연결되어 있습니다. DO 핀에서 받은 값에 기반하여 가스 농도의 시각적 표현을 제공합니다. 가스 농도가 존재하고 DO 핀이 LOW로 설정되면 DO-LED 표시등이 켜집니다. 반대로, 가스 농도가 감지되지 않고 DO 핀이 HIGH로 설정되면 DO-LED 표시등이 꺼집니다.

작동 원리

DO 핀에 관하여:

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

Regarding the AO pin:

AO 핀에 관하여:

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

포텐쇼미터를 조정한다고 해서 AO 핀의 값에 영향을 주지 않는다는 점을 유의하는 것이 중요합니다.

MQ2 센서 예열

MQ2 가스 센서는 효과적으로 사용하기 전에 예열 기간이 필요합니다. 자세한 내용은 다음과 같습니다:

  • 장기간 보관(약 한 달 이상) 후 센서를 처음 사용할 때는 24-48시간 동안 예열하는 것이 필요합니다. 이 긴 예열 시간은 정확한 작동을 보장합니다.
  • 센서가 최근에 사용되었다면, 예열 시간이 훨씬 짧습니다. 센서가 완전히 예열되는 데 보통 5-10분밖에 걸리지 않습니다. 이 예열 기간 동안 센서는 처음에 높은 측정값을 제공할 수 있지만, 이러한 측정값은 센서가 안정될 때까지 점차 감소할 것입니다.

MQ2 센서를 예열하려면, VCCGND 핀을 전원 공급장치에 연결하거나 ESP32의 VCCGND 핀에 연결하기만 하면 됩니다. 센서가 필요한 예열 시간 동안 이 상태를 유지하도록 합니다.

선연결

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

DO만 사용할 때 ESP32와 MQ2 가스 센서 사이의 배선도.

ESP32 MQ2 gas sensor wiring diagram

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

ESP32 및 다른 구성 요소에 전원을 공급하는 방법에 대해 잘 알지 못하는 경우, 다음 튜토리얼에서 안내를 찾을 수 있습니다: ESP32 전원 공급 방법.

ESP32와 MQ2 가스 센서 사이의 연결도(AO만 사용할 때).

ESP32 air quality wiring diagram

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

ESP32와 MQ2 가스 센서를 AO와 DO 모두 사용할 때의 연결도.

ESP32 smoke sensor wiring diagram

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

ESP32 코드 - DO 핀에서 값 읽기

/* * 이 ESP32 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32/esp32-gas-sensor */ #define DO_PIN 14 // ESP32의 핀 GPIO14이 MQ2 센서의 DO 핀에 연결됨 void setup() { // 직렬 통신 초기화 Serial.begin(9600); // ESP32의 핀을 입력으로 초기화 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"); }

사용 방법

  • 이것이 처음으로 ESP32를 사용하는 경우, Arduino IDE에서 ESP32 환경 설정하는 방법을 참조하세요.
  • 위의 코드를 복사하여 Arduino IDE에서 열기
  • Arduino IDE에서 Upload 버튼을 클릭하여 ESP32에 코드를 업로드
  • 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 상태가 계속 켜져 있거나 꺼져 있는 것을 발견하면, 감도를 미세 조정하기 위해 포텐쇼미터를 조정할 수 있다는 것을 기억해 주세요.

ESP32 코드 - AO 핀에서 값을 읽기

/* * 이 ESP32 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32/esp32-gas-sensor */ #define AO_PIN 36 // ESP32의 핀 GPIO36이 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); }

사용 방법

  • 위의 코드를 복사하고 아두이노 IDE로 열기
  • ESP32에 코드를 업로드하기 위해 아두이노 IDE에서 Upload 버튼 클릭
  • 감지하고 싶은 연기/가스 근처에 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: 1938 MQ2 sensor AO value: 1954 MQ2 sensor AO value: 2000 MQ2 sensor AO value: 3002 MQ2 sensor AO value: 4014 MQ2 sensor AO value: 4017
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!