Raspberry Pi MQ3 알코올 센서

이 튜토리얼은 Raspberry Pi와 MQ3 알코올 센서를 사용하여 알코올 증기 농도를 측정함으로써 공기 중 알코올 존재를 감지하는 방법을 안내합니다. 구체적으로 배우는 내용:

라즈베리 파이 mq3 알코올 센서

필요한 하드웨어

1×라즈베리 파이 5 쿠팡 | 아마존
1×MQ3 Alcohol Sensor 아마존
1×점퍼케이블 쿠팡 | 아마존
1×(추천) 라즈베리 파이용 스크루 터미널 블록 쉴드 쿠팡 | 아마존
1×(추천) 라즈베리 파이 프로토타이핑 베이스 플레이트 & 브레드보드 키트 아마존
1×(추천) 라즈베리 파이용 HDMI 터치 스크린 모니터 아마존
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

MQ3 알코올 센서에 대하여

MQ3 알코올 센서는 주변 환경의 알코올 증기 존재를 감지할 수 있습니다. 디지털 출력 핀과 아날로그 출력 핀 두 가지 출력 옵션을 제공합니다.

MQ3 센서를 사용하면 음주 측정기 애플리케이션에서 알코올 존재를 확인하거나 공기 중의 알코올 증기를 감지할 수 있습니다. 이 정보는 알람 트리거나 환기 시스템 활성화와 같은 적절한 조치를 취하는 데 유용합니다.

핀아웃

MQ3 알코올 센서에는 서로 다른 목적을 가진 네 개의 핀이 있습니다:

  • VCC 핀: 이 핀을 5V 전원 공급 장치(VCC)에 연결해야 합니다.
  • GND 핀: 올바른 회로 동작을 위해 이 핀을 접지(0V)에 연결해야 합니다.
  • DO 핀: 알코올 존재를 나타내는 디지털 출력 핀입니다. 알코올 농도가 감지되면 핀이 LOW로 설정됩니다. 반대로 알코올이 감지되지 않으면 핀이 HIGH로 설정됩니다. 내장 가변 저항을 사용하여 알코올 농도 감지 임계값을 조절할 수 있습니다.
  • AO 핀: 알코올 농도에 비례하는 전압을 생성하는 아날로그 출력 핀입니다. 알코올 농도가 증가하면 이 핀의 전압도 상승합니다. 마찬가지로 알코올 농도가 감소하면 전압도 감소합니다.

요약하면, VCCGND 핀은 전원과 접지를 제공하고, DO 핀은 알코올 존재의 디지털 표시를 제공하며, AO 핀은 알코올 농도에 해당하는 아날로그 전압을 생성합니다.

mq3 알코올 센서 핀아웃

또한 MQ3 알코올 센서에는 두 개의 LED 표시등이 있습니다:

  • PWR-LED 표시등: 센서가 전원을 받고 있음을 나타내는 전원 표시등입니다.
  • DO-LED 표시등: DO 핀에 연결되어 알코올 농도의 시각적 표시를 제공합니다. 알코올 농도가 감지되어 DO 핀이 LOW로 설정되면 DO-LED 표시등이 켜집니다. 반대로 알코올 농도가 감지되지 않아 DO 핀이 HIGH로 설정되면 DO-LED 표시등이 꺼집니다.

작동 원리

DO 핀에 대하여:

  • MQ3 모듈에는 알코올 농도에 대한 민감도 또는 임계값을 조절할 수 있는 내장 가변 저항이 있습니다.
  • 주변 환경의 알코올 농도가 설정된 임계값을 초과하면 센서의 출력 핀이 LOW가 되고 DO-LED가 켜집니다.
  • 반대로 주변 환경의 알코올 농도가 임계값 미만으로 떨어지면 센서의 출력 핀이 HIGH가 되고 DO-LED가 꺼집니다.

AO 핀에 대하여:

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

가변 저항은 AO 핀에서 관찰된 값에 영향을 미치지 않습니다.

MQ3 센서 예열

MQ3 알코올 센서를 효과적으로 사용하기 전에 예열 과정이 필요합니다. 다음은 세부 사항입니다:

  • 오랜 시간(약 한 달 이상) 보관되어 처음 사용하는 경우, 24-48시간 예열이 필요합니다. 이 연장된 예열 시간은 정확한 측정값을 보장합니다.
  • 그러나 센서가 최근에 사용된 경우, 완전히 예열된 상태에 도달하는 데 약 5-10분밖에 걸리지 않습니다. 이 예열 기간 동안 초기에는 높은 측정값이 나올 수 있지만, 시간이 지남에 따라 센서가 안정화됩니다.

