아두이노 나노 - 가스 센서 | Arduino Nano - Gas Sensor

이 튜토리얼은 Arduino Nano와 MQ2 가스 센서를 사용하여 LPG, 연기, 알코올, 프로판, 수소, 메탄, 일산화탄소와 같은 가스의 농도를 측정하여 공기의 질을 평가하는 방법을 안내합니다. 자세히는 우리가 배울 것입니다:

준비물

1×Arduino Nano Amazon
1×USB A to Mini-B USB cable 쿠팡 | Amazon
1×MQ2 Gas Sensor Amazon
1×Jumper Wires Amazon
1×(Optional) 9V Power Adapter for Arduino Nano Amazon
1×(Recommended) Screw Terminal Adapter for Arduino Nano 쿠팡 | Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

MQ2 가스 센서 소개

MQ2 가스 센서는 주변 공기 중 LPG, 연기, 알코올, 프로판, 수소, 메탄 및 일산화탄소의 수준을 감지할 수 있는 모듈입니다. 디지털 출력 핀과 아날로그 출력 핀 두 가지 출력 옵션을 제공합니다.

MQ2 가스 센서가 각 가스에 대한 개별 정보를 제공하지 않는다는 것을 알아두는 것이 중요합니다. 대신, 이 센서는 가스나 가스 조합의 전반적인 존재에 대한 일반적인 아이디어를 우리에게 줍니다.

MQ2 센서를 사용하여 가스 누출이 있는지 또는 공기 질이 좋지 않은지를 판별할 수 있습니다. 이 정보는 경보를 활성화하거나 환기 시스템을 켜는 등 적절한 안전 조치를 취하는 데 유용합니다.

핀배열

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

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

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

  • PWR-LED 표시등: 이 LED는 센서의 전원 상태를 나타냅니다. 센서가 전력을 받고 있을 때 일반적으로 켜집니다.
  • DO-LED 표시등: 이 LED는 센서의 DO 핀과 직접 연결되어 있습니다. DO 핀의 값에 기반하여 가스 농도를 반영합니다. 가스 농도가 감지되면 LED가 켜지고, 가스 농도가 없을 때 LED가 꺼집니다. DO-LED는 가스 농도의 존재 여부를 시각적으로 나타냅니다.

작동 원리

DO 핀에 관하여:

  • MQ2 모듈은 가스 농도에 대한 민감도 또는 임계값을 조정할 수 있는 내장형 포텐쇼미터가 특징입니다.
  • 주변 환경의 가스 농도가 설정된 임계값을 초과하면 센서의 출력 핀이 LOW가 되고 DO-LED 지시등이 켜집니다.
  • 반대로, 가스 농도가 임계값 아래로 떨어지면 센서의 출력 핀이 HIGH가 되고 DO-LED 지시등이 꺼집니다.

AO 핀에 관하여:

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

포텐쇼미터가 AO 핀에서 관찰된 값을 영향을 주지 않는다는 것을 주목하는 것이 중요합니다.

포텐쇼미터가 AO 핀의 값에 영향을 주지 않는다는 점에 유의하십시오.

MQ2 센서 예열

MQ2 가스 센서는 효과적으로 사용하기 전에 예열 기간이 필요합니다.

센서가 한 달 이상 사용하지 않고 장기간 보관된 경우, 센서가 정확하게 작동하도록 하기 위해 24-48시간 동안 지속적으로 예열해야 합니다.

그러나 센서가 최근에 사용된 경우, 5-10분의 예열 시간만 필요합니다. 이 시간 동안 센서는 처음에 높은 수치를 제공할 수 있지만, 이러한 수치는 센서가 안정될 때까지 점차 감소할 것입니다.

MQ2 센서를 예열하려면 간단히 VCCGND 핀을 전원 공급 장치에 연결하거나 아두이노 나노 보드의 VCCGND 핀에 연결한 다음 지정된 예열 시간 동안 그대로 두면 됩니다.

선연결

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

Arduino Nano와 MQ2 가스 센서를 DO만 사용할 때의 배선도.

Arduino Nano MQ2 gas sensor wiring diagram

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

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

Arduino Nano air quality wiring diagram

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

아두이노 나노와 MQ2 가스 센서를 AO와 DO 모두 사용할 때의 배선도.

Arduino Nano smoke sensor wiring diagram

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

아두이노 나노 코드 - DO 핀에서 값 읽기

/* * 이 Arduino Nano 코드는 newbiely.kr 에서 개발되었습니다 * 이 Arduino Nano 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-nano/arduino-nano-gas-sensor */ #define DO_PIN 2 // 아두이노 나노의 DO 핀에 연결된 핀 void setup() { // 시리얼 모니터와의 통신을 위해 시리얼을 초기화합니다. Serial.begin(9600); // 아두이노 나노의 핀을 입력으로 초기화합니다 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로 열기
  • Arduino IDE에서 Upload 버튼을 클릭하여 코드를 Arduino Nano에 업로드하세요
  • 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 상태가 지속적으로 켜져 있거나 꺼져 있는 것을 발견하면, 가변 저항을 조정하여 센서의 감도를 미세하게 조정할 수 있다는 점을 유념해 주십시오.

아두이노 나노 코드 - AO 핀에서 값 읽기

/* * 이 Arduino Nano 코드는 newbiely.kr 에서 개발되었습니다 * 이 Arduino Nano 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-nano/arduino-nano-gas-sensor */ #define AO_PIN A5 // Arduino Nano의 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 버튼을 클릭하여 코드를 Arduino Nano에 업로드하세요
  • 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!