Arduino IDE를 사용하여 ESP32와 MQ-2 가스 센서 인터페이스

Arduino Ideleul Sayonghayeo Esp32wa Mq 2 Gaseu Senseo Inteopeiseu



센서는 시스템에 데이터를 공급할 때 IoT 기반 프로젝트를 설계하는 데 중요한 부분입니다. 마이크로컨트롤러 기반 IoT 보드는 다양한 센서를 인터페이스하고 데이터를 클라우드에 업로드하거나 비상 이메일을 생성할 수 있는 기능으로 인해 인기를 얻었습니다.

우리가 말하는 보드는 ESP32 무한한 기능으로 인해 사용자가 여러 센서를 인터페이스하는 데 도움이 됩니다. 가스 센서는 ESP32가 포함된 널리 사용되는 센서 중 하나로서 실내 화재 또는 가스 누출을 감지할 수 있습니다. MQ-2 가스 센서를 ESP32와 인터페이스하는 가능한 방법을 알아보겠습니다.

MQ-2 가스 센서

MQ-2는 MOS(Metal Oxide Semiconductor) 센서이기 때문에 다른 센서에 비해 정밀도가 높고 널리 사용되는 가스 센서 중 하나입니다. 이러한 센서는 가스 감지가 가스 입자에 노출되면 저항 값의 변화를 기반으로 하기 때문에 화학 저항기로 알려져 있습니다.







MQ-2 센서는 5V에서 작동합니다. LPG, 프로판, 메탄 및 일산화탄소와 같은 가스를 감지할 수 있습니다. MQ-2 센서는 가스의 존재를 확인할 수는 있지만 식별할 수 없다는 점에 유의하는 것이 중요합니다. 따라서 특정 위치의 가스 밀도 변화를 측정하고 그에 따라 출력 신호를 생성하는 것이 가장 좋습니다.





다음은 MQ-2 센서의 몇 가지 중요한 하이라이트입니다.





  • +5V에서 작동
  • 아날로그 출력 전압: 0V ~ 5V
  • 디지털 출력 전압: 높음 또는 낮음(0V 또는 5V) TTL 논리
  • MQ-2는 아날로그 및 디지털 센서와 함께 사용할 수 있습니다.
  • 감도를 설정하는 전위차계가 있습니다.
  • LPG, 알코올, 프로판, 수소, 일산화탄소 및 메탄까지 감지하는 데 사용할 수 있습니다.

MQ-2 핀아웃

MQ-2 센서에는 4가지 핀이 있습니다.

  • 참조 : 가스감지센서용 전원핀으로 5V에 연결할 수 있습니다.
  • 접지 : ESP32 GND 핀에 연결된 센서의 접지 핀.
  • 의심 : 디지털 출력 핀은 가스 존재를 나타냅니다. 1, 0과 같이 HIGH 또는 LOW 상태로 출력할 수 있습니다.
  • 팔월 : 아날로그 출력 핀은 아날로그 신호에서 가스 존재를 나타냅니다. 출력 데이터는 감지된 가스 수준에 따라 Vcc와 GND 사이의 연속 값을 제공합니다.

MQ-2와 ESP32 인터페이스

MQ-2 센서는 아날로그 및 디지털 출력을 모두 제공할 수 있는 사용하기 쉬운 가스 센서입니다. 디지털 출력은 가스 감지를 나타내는 HIGH 또는 LOW 값만 제공하지만 여기서는 더 자세한 판독값을 제공하고 가스 레벨을 기록하는 데 도움이 되는 아날로그 출력을 사용합니다.



아날로그 핀 출력은 가스 농도에 비례하고 사용 가능한 가스가 높을수록 아날로그 출력 값입니다. MQ-2 센서에는 아날로그 신호를 받아 센서의 디지털 출력에서 ​​사용할 수 있도록 디지털화하는 고정밀 비교기(LN393)가 있는 연산 증폭기가 있다는 점에 유의해야 합니다.

MQ-2 센서는 200ppm에서 10000ppm 범위의 가스 농도를 감지할 수 있습니다. 여기서 ppm은 가스의 농도를 나타내는 단위인 백만분의 일(Parts-per-million)을 나타냅니다.







