조도 센서를 활용하여 빛의 밝기를 읽어 출력할 수 있다..
▶ 이 가이드를 따라하면
- 룩스(Lux)단위로 빛의 밝기를 감지해 출력한다.
▶ 먼저 읽으면 좋은 글
- Arduino 일반 : http://bbangpan.tistory.com/1
▶ 부품 설명 및 회로 구성
조도 센서는 다양한 가격의 다양한 종류가 존재한다. 흔한 유형은 극소형의 태양광 전지로, 빛을 흡수한 만큼 전압이나 전류가 증가하고 이를 읽어 빛의 밝기를 측정한다(혹은 임계치 이상의 빛을 감지한다.) 여기서는 그나마 I2C통신을 통한 저렴하지만 고급 센서로 Lux단위의 빛의 밝기를 감지하는 GY-302센서 모듈을 소개한다. 대개 5핀짜리 납땜이 필요하고, 납땜 후 사진을 찍으면 아래와 같다.
<GY-302 혹은 BH1750으로 불리는 조도 센서. 가운데 검은색 chip(BH1750) 상단에 빛 센서가 위치한다>
이 모델의 매력은 타 센서와 달리 Lux라는 빛 단위로 정확히 센서값을 나타내 준다는 것이다. 측정한계는 0부터 65536 Lux이다. 아래와 같이 연결해주자.
.
<VCC->3~5V, GND/ADDR->GND, SCL->SCL, SDA-SDA연결한다 >
전원은 5V, 3.3V 어디에든 작동하지만 본인은 5V로 연결했다.
내부 소스 등은 https://cmosgr.wordpress.com/2013/09/02/bh1750fvi-gy-302-light-sensor-module/ 를 그대로 참조했다.
▶ 소스 코드 입력 및 구동
https://docs.google.com/file/d/0B4qM0hq-OmC1RHhEcXRNSmZ1YW8/ 의 라이브러리 다운로드가 필요하다. 이 중에서 BH1750_master만 받아도 좋다. 해당 폴더를 Arduino설치 폴더 하단 libraries폴더 하단에 복사하자. 아래 소스를 컴파일하고 시리얼 모니터를 작동시킨다.
----------------------------------------------------------
/*
Example of BH1750 library usage.
This example initalises the BH1750 object using the default
high resolution mode and then makes a light level reading every second.
Connection:
VCC-5v
GND-GND
SCL-SCL(analog pin 5)
SDA-SDA(analog pin 4)
ADD-NC or GND
Documents : https://cmosgr.wordpress.com/2013/09/02/bh1750fvi-gy-302-light-sensor-module/
Library download : https://docs.google.com/file/d/0B4qM0hq-OmC1RHhEcXRNSmZ1YW8/
*/
#include <Wire.h>
#include <BH1750.h>
BH1750 lightMeter;
void setup(){
Serial.begin(9600);
lightMeter.begin();
Serial.println("Running…");
}
void loop() {
uint16_t lux = lightMeter.readLightLevel();
Serial.print("Light: ");
Serial.print(lux);
Serial.println(" lx");
delay(1000);
}
-------------------------------------------------------
상기 소스를 구동하고, 시리얼 모니터를 실행하면 상황에 따라 아래 값이 출력된다.
<탁상 조명 아래에서 밝기 변화를 주었다. 조명 가까이 가면 5000 lux까지 상승한다.>.
▶ 구매 가이드
GT-302 모듈 : http://www.aliexpress.com/wholesale?catId=0&initiative_id=SB_20150811074835&SearchText=GY-302 ($1)
▶ 강의 키워드
Arduino UNO, light sensor, 조도 센서, GT-302, BH1750, BH1750FVI, light module, lux
'아두이노 센서' 카테고리의 다른 글
[센서/회전검출] Keyes rotary encoder, shaft encoder (0) | 2016.03.06 |
---|---|
[센서/움직임감지센서] PIR(passive infrared) motion sensor로 움직임을 감지해보자 (0) | 2015.11.10 |
[센서/Tachometer] 무언가 반복해서 지나가는 속도를 측정할때는 IR(적외선) 기반 Tachometer를 사용하세요 (0) | 2015.10.26 |
[센서/진동] 가변 진동 센서-디지탈/Adjustable vibration sensor-digital with potentiometer (0) | 2015.08.24 |
[센서/충격] 충격(진동) 감지 센서/Knock sensor/Vibration sensor (0) | 2015.08.17 |
[센서/CO2] 이산화탄소 농도를 알려주는 MG811 CO2 센서 모듈 (1) | 2015.07.14 |
[센서/먼지] 공기의 탁함, 먼지 농도 등을 측정하는 샤프(sharp)의 GP2Y1010AU 센서 (7) | 2015.06.26 |
[센서/무게,하중] 1kg미만의 무게를 측정 가능한 무게 센서(weight sensor) (4) | 2015.06.25 |
[센서/초음파 거리측정] 물체와의 거리를 측정해주는 초음파 센서(ultra sonic sensor) (0) | 2015.06.24 |
[센서/터치] 정전식 터치 센서를 통해 손가락 터치를 감지한다 (0) | 2015.06.22 |