Como usar com Arduino – Sensor de Cor TCS230 (TCS3200)

Como usar com Arduino – Sensor de Cor TCS230 (TCS3200)

img00_como_usar_com_arduino_sensor_de_cor_tcs230_tcs3200_color_cores_objetos_rgb_pwm_diodo_led_uno_mega_esp8266

– Descrição:

Sensor de Cor TCS230 (TCS3200) é um módulo composto por 64 fotodiodos que são divididos da seguinte forma: 16 possuem filtros para a cor vermelha, 16 para a cor verde, 16 para a cor azul e 16 não possuem filtro. Além disso, o sensor possui quatro LEDs brancos para iluminação e oito pinos de conexão.

Os 64 fotodiodos estão distribuídos no Sensor de Cor TCS230 (TCS3200) uniformemente e são responsáveis por captar a luminosidade, filtrar as cores recebidas e em seguida gerar na saída do sensor um sinal de onda quadrada que traz informações sobre a intensidade das cores primárias (Red (Vermelho) / Green (Verde) / Blue (Azul)). A partir destas informações é possível verificar qual a cor que o sensor identificou.

– Especificações e características:

– Controlador: TCS230
– Tensão de operação: 3 a 5VDC
– Melhor faixa de detecção: 10mm
– Margem de erro típica: 0.2% a 50KHz

– Datasheet:

Datasheet TCS230

– Aplicações:

Projetos com Arduino ou outras plataformas microcontroladas em que seja necessário identificar cores de objetos.

– Proposta da prática:

1) Utilizar o Sensor de Cor TCS230 (TCS3200) em conjunto com o Arduino e inicialmente fazer a calibração do mesmo.

2) Fazer a leitura das cores dos objetos e em seguida registrar na EEPROM do Arduino os códigos das cores lidas e seus respectivos nomes.

3) Aproximar do sensor os objetos e aguardar o mesmo identificar as cores. A cor identificada será exibida no monitor serial do ambiente de programação do Arduino.

A calibração do sensor e a leitura das cores para armazenamento na EEPROM do Arduino são feitos a partir de comandos enviados pelo monitor serial do ambiente de programação do Arduino.

– Lista dos itens necessários:

01 – Arduino com Cabo USB
01 – Sensor de Cor TCS230 (TCS3200)
02 – Protoboard
08 – Cabos Jumper macho-macho
01 – Objetos de cores distintas

OBS: para montagem do sensor em protoboard serão necessárias 2 protoboards de 400 pontos ou 2 de 830 pontos, pois o espaçamento entre os contatos de 1 protoboard não é compatível com o espaçamento (de lado a lado) dos pinos do sensor.

– Esquema de ligação da prática:

img01_como_usar_com_arduino_sensor_de_cor_tcs230_tcs3200_color_cores_objetos_rgb_pwm_diodo_led_uno_mega_esp8266

– Tutorial de instalação e configuração do ambiente de programação do Arduino:

Arduino – Instalação e Configuração da IDE no Windows

– Biblioteca:

Download MD_TCS230

Download FreqCount

– Importando bibliotecas para o ambiente de programação do Arduino:

Arduino – Importando bibliotecas para a IDE

– Código:

1) O sensor pode sofrer interferência de luz externa, logo, o ideal é que você faça uma espécie de isolação e deixe visível para o sensor somente o objeto que será identificado a cor. Recomendo que faça um compartimento para alocar o sensor e deixe apenas um furo central na parte de cima deste compartimento de forma que o objeto a ser identificado a cor possa ficar visível ao sensor.

2) Calibração: após carregamento do código no Arduino, abra o monitor serial e um menu de opções será exibido. Digite 1 na entrada de dados do monitor serial e clique em enviar. Em seguida na serial será exibida uma mensagem solicitando que seja aproximado do sensor um objeto de cor preta. Aproxime o objeto de cor preta, digite qualquer letra na entrada de dados do monitor serial e clique em enviar ou pressione ENTER. Novamente será exibida uma mensagem na serial, porém, solicitando que seja aproximado do sensor um objeto de cor branca. Aproxime o objeto de cor branca, digite qualquer letra na entrada de dados do monitor serial e clique em enviar ou pressione ENTER.

3) Leitura das cores: escolha objetos de cores distintas para que o sensor possa fazer a leitura do código RGB. Coloque o objeto sobre o furo do compartimento que está isolando o sensor e na entrada de dados do monitor serial digite 2 e em seguida clique em enviar ou pressione ENTER. Uma mensagem será exibida solicitando que você digite na entrada de dados da serial um nome para a cor que foi lida. Digite o nome e em seguida clique em enviar ou pressione ENTER para que o nome juntamente com o código RGB seja guardado na memória EEPROM do Arduino. Siga este mesmo procedimento para todos os objetos que forem lidos pelo sensor.

