#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. Я действительно попробовал это после того, как перечитал ваш комментарий и попытался понять, чего я на самом деле пытаюсь достичь, и это сработало, так что спасибо