[스마트팜] 식물이 인식하는 빛 환경을 측정 (PAR 미터)

 

🌿 아두이노로 만드는 RGB 센서 (TCS34725) 기반 PAR 미터

1. TCS34725 RGB 센서 개요

TCS34725는 RGB 센서로, 빨강(R), 초록(G), 파랑(B)투명도(Clear) 값을 측정할 수 있습니다. 이 센서는 주로 색 감지 및 조도 측정에 사용됩니다. Lux 계산 기능이 내장되어 있어 일반적인 빛의 세기를 측정하는 데 유용합니다. 또한, 식물의 광합성에 중요한 역할을 하는 빛의 세기를 대략적으로 추정할 수 있습니다.

2. 회로 연결 (TCS34725)

TCS34725 핀아두이노 핀
VIN5V
GNDGND
SDAA4
SCLA5

3. 아두이노 코드 (TCS34725)

#include <Wire.h> #include "Adafruit_TCS34725.h" // TCS34725 센서 객체 생성 Adafruit_TCS34725 tcs = Adafruit_TCS34725(TCS34725_INTEGRATIONTIME_700MS, TCS34725_GAIN_1X); void setup() { Serial.begin(9600); // TCS34725 센서 초기화 if (tcs.begin()) { Serial.println("TCS34725 센서 초기화 성공"); } else { Serial.println("TCS34725 센서 초기화 실패"); while (1); } } void loop() { uint16_t r, g, b, c; float lux; // TCS34725 센서에서 데이터 읽기 tcs.getRawData(&r, &g, &b, &c); lux = tcs.calculateLux(r, g, b); Serial.print("R: "); Serial.print(r); Serial.print(" G: "); Serial.print(g); Serial.print(" B: "); Serial.print(b); Serial.print(" C: "); Serial.print(c); Serial.print(" Lux: "); Serial.println(lux); // PAR 추정 (단순한 방법으로 c값을 기준으로 추정) float parEstimate = (float)c / 100.0; // c값을 기반으로 한 간단한 추정 Serial.print("PAR 추정값: "); Serial.println(parEstimate); delay(2000); // 2초마다 측정 }

4. 출력 예시

R: 1234 G: 5678 B: 2345 C: 6789 Lux: 324.56 PAR 추정값: 67.89
  • R, G, B, C 값: 각 색상의 원시 데이터

  • Lux 값: 계산된 조도 값

  • PAR 추정값: c값을 기준으로 추정된 PAR 값 (대략적인 값)


🌿 아두이노로 만드는 스펙트럼 센서 (AS7341) 기반 PAR 미터

1. AS7341 스펙트럼 센서 개요

AS7341은 8개의 채널을 통해 다양한 파장 대역의 빛을 측정할 수 있는 스펙트럼 센서입니다. 각 채널은 410nm~940nm 사이의 파장을 측정할 수 있으며, 광합성에 중요한 빨강(R), 파랑(B), 녹색(G) 등 각 파장대의 빛을 분리하여 측정할 수 있습니다. 이를 통해 정확한 PAR 계산에 필요한 데이터를 얻을 수 있습니다.

2. 회로 연결 (AS7341)

AS7341 핀아두이노 핀
VIN5V
GNDGND
SDAA4
SCLA5

3. 아두이노 코드 (AS7341)

#include <Wire.h> #include "Adafruit_AS7341.h" // AS7341 센서 객체 생성 Adafruit_AS7341 as7341; void setup() { Serial.begin(9600); // AS7341 센서 초기화 if (as7341.begin()) { Serial.println("AS7341 센서 초기화 성공"); } else { Serial.println("AS7341 센서 초기화 실패"); while (1); } } void loop() { uint16_t spectrum[8]; // AS7341 센서에서 데이터 읽기 as7341.getData(spectrum); // 측정된 스펙트럼 데이터를 출력 Serial.println("AS7341 Spectrum Data:"); for (int i = 0; i < 8; i++) { Serial.print("Channel "); Serial.print(i); Serial.print(": "); Serial.println(spectrum[i]); } // PAR 추정 계산 (간단한 방법으로 특정 채널의 평균값을 활용) float parEstimate = 0; for (int i = 4; i < 6; i++) { // 예를 들어 450nm ~ 675nm 채널 parEstimate += spectrum[i]; } parEstimate /= 2; Serial.print("PAR 추정값: "); Serial.println(parEstimate); delay(2000); // 2초마다 측정 }

4. 출력 예시

AS7341 Spectrum Data: Channel 0: 150 Channel 1: 200 Channel 2: 250 Channel 3: 300 Channel 4: 350 Channel 5: 400 Channel 6: 450 Channel 7: 500 PAR 추정값: 375.00
  • 채널 0~7: 각 파장대에서 측정된 빛의 세기 (410nm ~ 940nm)

  • PAR 추정값: 특정 파장대의 값을 기반으로 추정된 PAR 값 (이 값은 실험적으로 보정이 필요할 수 있습니다)


📚 마무리

TCS34725 RGB 센서와 AS7341 스펙트럼 센서 비교

  • TCS34725: RGB 센서로 주로 **일반적인 조도(Lux)**를 측정하는 데 사용되며, 식물 성장에 필요한 빛의 세기를 대략적으로 추정할 수 있습니다. 간단하게 사용할 수 있으며, 기본적인 빛의 측정에 유용합니다.

  • AS7341: 스펙트럼 센서로, 8개의 채널을 통해 특정 파장대의 빛을 측정할 수 있어 정확한 PAR 측정이 가능하지만, 보정 작업이 필요합니다. 좀 더 정밀한 광합성에 중요한 빛을 측정하고자 할 때 유용합니다.

두 센서는 모두 식물의 빛 환경을 측정하는 데 유용하며, 사용자의 필요에 맞게 단순하거나 정밀한 측정을 할 수 있습니다.

댓글

이 블로그의 인기 게시물

공압 속도 제어: 미터인 vs 미터아웃

[PLC] PLC 아날로그 입출력 기본

[주식] 한국거래소(KRX) 데이터 API 입문 가이드

[PLC] 절연 변압기 (Isolation Transformer)

[수학] 정규 분포란? 왜 종 모양을 띠고 있을까?

제너 다이오드에 저항을 연결하는 이유

[자동화] 안쓰는 안드로이드폰을 활용한 식물 성장 타임랩스 촬영

[아두이노] 가변저항(Potential Divider)과 전압분배(Voltage Divider)

[스마트팜] EC/pH 미터 만들기: 아두이노로 전기 전도도 및 pH 측정

[농사] 식물의 광합성과 호흡