4) Escolha um dos objetos que foram lidos anteriormente, coloque o objeto sobre o furo do compartimento que está isolando o sensor e na entrada de dados do monitor serial digite 7 e em seguida clique em enviar ou pressione ENTER. Uma mensagem será exibida informando o código RGB e o nome da cor que foi reconhecida. Siga este mesmo procedimento para os demais objetos.

5) Ao escanear a cor do objeto (procedimento 4 mencionado acima), você irá observar que os códigos RGB mostrados após o sensor identificar a cor, poderão ser diferentes dos códigos que o mesmo reconheceu anteriormente e armazenou na EEPROM do Arduino, contudo, ele vai mencionar corretamente o nome da cor que você salvou anteriormente (procedimento 3). Isto ocorre, pois existem as cores que são chamadas de matriz, e dentro de cada matriz é possível ter uma grande variação de outras cores. Exemplo: a cor verde é uma matriz e temos a cor jade que é uma variação dentro desta matriz. A cor azul é uma matriz e temos a cor azul marinho que é uma variação dentro desta matriz.

6) Mesmo desligando o Arduino, os códigos RGBs e os nomes das cores ficarão salvos na EEPROM / ROM (memória que armazena permanentemente os dados).

– Resultado final:

OBS: esta prática foi uma reprodução um tutorial publicado no site XTronical.

Gostou desta prática? Então deixa seu comentário, dúvida ou sugestão aí embaixo!

Loja online: https://www.masterwalkershop.com.br
Fan page no Facebook: https://www.facebook.com/masterwalkershop

Nos ajude a espalhar conhecimento clicando no botão de compartilhar (f Like) que está mais abaixo.

Obrigado e até a próxima!

Seu feedback é muito importante! Que tal dar uma nota para esta postagem?! Faça sua avaliação aqui embaixo.



Postagem anterior:
Próxima postagem:
Postagem feita por

Formado em Engenharia da Computação, Técnico em Eletroeletrônica, Fundador e Diretor da MasterWalker Electronic Shop. Se preocupa com o aprendizado dos seus clientes e daqueles interessados em aprender sobre Arduino e plataformas embarcadas em geral.

Existem 12 comentários para esta postagem
  1. Genilson às 19:25

    Olá. Tô tentando usar o sensor com esse código, mas não tô conseguindo calibrar. Não dá tempo de fazer a leitura da cor preta pq ele pede a cor preta e a cor branca ao mesmo tempo

    • Genilson às 19:26

      Quando eu coloco a cor preta, clico em qualquer tecla e dou enter, já termina a calibração, pois o serial já pulou pra segunda etapa. O que pode ser?

  2. leticia às 09:15

    como encontro esse sensor no fritzing? não encontro na aba de componentes

  3. Laura às 20:11

    Olá, tudo bem?
    Qual o software utilizado para fazer a representação? Não consigo encontrar o sensor de cor no ThinkerCad.

    • Euler Oliveira Autor às 08:27

      Olá Laura.

      Agradeço pelo comentário!

      Utilizamos o Fritzing.

  4. Gerson Tolentino Galvão às 10:48

    Como fica a ligação para um TCS3200 de 5 pinos cada lado?

  5. Vladimir Ribeiro às 13:21

    Boa tarde, tudo bem?
    Tenho um projeto num ESP32 e tentei aplicar essa programação nele, porém deu erro de biblioteca (FreqCount). Teria alguma outra biblioteca que pudesse contar a frequência que não seja essa?
    Abraço.

  6. João às 16:58

    Olá tudo bem? Não estou conseguindo realizar a calibração, no monitor serial aparece para inserir o objeto preto e branco ao mesmo tempo? Você sabe como eu posso resolver?

  7. William Ribeiro da Rocha às 15:42

    Boa tarde.
    Sou inexperiente em Arduino. E estou tentando usar a programação de vcs para sensor RGB, e não consigo carregar pois está dando erro “MD_TCS.h:No such file or directory”.
    E não sei oque fazer. Gostaria de uma ajuda se possível.

    • Euler Oliveira Autor às 17:34

      Olá William.

      Agradeço pelo comentário!

      No tutorial há links para download das bibliotecas necessárias para execução do código.

      Este erro que está recebendo é comum quando não é feito a instalação de bibliotecas necessárias para compilação do código na placa.