Помогите доделать код к датчику цвета

Доброго времени суток, купил я датчика цвета для ардуино tcs 34725 а в ардуино я 0 от слова совсем) помогите доделать код для датчика , суть его такая : по конвейеру движутся коробки какие то покрашенные какие то нет , как написать код чтобы допустим покрашенные в зеленый цвет коробки когда доходили до датчика то срабатывало реле простое на 5v. и чтобы оно нажалось два раза)


это то что есть)

// создаём объект для работы с модулем, указываем настройки

Adafruit_TCS34725 tcs = Adafruit_TCS34725(TCS34725_INTEGRATIONTIME_50MS, TCS34725_GAIN_4X);

void setup() {
    Serial.begin(9600); // запускаем обмен по последовательному порту
    tcs.begin(); // активируем датчик
    delay(60);  // ждём 60 мс, пока датчик собирает первые данные
}
void loop() {
    float red, green, blue;

    tcs.getRGB(&red, &green, &blue); // запрашиваем у датчика цветовые компоненты

    // вывод RGB компонентов в последовательный порт
    Serial.print("R:\t"); Serial.print(int(red)); 
    Serial.print("\tG:\t"); Serial.print(int(green)); 
    Serial.print("\tB:\t"); Serial.print(int(blue));
    Serial.print("\n");

    delay(60);  // ждём 60 мс, пока датчик собирает новые данные
} ```

Ну ты же этот код загрузил в ардуинку? Разноцветными штуками перед датчиком водил? Вывод из сериал где?

Да , все загрузил датчик меняет значения , все работает , смотрел через порт изменения , сейчас картинки нет , но если что где значения нужно прописать я впишу , сейчас нету возможности скинуть фото ) значение зелёного там от 60 до 110 было

И не надо. Надо скопировать содержимое монитора порта и выложить текстом.

может я не правильно понимаю, но если там значение зеленого меняется в зависимости от поднесенного цвета к датчику именно Grin от 60 до 110 , нельзя прописать что при изменении значения до 90 питание подается на 10 пин к примеру два раза с периодичностью в секунду?

Можно. Прописать можно всё, что угодно. Если что, скажете, что я разрешил.

1 лайк

понял) вечером закину мониторинг порта с изменениями G ; R ; B. при проведении через датчик соответствующих цветов)

Именно трех. Потому что цвет складывается из всех составляющих, а не из одной.
Скажем, если у вас Зеленый 110 единиц, а красный и синий по нулям - это действительно похоже на зеленый. . А если Зеленый 110, а красный и синий 200 - то это совсем другой цвет.

1 лайк

спасибо большое )) теперь все понятно)

Датчик дает 3 цвета от “а” до “b”, думаю самый простой способ определить нужный зеленый цвет это
if( (red>a1 && red<b1)&&(blue>a2 && blue<b2)&&(green>a3 && green<b3)

простой но неправильный


Вот я поднёс зелёный цвет (условно) и такие цифры вчера были , получается это из 3 значений цветов и есть нужный зелёный верно?

Так красиво у нас ещё дампы не выкладывали. Зачет, однозначно.

3 лайка

Все для вас господа)):laughing:

У тя горизонт завален…

А горизонт разве влияет на оценку цифр )? Ну если вам будет легче определить с профессиональной точки зрения эту информацию то вот горизонт выровнен

оффтоп :

1994 год, где то в недрах компании Майкрософт :

– И так , в нашей OS будет использоваться новый манипулятор - мышка, как нам обучить пользователей ее “функциями”?
– А давайте запилим Солитер , так юзер поймет что вещи можно “перетаскивать”
– Отлично , что будем делать с “двойным кликом” ?
–Запилим игру “Сапер” и юзеры быстро научаться
– Супер , вот бы была еще возможность что бы текст из программы не перепечатывать вручную а просто “Скопировать и вставить” по нажатию комбинации клавиш
– … @ff01

@ff01, открой для себя Fine Reader - картинки в текст переводить :sweat_smile:

1 лайк