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

ML8511 (SEN0175) 아두이노 UV 센서 (LCD16X2 키패드실드)

by 로니킴 2021. 5. 19.


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

 

목차

     

     

     


     

    ML8511 (SEN0175) 아두이노 UV 센서 (LCD16X2 키패드 실드)

     

     

     

     


    ML8511 센서란?

    ML8511 (SKU SEN0175)  센서는 아날로그 타입 자외선 UV 측정 센서이다. 센서 내부에 증폭기(amplifier)가 내장되어 있어 감지된 UV의 양을 전압으로 변환시켜 준다. 
    센서는 280~390nm  파장의(UVB-Burning Ray) 및 UVA-tanning ray)의 빛을 효과적으로 측정할 수 있다. UV 강도(Mw/cm2)에 선형으로 비례하는 아날로그 전압값으로 출력이 가능하다. 

     

    ML8511 datasheet.pdf
    0.19MB

     

     

    다음은 센서의 사양을 보여 준다.

     


     

     

     

    ML8511 아두이노 센서 특징

    ML8511 센서의 특징은 다음과 같다. 

     

    • 감도 파장 : UV-A (320-400nm), UV-B (280-320nm)
    • 임베디드 연산 증폭기
    • 아날로그 전압 출력
    • 공급 전압 : 3.3V-5V
    • 인터페이스 : Gravity Analog (PH2.0-3P, 아날로그 전압 출력 1.0-2.8 VDC)
    • 낮은 공급 전류 낮은 대기 전류 (0.1A 일반)
    • 작동 온도 : -20-70 ° C
    • 크기 : 30 x 22mm

     


    ML8511 센서 동작 원리

    센서는 280-390nm의 빛을 가장 효과적으로 감지한다. UVB 스펙트럼의 일부와 대부분의 UVA 스펙트럼으로 측정된다. 측정된 UV 강도 (mW)와 선형 적으로 관련된 아날로그 전압을 출력한다. 아두이노가 아날로그에서 전압으로 변환하여 UV 레벨을 감지할 수 있다.

     

     

    센서의 출력 값은 다음과 같다. 

     

     

     

     


    ML8511 센서 구입하기

    [ML8511 센서]는 알리익스프레스, 네이버 쇼핑몰, 아마존 등에서 센서를 구입할 수 있다

     

     

     

     

     


     

    ML8511 하드웨어 연결

    다음과 같이 ML8511 아두이노 센서를 연결할 수 있다. 

     

     

     

    다음은 코드의 구조다. 

     


     

    ML8511 소프트웨어 코딩

    하드웨어 연결이 완료되면, 아두이노 IDE를 이용해 아두이노 센서 소스코드를 코딩할 수 있다. 

     

    센서 코드는 다음과 같다. 

    /**
       ML8511 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 ReadUVintensityPin = A1;
    
    void setup()
    {
      lcd.begin(16, 2);
      pinMode(ReadUVintensityPin, INPUT);
    }
    
    void loop()
    {
      int uvLevel = averageAnalogRead(ReadUVintensityPin);
      float outputVoltage = 5.0 * uvLevel / 1024;
      float uvIntensity = mapfloat(outputVoltage, 0.99, 2.9, 0.0, 15.0);
    
      display_LCD(uvLevel, outputVoltage, uvIntensity);
      delay(100);
    }
    
    
    void display_LCD(int uvLevel, float outputVoltage, float uvIntensity) {
      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print("UVL:");
      lcd.print(uvLevel);
    
      lcd.print("  ");
      lcd.print(outputVoltage);
      lcd.print(" V");
    
      lcd.setCursor(0, 1);
      lcd.print(uvIntensity);
      lcd.print(" mW/cm^2");
    }
    
    
    int averageAnalogRead(int pinToRead)
    {
      byte count = 8;
      unsigned int value = 0;
    
      for (int x = 0 ; x < count ; x++) {
        value += analogRead(pinToRead);
      }
    
      value = value / count;
      return (value);
    }
    
    //The Arduino Map function but for floats
    //From: http://forum.arduino.cc/index.php?topic=3922.0
    float mapfloat(float x, float in_min, float in_max, float out_min, float out_max)
    {
      return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
    }

     

     

     


     

    ML8511 센서 동작확인

    하드웨어 연결, 소프트웨어 코딩이 완료되면 다음과 같이 동작 화면을 확인할 수 있다. 

     

    ------------------------------------------------------ 
    개발환경 : WINDOWS 10 
    아두이노 IDE : 1.8.13 
    ------------------------------------------------------ 
    01 연결
     - 아두이노와 PC 연결 
     - 아두이노 IDE 실행 
     - 메뉴 → 툴 → 보드:아두이노 UNO 확인 
      - 메뉴 → 스케치 → 확인/컴파일 

    02 컴파일 확인 

    스케치> 확인/컴파일(CTRL+R)을 선택해서 컴파일을 진행한다.

     


    03 아두이노 우노 업로드 

    컴파일이 이상 없이 완료되면 스케치> 업로드(CTRL+U)를 선택해서 컴파일 파일을 업로드한다. 


    04 동작 확인

    다음과 같이 동작을 확인할 수 있다. 

     

     

     

     

     

     

     

     

     

     


     

    마무리

    아두이노와 ML8511 센서를 연결하고, 간단한 코딩으로 센서를 쉽게 실습할 수 있다. 

     

     

     

     

     

     


     

    모두의 아두이노 환경 센서 책

    [모두의 아두이노 환경 센서] 책은 예스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

     

     

     

     



    댓글