MQ3 센서를 예열하려면 VCCGND 핀을 전원 공급 장치에 연결하거나 Raspberry Pi의 VCCGND 핀에 연결합니다. 그런 다음 필요한 기간 동안 연결 상태를 유지합니다.

배선도

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

  • DO만 사용할 때 Raspberry Pi와 MQ3 알코올 센서 배선도.
라즈베리 파이 mq3 알코올 센서 배선도

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

배선 구성을 간단하고 체계적으로 만들기 위해, Raspberry Pi용 스크루 터미널 블록 실드 사용을 권장합니다. 이 실드는 아래와 같이 더욱 안정적이고 관리하기 쉬운 연결을 제공합니다:

라즈베리 파이용 스크루 터미널 블록 실드

참고:

  • Raspberry Pi에는 아날로그 입력 핀이 없으므로 연결하지 않아도 됩니다. 모듈에서 ADC 값을 읽으려면 외부 ADC 모듈을 사용해야 합니다. 자세한 내용은 Raspberry Pi에서 ADC 모듈 사용 방법을 참조하세요.

Raspberry Pi 코드 - DO 핀 값 읽기

빠른 시작

  • Raspberry Pi에 Raspbian 또는 기타 Raspberry Pi 호환 운영 체제가 설치되어 있는지 확인합니다.
  • Raspberry Pi가 PC와 동일한 로컬 네트워크에 연결되어 있는지 확인합니다.
  • 일부 라이브러리를 설치해야 하는 경우 Raspberry Pi가 인터넷에 연결되어 있는지 확인합니다.
  • Raspberry Pi를 처음 사용하는 경우 라즈베리 파이 - 소프트웨어 설치을 참조하세요.
  • 내장 SSH 클라이언트(Linux 및 macOS) 또는 Windows의 PuTTY를 사용하여 SSH로 PC에서 Raspberry Pi에 연결합니다. PC에서 SSH로 Raspberry Pi에 연결하는 방법을 참조하세요.
  • RPi.GPIO 라이브러리가 설치되어 있는지 확인합니다. 설치되어 있지 않으면 다음 명령어로 설치합니다:
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Python 스크립트 파일 mq3_alcohol_sensor.py를 만들고 다음 코드를 추가합니다:
/* * 이 라즈베리 파이 코드는 newbiely.kr 에서 개발되었습니다 * 이 라즈베리 파이 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/raspberry-pi/raspberry-pi-mq3-alcohol-sensor */ import RPi.GPIO as GPIO import time # Set up the GPIO mode GPIO.setmode(GPIO.BCM) # Set up the GPIO pin for reading the DO output DO_PIN = 7 # The Raspberry Pi GPIO7 pin connected to the DO pin of the MQ3 alcohol sensor module GPIO.setup(DO_PIN, GPIO.IN) # Warm up the sensor print("Warming up the MQ3 sensor...") time.sleep(20) # Wait for 20 seconds print("The MQ3 sensor is ready") try: while True: # Read the state of the DO pin alcohol_present = GPIO.input(DO_PIN) # Determine if alcohol is present or not if alcohol_present == GPIO.LOW: alcohol_state = "Alcohol Present" else: alcohol_state = "No Alcohol" # Print the alcohol state print(f"Alcohol State: {alcohol_state}") time.sleep(0.5) # Wait for a short period before reading again except KeyboardInterrupt: print("Alcohol detection stopped by user") finally: # Clean up GPIO settings GPIO.cleanup()
  • 파일을 저장하고 터미널에서 다음 명령어를 실행합니다:
python3 mq3_alcohol_sensor.py
  • MQ3 알코올 센서를 알코올 증기나 내쉰 숨 근처에 놓습니다.
  • 터미널에서 결과를 확인합니다.
PuTTY - Raspberry Pi
Warming up the MQ3 sensor... The MQ3 sensor is ready No Alcohol No Alcohol No Alcohol No Alcohol Alcohol Present Alcohol Present Alcohol Present Alcohol Present

터미널에서 Ctrl + C를 누를 때까지 스크립트는 무한 루프로 계속 실행됩니다.

LED 상태가 항상 켜져 있거나 꺼져 있는 경우, 가변 저항을 조절하여 센서 감도를 미세 조정할 수 있습니다.

Raspberry Pi 코드 - AO 핀 값 읽기

AO 핀의 값을 읽으려면 Raspberry Pi에 ADC 핀이 없으므로 ADS1115 ADC 모듈을 사용해야 합니다. Raspberry Pi에서 ADS1115 ADC 모듈 사용 방법을 참조하세요.

동영상

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

함수 참조