(Arduino) Как выделить значение цветовой температуры и распечатать его в определенном цвете?

#arduino #arduino-uno

#arduino #arduino-uno

Вопрос:

Я новичок в arduino, и мне просто интересно, как выделить значение цветовой температуры и присвоить его определенному цвету.

 #include <Wire.h>
#include "Adafruit_TCS34725.h"



 Adafruit_TCS34725 tcs = Adafruit_TCS34725(TCS34725_INTEGRATIONTIME_700MS, TCS34725_GAIN_1X);


void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);


  if (tcs.begin()) {
      Serial.println("Found sensor");

  }
}

void loop() {


  uint16_t r, g, b,c, colorTemp, lux ;

   tcs.getRawData (amp;r, amp;g, amp;b, amp;c);

   colorTemp = tcs.calculateColorTemperature_dn40 (r, g, b,c);


   if (4025<= (colorTemp, DEC) amp;amp; (colorTemp, DEC) <= 4200) {
   Serial.print("Green") ;
}
     else
      {Serial.print(" ");}
}
  

когда я пытаюсь запустить этот код, он просто продолжает печатать зеленым цветом, даже если цветовая температура не соответствует ограничениям.

Комментарии:

1. Когда вы говорите, что «это не соответствует ограничениям» , что вы имеете в виду под этим? какое значение colorTemp ? Кроме того, что (colorTemp, DEC) должно означать?

2. Чего я в основном пытаюсь достичь, так это того, чтобы датчик RGB был направлен на цветную заметку, и она печатала бы в определенном цвете, если она соответствует определенному диапазону цветовой температуры. значение colorTemp колеблется от 4025K до 4200K. Насколько я понимаю, (colorTemp, DEC) означает, что это преобразует его в десятичное целое значение

3. Вы когда-нибудь измеряли значение за пределами этого диапазона?

4. Я действительно попробовал это после того, как перечитал ваш комментарий и попытался понять, чего я на самом деле пытаюсь достичь, и это сработало, так что спасибо