아두이노2017. 1. 6. 13:29

알코올을 측정할 수 있는 센서가 있다. MQ-3 라는 센서로 예전에 한 번 다뤘던 가연성 가스 탐지 센서 MQ-2(http://deneb21.tistory.com/279)와 비슷하게 생긴 센서이다. 말 그대로 알코올을 측정할 수 있으니 아두이노와 연결하여 간이 음주측정기로 활용이 가능하다. 단, TV에서 나오듯이 혈중알콜농도 몇? 하는 수치는 계산식에 의해서 구할 수 있을 것이다. 센서는 그냥 측정값을 보내주는 역할만 하고 아두이노는 이를 읽어서 표시만 해주기  때문에 이 수치를 신뢰할 수 있는 상용 알콜측정기와 비교하면 혈중알코올 농도 계산식을 만들 수 있을 것이다. 그렇게 되면 MQ-3 센서로도 혈중알코올 농도를 표시해 줄 수 있는 음주측정기를 만드는 것이 가능해진다. 아무튼 오늘은 MQ-3 센서로 알코올이 감지가 되는지 감지가 되면 어떻게 수치가 변화되는지 관찰해 보려고 한다.


MQ-3 센서모듈의 모습이다. 주황색의 센서가 MQ-3 센서이다.



센서에 MQ-3 라고 쓰여 있다.



센서의 뒷 부분이다. 저항, 증폭기, 감도 조절용 가변저항 등의 부품들이 달려 있어 아두이노에 바로 연결해서 사용이 가능하다. 가변저항은 오른쪽으로 돌리면 감도가 증가한다. 핀은 그림의 왼쪽부터 Analog Out, Digital Out, GND, VCC 이다. 전원은 3~5V 까지 사용이 가능하다. 디지털핀은 알코올의 감지여부를 알려주고 아날로그 핀은 감지된 알코올의 측정치를 보내준다. 아래는 데이터시트에서 발췌한 MQ-3의 스펙이다.

■ MQ-3 데이터시트
MQ3.pdf


■ 연결 및 소스

 MQ-3 센서 모듈

 아두이노 우노

 VCC

 5V

 GND

 GND

 AO

 A0

위와 같이 연결하고 아두이노의 13번 핀에 LED를 하나 연결해 주었다. A0 에서 읽은 값이 500이 넘을 경우 켜지도록 하였다.

/* MQ-3 Alcohol Sensor Circuit with Arduino */

const int AOUTpin=0;//the AOUT pin of the alcohol sensor goes into analog pin A0 of the arduino
const int ledPin=13;//the anode of the LED connects to digital pin D13 of the arduino

int value;

void setup() {
  Serial.begin(9600);//sets the baud rate
  pinMode(ledPin, OUTPUT);//sets the pin as an output of the arduino
}

void loop()
{
  value= analogRead(AOUTpin);//reads the analaog value from the alcohol sensor's AOUT pin
  Serial.print("Alcohol value: ");
  Serial.println(value);//prints the alcohol value
  delay(1000);
  
  if (value > 500){
    digitalWrite(ledPin, HIGH);
  } else {
    digitalWrite(ledPin, LOW);
  }
}



감지가 되지 않은 경우의 값이다. 150 정도의 값을 보여준다.



소독용 알코올을 휴지에 뭍혀서 센서에 가까이 가져갔다. 수치가 급속도로 상승하면서 750정도를 가르켰다. 


수치가 500을 넘었으므로 LED에 불이 들어왔다.

Digital Out 도 따로 테스트를 하였는데 가변저항 맞추기가 쉽지 않았다. 알코올이 검출되는지 안되는지만 HIGH/LOW로 판단하는데 별로 쓰임새는 없어보인다.

센서의 값이 처음에는 이상하게 높게 나오는 증상이 있다. 이 센서는 워밍업이 필요하다. 센서가 따뜻하게 달궈져야 제 성능을 발휘하게 된다. 보통 전원을 인가하고 10~15분 정도의 워밍업 시간을 가지면 센서의 전면부가 따뜻해지면서 제대로된 값이 나온다.

경찰들이 쓰는 휴대용 음주측정기가 있다면 MQ-3와 비교 후 개량해서 혈중알코올 농도도 측정할 수 있는 기기도 만들 수 있을 것 같은데 그런 기회가 올지 모르겠다.

반응형
Posted by 대네브 (deneb)

댓글을 달아 주세요

  1. hoooo

    안녕하세요. 제가 가스센서, 5v 쿨링팬 2개, 5v lcd를 동시에 연결하려고 합니다. 이때 외부전원은 15v 정도 사용해야 하는 건가요??

    2020.02.05 16:07 [ ADDR : EDIT/ DEL : REPLY ]
  2. 전압은 각각의 사용전압을 맞춰주시고 연결이 많아 전류가 부족할 수 있으니 배터리 병렬연결 이라든가 고용량 어댑터를 쓰던가해서 전력을 충분하게 맞춰주세요.

    2020.02.05 16:59 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • hoooo

      답변 감사합니다. 제가 이번에 아두이노 제작이 처음이라 공부를 하고 있는데 선생님께서 말씀주신 "각각의 사용전압 맞추기" 가 이해가 되지 않습니다.
      무리한 부탁일 수도 있으나 혹시 시간이 되신다면 제가 Fritzing로 설계한 것을 봐주실 수 있을 지 여쭈어보려고 합니다.

      2020.02.07 15:58 [ ADDR : EDIT/ DEL ]