Reconocimiento de color con sensor TCS230 y Arduino [Código de calibración incluido]: 12 pasos
Reconocimiento de color con sensor TCS230 y Arduino [Código de calibración incluido]: 12 pasos
Anonim

Por Electropeak Sitio web oficial de ElectroPeak Siga más por el autor:

Introducción al módulo ultrasónico y Arduino
Introducción al módulo ultrasónico y Arduino
Introducción al módulo ultrasónico y Arduino
Introducción al módulo ultrasónico y Arduino
Cree un mapa de calor WiFi usando ESP8266 y Arduino
Cree un mapa de calor WiFi usando ESP8266 y Arduino
Cree un mapa de calor WiFi usando ESP8266 y Arduino
Cree un mapa de calor WiFi usando ESP8266 y Arduino
Cómo controlar WS2812 RGB LED (NeoPixel) con Arduino [Tutorial]
Cómo controlar WS2812 RGB LED (NeoPixel) con Arduino [Tutorial]
Cómo controlar WS2812 RGB LED (NeoPixel) con Arduino [Tutorial]
Cómo controlar WS2812 RGB LED (NeoPixel) con Arduino [Tutorial]

Acerca de: ElectroPeak es su lugar único para aprender electrónica y hacer realidad sus ideas. Ofrecemos guías de primer nivel para mostrarle cómo puede realizar sus proyectos. También ofrecemos productos de alta calidad para que tenga un… Más sobre Electropeak »

Visión general

En este tutorial, aprenderá sobre el sensor TCS230 y cómo usarlo con Arduino para reconocer colores. Al final de este tutorial, encontrará una idea fascinante para crear un rotulador selector de color. Con este bolígrafo, puede escanear los colores de los objetos que le rodean y comenzar a pintar en una pantalla LCD usando ese color.

Lo que vas a aprender

  • Una introducción de TCS230
  • Cómo usar el módulo TCS230 con Arduino y reconocer diferentes colores

Paso 1: ¿Qué es el sensor TSC230?

¿Qué es el sensor TSC230?
¿Qué es el sensor TSC230?
¿Qué es el sensor TSC230?
¿Qué es el sensor TSC230?

El chip TSC230 contiene una matriz de fotodiodos de silicio de 8 × 8, que se pueden utilizar para reconocer colores. 16 de estos fotodiodos tienen filtro rojo, 16 tienen filtro verde, 16 tienen filtro azul y los otros 16 no tienen filtro.

El módulo TCS230 tiene 4 LED blancos. Los fotodiodos reciben la luz reflejada de estos LED desde la superficie del objeto, luego generan una corriente eléctrica dependiendo del color que recibieron.

Además de los fotodiodos, también hay un convertidor de corriente a frecuencia en este sensor. Convierte la corriente generada por los fotodiodos a la frecuencia.

La salida de este módulo es en forma de pulsos cuadrados con un ciclo de trabajo del 50%.

El mejor rango de medición para este sensor es de 2 a 4 cm.

Paso 2: Pinout TCS230

Pinout TCS230
Pinout TCS230
Configuración de pines TCS230
Configuración de pines TCS230
Configuración de pines TCS230
Configuración de pines TCS230

El TCS230 tiene 4 pines de control. S0 y S1 se utilizan para escalar la frecuencia de salida, y S2 y S3 se utilizan para seleccionar el tipo de fotodiodo. (rojo, verde, azul, sin filtro)

El circuito convertidor de corriente a frecuencia tiene divisores de frecuencia. Puede controlar este divisor de frecuencia con los pines de control S0 y S1.

Por ejemplo, si desea medir el valor del color azul en un objeto, debe establecer el estado del pin S2 en bajo y el estado del pin S3 en alto simultáneamente.

Paso 3: Materiales necesarios

Los materiales requeridos
Los materiales requeridos

Componentes de hardware

Arduino UNO R3 * 1

Módulo de sensor de reconocimiento de color TCS230 * 1

Placa de pruebas * 1

LED RGB * 1

LCD TFT de 2,4 ** * 1

Cable de puente macho a hembra * 1

Resistencia de 220 ohmios * 1

Aplicaciones de software

IDE de Arduino

Paso 4: Sensor de color TCS239 e interfaz Arduino

Conecta el sensor a Arduino como ves en la siguiente imagen. Luego analice la salida de diferentes colores inicializando los pines S0 a S4.

Paso 5: circuito

Circuito
Circuito

Conecte el sensor al Arduino de acuerdo con el siguiente circuito.

Paso 6: Código

Código
Código

El siguiente código mide la señal de salida para cada uno de los tres colores y muestra el resultado en el puerto serie.

La función de color controla los pines S2 y S3 para leer todos los colores del objeto. Esta función utiliza el comando pulseln para recibir los pulsos transmitidos por el sensor de color. Para obtener más información, puede leer esta página.

?: operador condicional Este comando actúa como el comando if y else.

Si la condición es verdadera, exp1 y, de lo contrario, se ejecutará exp2.

Paso 7: Calibración del sensor de color TCS230

Para calibrar el sensor, necesita un objeto blanco.

La función de calibración realiza la calibración del sensor. Para hacer esto, simplemente ingrese el carácter "c" en la ventana serial. Luego retire todos los objetos de color alrededor del sensor y vuelva a ingresar “c”. Ahora tome un objeto blanco cerca del sensor e ingrese "c" nuevamente.

Después de la calibración, si mantiene el objeto blanco frente al sensor, debería ver el valor de 255 (o alrededor de 255) para cada uno de los tres colores rojo, verde y azul en la ventana de serie.

La función Calibrar calcula y almacena los cambios máximos y mínimos en la frecuencia de salida del sensor en un entorno de color blanco y sin color.

Luego, en la parte del bucle, asigna el rango de cambio de color a 0-255 (o cualquier otro rango que defina).

Puede encontrar más información sobre el comando map aquí.

Paso 8: Código

Paso 9: haga un lápiz selector de color con sensor TCS230 y Arduino

Si usa Arduino UNO, debe soldar los pines del sensor de color a la placa Arduino usando cables. Pero si usa Arduino MEGA, puede usar los últimos pines de la placa para conectarle el sensor de color.

Si está utilizando el protector LCD por primera vez, puede ver el tutorial de configuración aquí.

El siguiente código crea una página de pintura en la pantalla LCD. El color predeterminado del bolígrafo es rojo. Mantenga presionada la tecla y cierre el sensor de color al objeto deseado para seleccionar su color. Luego, el color de su bolígrafo cambia al color de ese objeto.

Paso 10: circuito

Circuito
Circuito

Paso 11: Código

La función pick_color se llama cuando se presiona la tecla. Lee el color del objeto ubicado cerca del sensor y cambia el color del lápiz a ese color.