본문 바로가기
모두의 아두이노 센서/아두이노 센서 (불)

KY-026 아두이노 불꽃 센서 (LCD16X2 키패드실드)

by 로니킴 2021. 5. 19.


본 절은 [KY-026] 아두이노 센서를 사용하기 위해 알아야 할 내용과 실습 방법에 대해 설명한다. 아두이노 센서의 특징, 동작원리, 사양, 연결 핀 배열, 출력 값, 주의사항을 알아본다. 아두이노와 센서를 연결하고, 간단한 코딩으로 센서를 쉽게 실습할 수 있다. 

 

목차

     

     

     


    KY-026 아두이노 불꽃 센서 (LCD16X2 키패드실드)

     

     

     

     

     

     

     


    KY-026 센서란?

    KY-026 는 불꽃(화염)을 감지할 수 있는 센서이다. 

     

    불꽃 감지 센서는 자외선 불꽃 감지, 근적외선 불꽃 감지, 적외선 불꽃 감지, IR3 불꽃 감지 등 다양한 유형이 존재한다. 이번 예제에서 사용하는 적외선 불꽃 감지 센서는 760~1100nm 범위의  적외선 영역의 파장의 화염이나 광원을 감지할 수 있다.  불꽃 감지 센서는 LED처럼 생긴 검정색 에폭시로 덮여있는 적외선 감지 센서부를 가지고 있다

     

     

     

    KY-026.pdf
    0.84MB

     

    참고로 온도 제어는 (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) 를 사용한다.  

     

    모두의 아두이노 환경 센서

    아두이노와 센서로 내 건강을 지킬 수 있다!다양한 환경 센서를 실생활 프로젝트에 응용해보자!시중에 판매되고 있는 간이측정기도 센서로 값을 측정합니다. 똑같은 센서를 아두이노에 연결하

    book.naver.com

     

     

     

     



    댓글