개발자/Arduino

NANO 33 BLE Sense - 6 온보드 컬러 인식 RGB센서 실습

지구빵집 2020. 5. 10. 15:18
반응형

 

NANO 33 BLE Sense - 6 온보드 컬러 인식 RGB센서 실습

 

이전 편에 이어 같은 APDS-9960 근접, 주변광, RGB Color, 제스처 인식 센서를 실습한다. 센서 위에 물체를 대면 물체의 색을 RGB 값으로 반환하는 실습을 한다.

 

Arduino nano 33 BLE Sense 보드 모든 구성품 실습 강의

 

NANO 33 BLE Sense - 1. 온보드 RGB LED 실습

NANO 33 BLE Sense - 2. LSM9DS1, 9축 IMU센서 정보 활용

NANO 33 BLE Sense - 3. 기압 센서 사용해보기

NANO 33 BLE Sense - 4. 온습도 센서 HTS221 실습

NANO 33 BLE Sense - 5. 온보드 제스처 센싱 실습

NANO 33 BLE Sense - 6. 온보드 컬러 인식 RGB 센서 실습

NANO 33 BLE Sense - 7. 온보드 거리센서 실습

NANO 33 BLE Sense - 8. 더 살펴볼 것, 리소스와 더 많은 기능

 

 

#include <Arduino_APDS9960.h>

void setup() 
{
  Serial.begin(9600);
  while (!Serial); // 시리얼 모니터가 켜졌을때만 작동합니다.

  if (!APDS.begin()) 
  { // APDS9960센서를 초기화합니다. 초기화중 문제가 발생하면 오류를 발생시킵니다.
    Serial.println("APDS9960센서 오류!");
    while (1);
  }
}

void loop() 
{
  if (APDS.colorAvailable()) 
  { // 센서의 RGB색상 출력값이 존재할때만 작동합니다.
    int RGB[3] = {0}; // RGB색상 데이터를 저장할 변수입니다.
    APDS.readColor(RGB[0], RGB[1], RGB[2]); 
    // RGB색상 데이터를 함수의 인자에 저장합니다. 저장되는 데이터는 각각 R, G, B 입니다.
    // 데이터를 전송합니다.
    Serial.print("R = ");
    Serial.println(RGB[0]);
    Serial.print("G = ");
    Serial.println(RGB[1]);
    Serial.print("B = ");
    Serial.println(RGB[2]);
    Serial.println();
    delay(1000);
  }
}

 

참고로 apds.readColor() 함수의 이용 방법은 잘 나와 있다. 사용하는 함수는 2개 인데 아랴 형태다.

 

Int r, g, b;

APDS.readColor(r, g, b)

 

Int a;

APDS.readColor(r, g, b, a)

 

Parameters:

This function requires 3 or 4 integer variables as arguments where the read color will be stored.

 

r - is the red component of the read color

g - is the green component of the read color

b - is the blue component of the read color

a - is the ambient light intensity -> 빛의 밝은 정도를 반환하는 값.

 

위 소스코드를 컴파일하고 업로딩 후 결과를 확인하면 아래와 같다.

 

아래 1,000이 넘어가는 수는 감지하지 못한 데이터고 빨간색이나 검은색을 보드 위에 대면 정확한 RGB 값이 출력되는 데이터를 확인할 수 있다.

 

 

 

 

반응형