Duda sensor de color con Atmega16

Buenas noches.

Soy estudiante de ingenieria electronica y como proyecto de microcontroladores, debo hacer un parqueadero el cual dependiendo del color del carro lo ubique automaticamente en un lugar acorde a su color el carro. Los colores de los carros son rojo, verde y azul entonces mirando en la web encontre un sensor de colores el TCS3200D.

Por lo que he podido entender del sensor en su datasheet, este basicamente dependiendo del color al cual sea expuesto entrega un pulso a cierta frecuencia, eso si antes toca establecer el tipo de fotodiodo que se vaya a usar(rojo,azul o verde).

El motivo de mi consulta en el foro es:
Del sensor me quedan muchas dudas y quiero saber si alguien lo ha usado antes para que me explique como por medio de un codigo en C puedo leer esos pulsos a diferentes frecuencias que proceden del sensor, osea como puedo en el atmega16 hacer un cas(if, case o cualquier otro bucle) para cada tipo de frecuencia que me envie el sensor y asi establecer que color es, porque la verdad no tengo mucho conocimiento sobre el atmega16 como frecuenciometro.
O si alguien ha usado un sensor de color que me recomiende tambien agradeceria su ayuda.

Si mi duda no quedo clara, hago un ejemplo a continuacion:

if(portb==1) //El color es verde
elseif(portb==2) //El color es rojo
else //El color es azul

Quiero saber como por medio de un codigo y con la señal que me envia el sensor saber que color es.

Gracias

Gracias.
 
Leyendo así muuuy por arriba el datasheet no parece muy difícil usar el sensor.

Configuración del sensor:

  1. Escala de frecuencia de salida según el consumo. Eso lo haces con los puertos S0 y S1.
  2. Filtro para detectar un color determinado. Eso lo haces con los puertos S2 y S3.

Luego deberás sensar la frecuencia de salida, eso lo podrías hacer conectando dicha salida a un puerto con interrupción externa que verifique la presencia de dicha frecuencia mediante un contador.

Mi recomendación es que trabajes a baja velocidad así la frecuencia de salida es de 19kHz máximo, en estas condiciones S0=L S1=H.
 
No entiendo para que quieres usar el atmega si no saber programarlo. Para usar ese sensor de color debes conocer bien programación ( cosa que yo no se por lo cua, lo tengo y no he podido usarlo).
Me parece que en ese proyecto lo mas difícil sería la parte contructiva, óptica, etc. y para ello usaría tres leds de los diferentes colores o uno RGB que se encenderían secuencialmente y un fototransistor que detecte el reflejo. El reflejo mayor correspondería al color igualado al led encendido. Buscá por allí la solución.
 
Última edición:
Atrás
Arriba