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

[센서/조도,움직임] GY-9960LLC, APDS-9960 RGB and gesture sensor, 조도 및 움직임 센서

by 작동미학 2017. 6. 8.
반응형

조도 및 움직임을 감지할 수 있는 센서를 활용해보자

 

이 가이드를 따라하면

- 색감지, 조도감지, 움직임감지를 모두 해낼 수 있는 부품을 활용할 수 있다.

 

먼저 읽으면 좋은 글

- 아두이노 기초 : http://bbangpan.tistory.com/1

 

부품 설명 및 회로 구성

이 부품은 sparkfun 제품상으로는 https://learn.sparkfun.com/tutorials/apds-9960-rgb-and-gesture-sensor-hookup-guide 를 기원으로 한다. APDS-9960 센서를 탑재하고 있다.

이 보드의 이름이 GY-9960LLC이다. 그리고 첫번째 단점은 이 모듈은 3.3V만 지원하기 때문에 Arduino Pro Arduino Due 3.3V기반 보드에서만 작동한다는 점이다. Sparkfun가이드는 Arduino Pro를 기반으로 한다.  

  

<APDS-9960 모듈, /뒷면>

VIN빼고 연결해주면 되며, Arduino DUE기반의 연결에서는 다음과 같이 연결한다. GND->GND, VCC->3.3V, SDA->SDA, SCL->SCL, INT->D2. 

<5개의 PIN을 연결했을 때 그림>

라이브러리 설치

SparkFun의 라이브러리를 사용하면 되며, https://github.com/sparkfun/APDS-9960_RGB_and_Gesture_Sensor/archive/master.zip 를 다운받은 후 Arduino설치폴더\librariesSparkFun APDS9960 RGB and Gesture sensor이라는 폴더를 만든 후, 압축 파일 안의 Libraries/Arduino폴더만 풀어 넣는다. 설치가 좀 까다롭다.

제대로 압축을 풀면 아래와 같이 예제에서 고를 수 있다.

 

소스 코드 입력 및 구동

아래는 라이브러리 설치 후 파일->예제->SparkFun APDS9960 .. -> GestureTest를 선택하여 컴파일 구동한다.

 

GestureTest에서는 몇가지 모드를 지원하는데, 센서 구동 후 몇 초 있다가 손가락으로 해당 센서의 위쪽에 2cm정도로 나가가서 위/아래/왼쪽/오른쪽으로 1초 간격으로 움직여본다. 시리얼 모니터로 확인해보자.

 

사실 좀 놀란 것은 생각보다 인식이 잘 되지 않는다. Sparkfun매뉴얼에는 10cm정도 떨어져서 하라고 되어 있는데, 센서별로 품질차이가 좀 날 수도 있겠다.

또하나, 필자의 경우는 Interrupt가 작동하지 않아서 소스의 Interrupt부분을 주석처리 했다. (Arduino DUE라서 data pin, interrupt 번호가 안맞는가 싶다. 해결하지 못했다)

이렇게 주석처리하면 움직이는게 보이긴 한다. 센서 1cm정도에서 손가락으로 왔다갔다 해야만 상기 시리얼 모니터의 응답을 볼 수 있다. NEAR/FAR같이 가까이/멀리 가는 동작은 잘 인식하지 못했다.

 

거리 인식이 제대로 되는지 궁금하면 ProximitySensor 예제를 컴파일해서 실행해보면 된다.

센서에 5cm~20cm를 왔다갔다 하는 동안 255~5정도로 값이 변한다.

 

RGB값 구하는 테스트는 ColorSensor예제를 구동해보면 된다. 빛의 밝기와 RGB값 분포를 알 수 있다.

 

구매 가이드

APDS 9960 : https://www.aliexpress.com/wholesale?catId=0&initiative_id=SB_20170607074023&SearchText=APDS+9960 ($2)

 

강의 키워드

APDS-9960, GY-9960LLC, RGB and gesture sensor, arduino

 

반응형