Если вы хотите поэкспериментировать с распознаванием цвета или реализовать его в своих проектах, TCS3200 — популярный выбор. Этот универсальный датчик цвета может точно определять и измерять интенсивность различных цветов. В этой статье мы познакомим вас с различными способами подключения датчика цвета TCS3200, используя разговорный язык и предоставив примеры кода, чтобы упростить этот процесс. Итак, приступим!
Метод 1: базовое подключение
Для начала вам потребуются следующие компоненты:
- Датчик цвета TCS3200
- Плата Arduino
- Макет
- Перемычки
- Подключите контакт VCC TCS3200 к контакту 5 В на Arduino.
- Подключите контакт GND TCS3200 к контакту GND на Arduino.
- Подключите вывод OUT TCS3200 к любому цифровому выводу Arduino (например, контакту 2).
- Подключите контакты S0, S1, S2 и S3 TCS3200 к любым цифровым контактам Arduino (например, контактам 3, 4, 5 и 6).
Метод 2: использование модуля датчика цвета
Если у вас есть модуль датчика цвета TCS3200, подключение становится еще проще. Модуль обычно включает в себя подтягивающие резисторы, что упрощает подключение.
- Подключите контакт VCC модуля к контакту 5 В на Arduino.
- Подключите контакт GND модуля к контакту GND на Arduino.
- Подключите вывод OUT модуля к любому цифровому выводу Arduino (например, контакту 2).
- Подключите контакты S0, S1, S2 и S3 модуля к любым цифровым контактам Arduino (например, контактам 3, 4, 5 и 6).
Метод 3: использование адаптера I2C
Если вы предпочитаете минимизировать количество контактов, используемых на Arduino, вы можете подключить TCS3200 с помощью адаптера I2C.
- Подключите контакт VCC TCS3200 к контакту 5 В адаптера I2C.
- Подключите контакт GND TCS3200 к контакту GND адаптера I2C.
- Подключите контакты S0, S1, S2 и S3 TCS3200 к любым доступным цифровым контактам адаптера I2C (сопоставление контактов см. в документации адаптера).
- Подключите контакт OUT TCS3200 к контакту SDA адаптера I2C.
- Подключите контакты SDA и SCL адаптера I2C к соответствующим контактам на Arduino.
Пример кода:
Вот простой фрагмент кода Arduino, который поможет вам начать считывать значения цвета из TCS3200:
const int S0 = 3;
const int S1 = 4;
const int S2 = 5;
const int S3 = 6;
const int OUT = 2;
void setup() {
pinMode(S0, OUTPUT);
pinMode(S1, OUTPUT);
pinMode(S2, OUTPUT);
pinMode(S3, OUTPUT);
pinMode(OUT, INPUT);
// Set the frequency scaling to 20%
digitalWrite(S0, LOW);
digitalWrite(S1, HIGH);
}
void loop() {
// Read color values
int red = pulseIn(OUT, digitalRead(OUT) == HIGH ? LOW : HIGH);
int green = pulseIn(OUT, digitalRead(OUT) == HIGH ? LOW : HIGH);
int blue = pulseIn(OUT, digitalRead(OUT) == HIGH ? LOW : HIGH);
// Print color values
Serial.print("Red: ");
Serial.print(red);
Serial.print(" Green: ");
Serial.print(green);
Serial.print(" Blue: ");
Serial.println(blue);
delay(1000); // Delay between readings
}