본 절은 [GYML8511] 아두이노 센서를 사용하기 위해 알아야 할 내용과 실습 방법에 대해 설명한다. 아두이노 센서의 특징, 동작원리, 사양, 연결 핀 배열, 출력 값, 주의사항을 알아본다. 아두이노와 센서를 연결하고, 간단한 코딩으로 센서를 쉽게 실습할 수 있다.
목차
GYML8511 아두이노 UV 센서
GYML8511 센서란?
GYML8511 센서는 ML8511 을 사용한 센서이다. ML8511은 실내 또는 실외에서 UV 강도를 획득하는 데 적합한 UV 센서이다. 센서 IC는 SOI-CMOS 기술을 적용하여 디지털 회로 및 아날로그 회로에 널리 사용된다.
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) 를 사용한다.
'모두의 아두이노 센서 > 아두이노 센서 (불)' 카테고리의 다른 글
KY-026 아두이노 불꽃 센서 (LCD16X2 키패드실드) (0) | 2021.05.19 |
---|---|
Grove Si1145 자외선 UV IR 가시광 센서 (LCD16X2 키패드실드) (0) | 2021.05.19 |
ML8511 (SEN0175) 아두이노 UV 센서 (LCD16X2 키패드실드) (0) | 2021.05.19 |
TSL2561 아두이노 조도 센서 (LCD16X2 키패드실드) (0) | 2021.05.19 |
BH1750 아두이노 조도 센서 (LCD16X2 키패드실드) (0) | 2021.05.17 |
KY-018 아두이노 조도 센서 (LCD16X2 키패드실드) (0) | 2021.05.16 |
댓글