본 절은 [KY-026] 아두이노 센서를 사용하기 위해 알아야 할 내용과 실습 방법에 대해 설명한다. 아두이노 센서의 특징, 동작원리, 사양, 연결 핀 배열, 출력 값, 주의사항을 알아본다. 아두이노와 센서를 연결하고, 간단한 코딩으로 센서를 쉽게 실습할 수 있다.
목차
KY-026 아두이노 불꽃 센서 (LCD16X2 키패드실드)
KY-026 센서란?
KY-026 는 불꽃(화염)을 감지할 수 있는 센서이다.
불꽃 감지 센서는 자외선 불꽃 감지, 근적외선 불꽃 감지, 적외선 불꽃 감지, IR3 불꽃 감지 등 다양한 유형이 존재한다. 이번 예제에서 사용하는 적외선 불꽃 감지 센서는 760~1100nm 범위의 적외선 영역의 파장의 화염이나 광원을 감지할 수 있다. 불꽃 감지 센서는 LED처럼 생긴 검정색 에폭시로 덮여있는 적외선 감지 센서부를 가지고 있다
참고로 온도 제어는 (KY-028), 근접 스위치는 (KY-024, KY-025, KY-036), 경보 감지(KY-037, KY-038)또는 로터리 엔코더 (KY-026)에 적합하다.
KY-026 아두이노 센서 특징
KY-026 센서의 특징은 다음과 같다.
- 고감도 IR 수신기
- 760-1100nm 사이의 파장에 매우 민감
- 전원 표시 등
- 비교기 출력 표시 램프
- AO, 실시간 서미스터 전압 신호 출력
- DO, 고 / 저 전기 레벨 신호 출력
- 아날로그 출력
- 임계 롤오버 전기 레벨 출력
- 전위차계로 조정 된 임계 값
- 감지 각도 범위 : 약 60도
- 전원 공급 장치 : 0-15 V DC
- 구멍 내경 : 약. 3mm
- 크기 (L x W) : 약. 36x16mm
KY-026 센서 동작 원리
KY-026 센서는 절대 값을 표시하지 않는다 예를 들어 정확한 온도 (° C) 또는 자기장 강도 (mT))와 같이 상대적 측정값을 제공한다. 정상적인 환경 상황에 대한 극한값을 정의하고 측정 값이 극단적인 값을 초과하면 신호가 전송된다.
센서의 회로 기판에는 3 개의 주요 구성 요소가 있다.
(1) 먼저 모듈 전면에있는 센서 유닛이 면적을 물리적으로 측정하고 아날로그 신호를 두 번째 유닛 인 증폭기로 전송한다.
(2) 증폭기는 전위차계의 저항 값에 따라 신호를 증폭하고 신호를 모듈의 아날로그 출력으로 보낸다.
(3) 세번째 구성 요소는 신호가 특정 값 아래로 떨어지면 디지털 출력과 LED를 전환하는 비교기한다.
또한 전위차계를 조정하여 감도를 제어 할 수 있다.
출력되는 신호는 반전되어 있다. 즉, 높은 값을 측정하면 아날로그 출력에 낮은 전압 값으로 표시된다.
KY-026 센서 구입하기
[KY-026 센서]는 알리익스프레스, 네이버 쇼핑몰, 아마존 등에서 센서를 구입할 수 있다
KY-026 하드웨어 연결
다음과 같이 KY-026 아두이노 센서를 연결할 수 있다.
연결된 포토 다이오드는 화염에 의해 생성되는 빛의 스펙트럼 범위에 민감한다.
- Digital Out : 불꽃 감지 후 신호 출력
- Analoger Ausgang : 센서 장치 직접 측정
- LED1 : 센서에 전압이 공급되고 있음을 나타냅니다.
- LED2 : 센서가 불꽃을 감지했음을 나타냅니다.
KY-026 소프트웨어 코딩
하드웨어 연결이 완료되면, 아두이노 IDE를 이용해 아두이노 센서 소스코드를 코딩할 수 있다.
센서 코드는 다음과 같다.
/**
KY-026 Sensor
@ 모두의 아두이노 환경 센서 (Arduino Sensors for Everyone)
https://book.naver.com/bookdb/book_detail.nhn?bid=18030644
@ author STEAMEDU123 <steamedu123@gmail.com>
*/
#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
int analogPin = A1;
int digitalPin = 2;
int sensor;
boolean bIsFire = false;
long time = 0;
int counter = 0;
void setup ()
{
initFlameSensor();
pinMode (analogPin, INPUT) ;
pinMode (digitalPin, INPUT) ;
}
void loop ()
{
onSensor();
}
void initFlameSensor() {
lcd.begin(16, 2);
lcd.setCursor(0, 0);
lcd.print("KY026 FLAME Sensor");
lcd.setCursor(0, 1);
lcd.print("Ready...........");
delay(1000);
}
void onSensor() {
sensor = analogRead(analogPin);
bIsFire = digitalRead(digitalPin);
displayLCD("Value:");
if (sensor < 100) {
checkFire();
}
delay(1000);
counter = 0;
}
void displayLCD(String str) {
String strFire = "NO";
lcd.clear();
if (bIsFire) {
strFire = "YES";
}
lcd.setCursor(0, 0);
lcd.print("FIRE? " + (String)strFire);
lcd.setCursor(0, 1);
lcd.print(str);
lcd.print(sensor);
}
void checkFire() {
time = millis() + 15000;
while (time > millis() && sensor < 350) {
sensor = analogRead(sensor) ;
displayLCD((String)counter + " Checking: ");
if (sensor > 350) {
displayLCD("No Fire: ");
break;
}
delay(1000);
counter++;
}
if (counter >= 5) {
onSprinker();
}
}
void onSprinker() {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("FIRE !! FIRE !!");
lcd.setCursor(0, 1);
lcd.print("START SPRINKLER!!!! ");
delay(3000);
}
KY-026 센서 동작확인
하드웨어 연결, 소프트웨어 코딩이 완료되면 다음과 같이 동작 화면을 확인할 수 있다.
------------------------------------------------------
개발환경 : WINDOWS 10
아두이노 IDE : 1.8.13
------------------------------------------------------
01 연결
- 아두이노와 PC 연결
- 아두이노 IDE 실행
- 메뉴 → 툴 → 보드:아두이노 UNO 확인
- 메뉴 → 스케치 → 확인/컴파일
02 컴파일 확인
스케치>확인/컴파일(CTRL+R) 를 선택해서 컴파일을 진행한다.
03 아두이노 우노 업로드
컴파일이 이상없이 완료되면 스케치>업로드(CTRL+U) 를 선택해서 컴파일 파일을 업로드 한다.
04 동작 확인
다음과 같이 동작을 확인할 수 있다.
마무리
아두이노와 KY-026 센서를 연결하고, 간단한 코딩으로 센서를 쉽게 실습할 수 있다.
[응용분야]
스마트팜 시스템 구축시 온도, 습도, 수경재배 양액측정센서(양액농도 EC, 산도pH, TDS), 토양을 배지로 하는 토경 측정 센서(수분, EC, 지온, 산도pH), 풍향/풍속, 감우, 일사량 , CO2, 공기질 센서 등 분야별로 다양한 센서가 필요하다.
모두의 아두이노 환경 센서 책
[모두의 아두이노 환경 센서] 책은 예스24, 인터넷 교보문고, 알라딘, 인터파크도서, 영풍문고, 반디앤루니스 , 도서11번가 등에서 구입할 수 있다. 이 책에서는 PMS7003, GP2Y1010AU0F, PPD42NS, SDS011 미세먼지 센서, DHT22 온습도 센서, MH-Z19B 이산화탄소 센서, ZE08-CH2O 포름알데히드 센서, CCS811 총휘발성유기화합물 TVOC, GDK101 방사선(감마선) 센서, MQ-131 오존(O3) 센서, MQ-7 일산화탄소, MICS-4514 이산화질소 센서, MICS-6814 암모니아 센서, DGS-SO2 아황산가스(SO2) 센서, BME280 기압 센서, GUVA-S12SD 자외선(UV) 센서, MD0550 기류 센서, QS-FS01 풍속 센서(Wind speed) 를 사용한다.
'모두의 아두이노 센서 > 아두이노 센서 (불)' 카테고리의 다른 글
GYML8511 아두이노 UV 센서 (0) | 2021.05.19 |
---|---|
Grove Si1145 자외선 UV IR 가시광 센서 (LCD16X2 키패드실드) (0) | 2021.05.19 |
ML8511 (SEN0175) 아두이노 UV 센서 (LCD16X2 키패드실드) (0) | 2021.05.19 |
TSL2561 아두이노 조도 센서 (LCD16X2 키패드실드) (0) | 2021.05.19 |
BH1750 아두이노 조도 센서 (LCD16X2 키패드실드) (0) | 2021.05.17 |
KY-018 아두이노 조도 센서 (LCD16X2 키패드실드) (0) | 2021.05.16 |
댓글