아두이노 가스센서 LCD - adu-ino gaseusenseo LCD

안녕하세요 아두이노를 애용하시는 팬 여러분!!

아이씨뱅큐아두이노 도우미 레비에요!!

오늘은 아두이노, 가스센서, LCD, 버저를 이용해

가스 경보기를 만들어 볼거에요

자 그럼 시작해 볼까요?

시~~~작!!!

아두이노 가스센서 LCD - adu-ino gaseusenseo LCD

아두이노 가스센서 LCD - adu-ino gaseusenseo LCD

아두이노 우노 R3 호환 보드

아두이노 가스센서 LCD - adu-ino gaseusenseo LCD

keyestudio 아두이노용 MQ-7 가스센서

아두이노 가스센서 LCD - adu-ino gaseusenseo LCD

아두이노 I2C 1602 LCD 모듈

아두이노 가스센서 LCD - adu-ino gaseusenseo LCD

keyestudio 디지털 부저 모듈

아두이노 가스센서 LCD - adu-ino gaseusenseo LCD

브레드보드(MB102)

아두이노 가스센서 LCD - adu-ino gaseusenseo LCD

프리미엄 F/M 점퍼 케이블(점퍼선) - 20x6인치

https://www.icbanq.com/P007421030

2. 하드웨어

자 그럼 아두이노 회로를 만들어 볼까요?

아래의 그림을 따라 그려보세요!!

아두이노 가스센서 LCD - adu-ino gaseusenseo LCD

3. 라이브러리 설치

I2C LCD를 사용하려면

아래의 라이브러리를 설치해야 해요

라이브러리 관리에 들어가서 설치해 봐요~~

아두이노 가스센서 LCD - adu-ino gaseusenseo LCD

4. 아두이노 코딩

자 이제는 아두이노 코딩을 할 차례에요

아래의 코드를 따라 쳐 보세요!!

#include <LiquidCrystal_I2C.h> // LCD라이브러리 사용 LiquidCrystal_I2C lcd(0x27, 20, 4); // LCD객체 #define gas A0 // 가스 센서를 A0핀으로 설정 #define buz 7 // 부저를 7번핀으로 설정 void setup() { pinMode(gas, INPUT); // 가스센서 입력으로 설정 pinMode(buz, OUTPUT); // 부저 출력으로 설정 lcd.init(); // LCD 최기화 lcd.backlight(); // LCD 백라이트 ON Serial.begin(9600); } void loop() { int val = analogRead(gas); // 가스센서 값 입력 Serial.println(val); if(gas < 350){ lcd.setCursor(0,0); // 1번째 줄 1번부터 시작 lcd.print(" SAFE "); // 문자 출력 lcd.setCursor(0,1); // 2번째 줄 1번부터 시작 lcd.print(" You're safe! "); // 문자 출력 }else if(gas >= 350){ lcd.setCursor(0,0); lcd.print(" WARING "); lcd.setCursor(0,1); lcd.print(" Be careful!! "); tone(buz, 40, 100); // 부저 ON } }

5. 결과

자 이제 결과를 확인해 볼까요?

손으로 막아도 값이 올라가기 때문에

가스 대신 손을 사용한점 이해해 주세요;;

모두 결과가 잘 나오셨나요?

가스를 사용하실 경우 조심하시고

여기서 마무리 하도록 해요

다음에 또 만나요

안녕~~~~

아두이노 가스센서 LCD - adu-ino gaseusenseo LCD

안녕하세요.

오늘도 Super Arduino UNO Starter Kit의 재미있는 후기를 적어 보려고 합니다.

오늘 사용할 센서는 가스센서 MQ-2 입니다. 가스센서는 LPG, 부탄가스, 프로판, 메탄, 알코올, 수소 및 연기 등을 감지 하여 아날로그 값으로 출력해 주는 센서로, 주로 가전 제품의 가스 누설 감지에 사용됩니다.

아두이노 가스센서 LCD - adu-ino gaseusenseo LCD

가스센서는 표면의 가스흡착도에따라 저항값이 변화하고 이를 수치로 변환하는 센서입니다.

따라서 옆의 있는 가변저항을 이용하여 감도를 조절 할 수 있습니다.

또한 가스센서를 동작시키면 표면의 온도가 올라가는데 이는 가스를 흡착시키기 위한 동작이므로 걱정 안하셔도 됩니다.

그럼 오늘은 위와같은 특성을 가진 가스센서와 LCD디스플레이, RGB LED를 이용하여 가스추치가 일정값 이상을 감지하면 LCD화면에 표시를 하고 LED를 빨강으로 점등하여 주의를 주는 가스감지기를 만들어 보도록 하겠습니다.!

필요한 부품들은요~

RGB LED는 여러번 다루어 보았기 때문에 잘 연결 하실 거라 믿습니다.

