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

GYML8511 아두이노 UV 센서

by 로니킴 2021. 5. 19.


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

 

목차

     

     

     


    GYML8511 아두이노 UV 센서

     

     

     

     


    GYML8511 센서란?

    GYML8511 센서는 ML8511 을 사용한 센서이다. ML8511은 실내 또는 실외에서 UV 강도를 획득하는 데 적합한 UV 센서이다. 센서 IC는 SOI-CMOS 기술을 적용하여 디지털 회로 및 아날로그 회로에 널리 사용된다. 

     

     

    ML8511 datasheet.pdf
    0.19MB


     

    GYML8511 아두이노 센서 특징

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

    • 감도 파장 : UV-A (320-400nm), UV-B (280-320nm)
    • 임베디드 연산 증폭기
    • 아날로그 전압 출력
    • 공급 전압 : 3.3V-5V
    • 낮은 공급 전류 낮은 대기 전류 (0.1A 일반)
    • 작동 온도 : -20-70 ° C

     


    GYML8511 센서 동작 원리

    GYML8511 센서는 광전류를 전압으로 변환 할 수 있다는 원리에 따라 센서는 UV 강도를 감지 할 수 있으므로 외부 회로에서 사용하기에 적합하다. ML8511은 UV 강도에 비례하는 유추 전압을 출력 할 수 있다

     

     

    [타이밍 차트 ]
    공급 전압 및 EN 신호 상태는 다음 절차 중 하나를 수행해야한다.

     

    EN은 VDD가 적용될 때 동시에 HIGH 또는 LOW 여야 한다.
    EN은 VDD가 적용되는 동안 HIGH 또는 LOW 여야 한다.
    출력 전압 레벨이 안정된 후에 출력을 읽어야 한다. EN이 HIGH가 된 후 안정적인 출력 전압이 1 밀리 초에 도달 할 때까지 최대 시간이 필요하다.

     

     

     

     


    GYML8511 센서 구입하기

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

     

     

     

     

     


     

    GYML8511 센서 하드웨어 연결

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

     

     

    소개
    VIN 조정 전 전압 입력 단자
    3V3 전원 공급 장치 3v3의 양극
    GND 전원 공급 장치의 음극
    OUT 출력 (전원 차단 또는 대기 모드에서 낮음)
    KO 액티브 하이 인 에이블 핀. (높음 : 활성 모드, 낮음 : 대기 모드

     


     

    GYML8511 센서 소프트웨어 코딩

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

     

    센서 코드는 다음과 같다. 

    /**
       GYML8511 Sensor
    
       @ 모두의 아두이노 환경 센서 (Arduino Sensors for Everyone)
          https://book.naver.com/bookdb/book_detail.nhn?bid=18030644
       @ author STEAMEDU123 <steamedu123@gmail.com>
    */
    
    
    int UVOUT = A0; 
    int REF_3V3 = A1; 
    
    void setup()
    {
      Serial.begin(9600);
    
      pinMode(UVOUT, INPUT);
      pinMode(REF_3V3, INPUT);
    
      Serial.println("MP8511 example");
    }
    
    void loop()
    {
      int uvLevel = averageAnalogRead(UVOUT);
      int refLevel = averageAnalogRead(REF_3V3);
      
      float outputVoltage = 3.3 / refLevel * uvLevel;
      
      float uvIntensity = mapfloat(outputVoltage, 0.99, 2.9, 0.0, 15.0);
    
      Serial.print("MP8511 output: ");
      Serial.print(uvLevel);
    
      Serial.print(" MP8511 voltage: ");
      Serial.print(outputVoltage);
    
      Serial.print(" UV Intensity (mW/cm^2): ");
      Serial.print(uvIntensity);  
      
      Serial.println();
      
      delay(100);
    }
    
    int averageAnalogRead(int pinToRead)
    {
      byte numberOfReadings = 8;
      unsigned int runningValue = 0; 
    
      for(int x = 0 ; x < numberOfReadings ; x++)
        runningValue += analogRead(pinToRead);
      runningValue /= numberOfReadings;
    
      return(runningValue);  
    }
    
    
    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;
    }

     

     


     

    GYML8511 센서 동작확인

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

     

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

    02 컴파일 확인 

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

     


    03 아두이노 우노 업로드 

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


    04 동작 확인

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

     

     

     

     

     


     

    마무리

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

     

     

     

     


     

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

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

     

     

     

     



    댓글