본문 바로가기
아두이노 센서

[센서/UV디지털센서] VEML6075 자외선 센서, UVA/UVB/UV index 측정

by 작동미학 2020. 7. 21.
반응형

자외선을 디지털로 측정할 수 있는 VEML6075 센서를 활용할 수 있다.

 

▶ 이 가이드를 따라하면

- UVA, UVB, UV index값 모두를 얻을 수 있는 VEML6075센서 사용법을 알 수 있다..

 

▶ 기존 읽어보면 좋을 강의

- UV 아날로그 센서 : https://bbangpan.tistory.com/77

 

▶ 부품 설명 및 회로 구성

기존에서 UV센서를 소개한 적이 있는데, 이번에는 I2C 방식으로 디지털 값을 얻어올 수 있는 VEML6075센서이다. 매우 작은 센서이고 3.3V를 기반으로 하며 SparkFun이나 Adafruit 모두 이 센서를 판매하고 있다. 다만 여기서는 aliexpress에서 구매한 유사 센서이다. 각 회사마다 지원하는 Voltage가 다른데, 이 센서는 기본적으로 3.3V체계의 칩을 중심으로 한다. 하지만 Adafruit같은 경우에는 전압 조절을 해주는 레큘레이터도 장착하고 있으므로 5V에서도 사용할 수 있다. 그러나 나머지는 모두 3.3V에서 작동하니 해당 센서 구매시 지원하는 전압을 정확히 파악할 필요가 있다.(Adafruit의 강의만 보고 깜빡 5V로 실험할 뻔 했는데, 필자가 구매한 VEML6075센서는 3.3V 만 지원한다고 명기되어 있다.)

따라서 3.3V->5V 레벨 컨버터를 사용하였다. 레벨 컨버터 사용법은 https://bbangpan.tistory.com/103 참조하도록 한다.

지원하는 전압 차이 외에는 VEML6075들은 지원하는 어떤 라이브러리를 써도 상관없어 보이나, 여기서는 3.3V 체계의 모듈인 SparkFun의 라이브러리를 사용했다. 회로 연결은 VIN->3.3V, GND->GND, SCL->SCL(레벨컨버터 경유), SDA->SDA(레벨 컨버터 경유)로 연결한다. (잘알려진대로, Arduino UNO의 경우에는 SCL대신에 A5, SDA대신 A4에 꼽아서 사용이 가능하다. SCL/SDA핀의 이름은 Arduino UNO보드의 뒷면에 표기-D13핀 위쪽-되어 있으므로 참조한다. 5V지원 VEML6075의 경우는 VCC->5V에 꼽고 나머지는 직접 연결하면 된다. )

[VEML6075 센서의 대표적인 모습. 사진의 중앙 바로 왼쪽 아래에 작은 수용부가 있다.]

[VEML6075센서 뒷면]

[레벨 컨버터 때문에 회로가 복잡해 보이지만, VIN->3.3V, GND->GND, SCL->SCL, SDA->SDA 연결과 동일하다]

[다른 각도 사진이다. 3.3V->5V 4채널 레벨 컨버터를 사용하고 있다]

상기 모듈이 제공하는 UVA, UVB값은 평방미터당 와트라고 하는 단위를 제공한다고 한다. 값은 측정을 통해 세기를 알아내야 하므로 사실 전문가가 아니면 써먹기 쉽지 않겠으나, 같이 제공되는 UV index 값은 널리 알려진 값이기 때문에 유용하게 사용할 있다. ( 세가지 값은 하단의 예시에서 확인 가능하다)

UV index값은 0부터 11정도까지 가이드되는데 레벨별로 다음과 같다(발췌).

레벨이 단순해서 쉽게 활용할 수 있다. UV index 값이 6 넘어가면 경고를 내주거나 있겠다.

 

가이드대로 회로 연결이 끝나면 실제 코드를 작동시키기 위해 SparkFun VEML6075 라이브러리를 다운로드 받는다. 아두이노 스케치의 라이브러리 관리 메뉴(스케치->라이브러리추가->라이브러리관리) 들어간 검색하여 다운로드 받으면 예시를 곧바로 활용할 있다.

[SparkFun VEML6075 Arduino Library 선택해 설치하자]

다운로드 받은 라이브러리의 첫번째 예시를 선택해(파일->예제->SparkFun VMEL6075 Arduino Library->Example1_Stream_UV) 컴파일하여 구동하자.

[SparkFun VEML6075 아두이노 라이브러리의 Example1 로딩해 컴파일/구동하자]

실행하면 아래와 같이 시리얼 모니터를 통해(속도는 115200 baud로 맞춘다) UVA/UVB/UV Index값을 주기적으로 얻어 출력하는 모습을 볼 수 있다.

[시리얼 모니터 측정 화면, 휴대폰 LED 조명으로는 불행히도 음수 값만 나온다. UV index값을 눈여겨 보자]

앞서 밝힌 대로 간단하게 OLEDUV index값을 표시하거나, UV index별로 LED를 깜빡여서 경고를 하는 장치로 응용하면 어떨까?

 

▶ 구매 가이드

VEML6075 : https://www.aliexpress.com/af/VEML6075.html?d=y&origin=n&SearchText=VEML6075&catId=0&initiative_id=SB_20200720074534 ($4전후)

 

강의 키워드

VEML6075, UV 센서, 자외센 센서, UV sensor, VEML6075, VEML6040, 자외선 디지털 센서, 아두이노

 

반응형