다음으로는 LCD디스플레이를 배선 하실 차례입니다만.. 핀도 많고 위 사진으로는 복잡하기 때문에

배선에 어려움이... 그러나 역시 우리의 아두이노는 사용자를 위한 배려가 깊습니다.!

LCD디스플레이를 간편하게 사용하기위한 라이브러리인 LiquidCrystal의 HelloWorld 예제를 불러오시면 다음과 같이 배선을 알아보기 쉽게 정리 해주었으니 누구나 간단하게 배선이 가능합니다.

아두이노 가스센서 LCD - adu-ino gaseusenseo LCD

위의 배선을 참고하여 LCD디스플레이를 연결해주시고..

가스센서는 VCC와 GND를 연결하고 아두이노의 아날로그 0번 포트에 입력핀(A0)을 연결 해 주시면..

아두이노 가스센서 LCD - adu-ino gaseusenseo LCD

다음과 같이 배선이 완료 되었습니다.

회로가 모두 구성 되었으니 동작시키기 위해서는 프로그램 코드가 필요하겠죠?

바로 알아 보도록 하겠습니다!

#include <LiquidCrystal.h> #define gaspin 0 #define ledpin 10 #define greenpin 9 #define bluepin 6 LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { lcd.begin(16, 2); lcd.print("gas value : "); pinMode(ledpin,OUTPUT); pinMode(greenpin,OUTPUT); pinMode(bluepin,OUTPUT); } void loop() { int gasVal = analogRead(gaspin); lcd.setCursor(12, 0); lcd.print(gasVal); if(gasVal > 540){ analogWrite(ledpin,255); analogWrite(greenpin,0); analogWrite(bluepin,0); lcd.setCursor(0, 1); lcd.print("warning"); } else{ lcd.setCursor(0, 1); lcd.print(" "); analogWrite(ledpin,0); analogWrite(greenpin,0); analogWrite(bluepin,0); } }

역시 차근차근 설명 드리도록 하겠습니다. LED를 켜고 끄는 동작을 제외하면 굉장이 짧은 코드 입니다!

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

LCD라이브러리를 사용하기위해 각 핀들을 정의 해줍니다.

lcd.begin(16, 2); lcd.print("gas value : ");

lcd.begin() : 사용하는 LCD디스플레이의 규격을 선언합니다.

저는 Super Arduino UNO Starter Kit의 16*2 LCD를 사용하였습니다

lcd.print() : LCD창에 다음과 같은 문구를 출력합니다.

int gasVal = analogRead(gaspin);

lcd.setCursor(12, 0); lcd.print(gasVal);

lcd.setCursor(열,행) : LCD창의 문자를 쓸 커서를 다음과 같은 위치로 움직입니다.

0행의 12열에 커서를 위치시키고 LCD창에 가스 측정값을 출력합니다.

if(gasVal > 520){ analogWrite(ledpin,255); analogWrite(greenpin,0); analogWrite(bluepin,0); lcd.setCursor(0, 1); lcd.print("warning"); }

만약 측정 수치가 520이상이라면 LED 빨강으로 점등하고 커서를 0열 1행에 위치시키고 다음과같은 문구를 출력합니다.

else{ lcd.setCursor(0, 1); lcd.print(" "); analogWrite(ledpin,0); analogWrite(greenpin,0); analogWrite(bluepin,0); }

그 외의 경우이면 커서를 0열 1행에 위치시키고 문구를 지우고 LED를 소등합니다.

자! 프로그램 코드도 모두 작성 해보았습니다. 동작을 살펴 볼까요?

가스센서가 가스를 흡착 할 수 있도록 표면 온도가 올라갈때까지 조금의 시간이 필요합니다.

아두이노 가스센서 LCD - adu-ino gaseusenseo LCD

프로그램을 실행 시키면 위와 같이 LCD창에 가스수치를 표시 해주고...

아두이노 가스센서 LCD - adu-ino gaseusenseo LCD

기준으로 정해놓은 수치보다 높게 나오면 LCD창에 "warnning"문구를 출력하고 LED를 점등합니다.

지금까지 Super Arduino UNO Starter Kit의 다양한 센서들과 엑추에이터, 모듈을 사용하여 여러 동작들을 구현 해 보았는데요 처음 사용하는 부품들을 이용하여 재미있는 동작들을 구현 해 볼 수 있어서 저에게도 좋은 시간이 되었던 것 같습니다. 아두이노를 처음 접하는 분들이 아두이노에 친근하게 다가갈 수 있는 계기가 되었으면 하며 Super Arduino UNO Starter Kit의 후기는 Step11을 마지막으로 다음에 기회가 된다면 또 됩겠습니다.

감사합니다~

http://www.icbanq.com/P007403815

아두이노 가스센서 LCD - adu-ino gaseusenseo LCD