MQ-2를 ESP32와 인터페이스하려면 아래 핀 구성을 따르십시오.



ESP32가 있는 MQ-2 핀

MQ-2 센서에는 3개의 핀이 있으며 그 중 2개는 GND 및 Vcc이고 세 번째 핀은 Aout으로 측정된 가스 값을 아날로그 신호로 제공합니다.



ESP32 핀 MQ-2 PIN
접지 접지
오다 Vcc
GPIO 4 팔월





ESP32가 있는 LED 핀

ESP32의 GPIO 32에 LED를 연결했습니다. 가스 농도가 특정 임계값에서 증가하면 LED가 표시됩니다.

ESP32 핀 주도의
GPIO 32 Vcc
접지 접지

아래는 가스 센서와 LED가 있는 ESP32의 회로입니다.



ESP32와 MQ-2 가스 센서 인터페이스를 위한 코드

정수 주도의 = 32 ; /*LED 핀 정의*/
정수 센서_입력 = 4 ; /*센서 입력용 디지털 핀 5*/
무효의 설정 ( ) {
연속물. 시작하다 ( 115200 ) ; /*직렬 통신을 위한 전송 속도*/
  pinMode ( LED, 출력 ) ; /*LED를 출력으로 설정*/
}
무효의 고리 ( ) {
정수 센서_8월 = 아날로그 읽기 ( 센서_입력 ) ; /*아날로그 값 읽기 기능*/
연속물. 인쇄 ( '가스 센서: ' ) ;
연속물. 인쇄 ( 센서_8월 ) ; /*읽은 값이 인쇄됨*/
연속물. 인쇄 ( ' \티 ' ) ;
연속물. 인쇄 ( ' \티 ' ) ;
만약에 ( 센서_8월 > 1800년 ) { /*임계값이 1800인 조건*/
연속물. 인쇄 ( '가스' ) ;
디지털 쓰기 ( LED, 높음 ) ; /*가스가 감지되면 LED가 HIGH로 설정됨 */
}
또 다른 {
연속물. 인쇄 ( '가스 아님' ) ;
디지털 쓰기 ( LED, 낮음 ) ; /*가스가 감지되지 않으면 LED가 LOW로 설정됨 */
}
지연 ( 1000 ) ; /*1초 지연*/
}

위의 코드에서 LED는 핀에 정의되어 있습니다. 32 ESP32 및 해당 핀 4 가스 센서에서 입력을 받도록 설정되어 있습니다. 다음 직렬 통신은 전송 속도를 정의하여 시작됩니다. LED는 다음을 사용하여 출력을 설정합니다. pinMode 기능.

에서 고리 먼저 스케치의 일부에서 센서를 통해 아날로그 판독값을 읽고 판독값이 인쇄됩니다. 다음 임계값 1800년 값이 이 임계값을 초과하면 설정됩니다. 핀 32에 연결된 LED가 켜집니다. 켜짐 .

산출

시리얼 모니터는 읽은 아날로그 값을 출력합니다. 여기서 값이 임계값인 1800 미만이면 가스 없음 메시지가 표시되고 임계값을 초과하면 가스 감지 메시지가 직렬 모니터에 나타납니다.

LED 꺼짐: 가스 없음

정상 상태에서는 가스가 감지되지 않으므로 LED가 꺼진 상태로 유지됩니다.

LED 켜짐: 가스 감지됨

이제 담배 라이터를 사용하여 부탄 가스를 적용합니다. 가스 값이 임계값을 초과하면 LED가 켜집니다.

결론

MQ-2는 가스 누출을 감지하고 그에 따라 신호를 생성할 수 있는 가스 감지 센서입니다. ESP32 마이크로컨트롤러 보드를 사용하여 쉽게 인터페이스하고 화재 경보 감지기로 사용하거나 비상 이메일 알림을 생성할 수 있습니다. 이 기사에서는 센서의 3개 핀을 사용하여 ESP32를 MQ-2 센서와 연결했습니다. 가스가 감지되면 LED가 표시 목적으로 사용됩니다.