예전에 UV센서 모듈을 구입해서 간단히 사용해 본 적 있었는데(아두이노 + 자외선(UV) 센서 모듈 사용법), 불량이었는지 금방 고장이 나서 이번엔 비슷하지만 다른 제품을 구매해 봤습니다.
UV센서 자체는 동일한 모델(GUVA-S12SD)을 사용하는 것 같고 출력 회로만 살짝 다른데 사용법도 동일하고 스펙도 거의 동일합니다.
자외선 센서
제품 사양 살펴보면 다음과 같습니다. 자외선의 탐지범위는 이전에 사용했던 것보다 약간 더 좁은 약 240~370nm 파장이라고 되어있네요. 센서자체는 동일한데 이전에 사용했던 모델은 왜 200nm부터가 탐지범위라고 했는지 지금에서야 좀 의문스럽네요. ㅎ (판매하시는 분들도 워낙 많은 물건을 다루시다 보니 정확한 스펙을 기재하기 어려운 점이 있는 것 같습니다.)
사양(Specification)
- 작동 전압 : DC 2.5V ~ 5V
- 응답 파장 : 240 ~ 370nm
- 작동 온도 : -30℃ ~ 85℃
- 보관 온도 : -40℃ ~ 90℃
- 크기 : 27mm X 11mm
이제 이 모듈로 자외선 측정 간단히 진행해 보겠습니다.
준비물
- 아두이노(이번엔 우노보드 사용했습니다.)
- 자외선 센서 모듈
- 점프 케이블
Hardware(회로구성)
Fritzing 부품을 똑같은 레이아웃을 찾지 못해서 그냥 기존에 사용했던 모델 사용했습니다. 핀순서가 실제와 약간 다르지만 VCC, GND 그리고 신호선 3가지니까 모듈에 있는 footprint 잘 보고 연결하면 되니 이점 양해해 주세요.
GND-GND, VCC-3.3V, SIG-A0에 각각 연결했습니다.
Software (아두이노 펌웨어)
펌웨어는 이전에 사용했던 것도 동일한 코드 사용했습니다. 이 코드도 벌써 4년도 넘었네요.
/*
Name: UV_measuring.ino
Created: 2019-04-05 오전 10:45:05
Author: everyX
UV센서가 측정한 자외선 강도를 아두이노 아날로그 포트로 읽어서 시리얼모니터로 확인
*/
void setup()
{
Serial.begin(9600); // 시리얼 포트 초기화
}
void loop()
{
uint16_t rawVal; // 정수변수 선언 (범위: 0~65535)
rawVal = analogRead(A0); // A0 포트값을 0~1023사이의 값으로 데이터 수집
float vVal = rawVal * (5.0 / 1023.0); // 전압값으로 변환
Serial.println("UV detecting...");
Serial.print("Raw Value(0-1023) : ");
Serial.print(rawVal); // 측정값 시리얼 모니터로 출력
Serial.print(" = ");
Serial.print(vVal, 3); // 변환된 전압값을 소수점 3자리까지 출력
Serial.println("[V]");
Serial.print("UV Index(0 - 10) : ");
Serial.println(vVal * 10, 1); // 전압값 x10으로 UVI 변환값 출력
delay(500); // 0.5초간 대기
}
결과
테스트를 하고 있는 오늘은 8월 19일 오후 2시 구름 한 점도 없는 가장 뜨거운 날씨중 하루입니다. 방안으로 비스듬히 해가 비치고 있는 상황에서 직사광선이 미치지 않는 위치에서 아래와 같은 결과 확인할 수 있었습니다.
직사광선에서는 얼마나 나올지 궁금하네요. 제가 거주하고 있는 인천의 현재 자외선 지수는 매우 높음으로 지수범위 8~11 상태입니다.
너무 더워서 밖에 나가지는 않고 방 안에서 창문만 살짝 열고 방충망을 넘어 들어오는 햇빛에 내놓았을 때 결과 확인해 봤습니다.
밖에 나가면 9, 10 정도는 그냥 찍히겠네요. 암튼 결과 잘 나오는 것 같네요.
그리고 참고로 아래는 2중 창문 하나를 닫은 상태에서 햇빛을 내리쬔 결과입니다.
약 25% 자외선 차단 효과가 있네요.
이전에 공부했던 지식을 되짚어 보면, 측정되는 자외선 파장이 240~370nm 이니까 UV-A, UV-B로 분류되는 자외선이 모두 대상이 될 텐데 UV-B는 대부분 유리에서 차단이 된다고 하니까 UV-A 파장대에서 약 75%가 유리를 통과해서 집안으로 들어온다고 볼 수 있을 것 같네요.
UV-A는 피부노와의 주범이니까 집안에 있더라도 안심하지 말고 햇빛이 비치는 곳은 조심해야겠다는 생각이 다시 드네요. 그리고 UV-A에 가장 많이 노출되는 장소는 차 안인 것 같은데 차 유리는 어느 정도 투과가 되는지 갑자기 궁금해지네요.
끝!
'Hardware > MCU(Arduino,ESP8266)' 카테고리의 다른 글
아두이노 버튼 짧게 누르기/길게 누르기 구현(ezButton 라이브러리) (2) | 2023.10.03 |
---|---|
ESPHome 커스텀 컴포넌트 추가해서 Home Assistant에 설치 (1) | 2023.01.29 |
UART 시리얼 통신의 기본 (0) | 2023.01.25 |
ESPHome 개발환경 구축 (0) | 2022.04.07 |
댓글