OTCS3200D e um sensor estatico de cor. Ele possui 16 foto transistores comfiltro Vermelho (R), 16 com filtro Verde (G), 16 com filtro para azul(B)e 16 sem filtro (branco). Os filtros impedem a passagem das demais corespermitido que o fototraisistor seja excitado apenas pela luz quista. Atraves dedois pinos e possivel selecionar qual grupo de fototransistor estaraativo e consequentemente qual luz sera captada pelo sensor. A saida do sinal nosensor em uma onda quadra com frequencia proporciona a intensidade dacor medida R, G, B, W.O sensorComo mencionado naintroducao o sensor e basicamente constituido por quatro grupos defototrasistores tres desses grupos com filtros.Osfototransistores sao simplificadamente, transistores cujas bases saoexpostas. A incidencia de luz sobre a base faz com que o transistor conduza. A variacaodessa luz provoca variacao proporcional na corrente que circula nofototransistor ate o limite de saturacao. Colocando um filtro que so deixepassar luz vermelha, por exemplo, apenas a luz vermelha fara conduzir ofototransistor. Entao a corrente que circula no fototransistor sera funcao daluz vermelha sobre ele.E issoque ocorre no sensor, Um grupo de sensores nao tem filtro algum o que o torna sensivela toda luz que incida sobre ele e cada um dos tres outros grupos de sensores edotado de filtro para uma determinada cor de luz vermelho, verde e azul.Atravesdos pinos S2 e S3 e possivel selecionar qual grupo de fototransistores estaraativo e consequentemente qual luz o sensor estara medindo e mostrando em suasaida. A tabela ao lado mostra as combinacoes destes pinos e o respectivossensores selecionados.Outra possibilidade de configuracao do sensore escalonar a frequencia de saida escolhendo atraves dos pinos S0 e S1. Atabela ao lado mostra as combinacoes destes pinos e as respectivas escalas.Recebendo os dados do sensorA saidado sensor e uma onda com frequencia diretamente proporcional a intensidade dacor medida naquele instante. Queremos obter a frequencia em ciclos por segundo.Como se trada de uma onda quadrada com "duty cicle" de 50% (metade dociclo em nivel alto e metade em nivel baixo). Entao o programa deve contartodos os ciclos que ocorrem em um segundo. Ou estimar contando por 1/2 segundoe multiplicando por 2.Uma formade contar os ciclos para determinar a frequencia e usando uma interrupcaoexterna e um timmer o timer e setado para um segundo, por exemplo, e duranteesse tempo uma variavel e incrementada toda vez que a saida do sensor ligada aopino de interrupcao correspondente sai do nivel baixo para o alto.Parareceber os dados do sensor deve-se selecionaro filtro atraves de S1, S2, S3 e S4 conforme a tabela abaixo e recebere decodificar a informacao sobre a cor selecionada atraves do pino OUT.O programa para o arduino mostrado abaixo foiadaptado do programa encontrado neste site. usa a solucao timme e interrupcao externa.O programa para processing foi escrito suando como base o exemplo que acompanhaa IDE do arduino "Arduino call response". Na primeira leitura oprograma ajusta o balanco de branco, por isso e importante expor o sensor areferencia de branco ao iniciar o arduino. No video eu coloco uma folha embranco sobre o sensor ao iniciar o arduino para ter esta referencia.Codigo para o Arduino:// este codigo e