Que sensor usar para calcular la desviación en una mini-cinta transportadora

Buenas,

Estoy haciendo un proyecto de una mini-cinta transportadora que tiene que calcular la desviación del objeto a transportar.

Como soy muy nuevo en temas de Arduino la duda inicial que tengo es que sensor elegir, para intentar aclarar el tema os pongo una imagen.

Como podéis apreciar en ella tengo una zona optima de 48 mm y luego mediría la desviación 1, 2 y 3 por cada lado y una cuarta que estaría fuera de rango pero que tengo que conocerla también.
Por lo tanto estamos hablando de 9 sensores que deben de marcar que han visto pasar al objeto y dependiendo de los sensores que marquen así conoceré la posición del objeto, si está centrado o desviado 1 posición, 2, 3 o simplemente esta fuera de posición.

Inicialmente después de leer mucho había pensado en dos tipos de sensores uno infrarrojos y otro el CNY70, pero no sé si estos son simétricos o si su haz de acción se metería dentro de la desviación vecina y me daría falsas mediciones. Cual creéis que es mejor para este caso en concreto de estas dos opciones o cualquier otra que yo desconozco.
La idea es que al pasar un objeto se encienda un led avisando de la posición del objeto y además lo incluya en una variable para poder consultar las posiciones en un momento dado.

Las medidas máximas de los objetos a transportar son aproximadamente de 43 mm tanto en ancho como en alto.
Por si es de interés, los objetos serán en un 99% blancos, amarillos y el color de la cinta verdes.

Muchísimas gracias.
Ya os vendré con más dudas sobre el proyecto seguro que soy muy nuevo.

El sensor CNY70 funciona hasta 1cm esa distancia es suficiente para tu objetivo?

Necesitaría como mínimo 20 mm y una distancia normal podían ser los 40 mm aproximadamente.

Ahora comprendo tu idea.
Se trata de un grafico de perfil, y tus sensores estarán a ambos lados de la cinta esableciendo si el objeto esta centrado o desviado en la banda 1,2 o 3.
Si es asi es muy fácil.
Supongo que da igual que sea 1 a izq o derecha y lo mismo con 2 y 3, asi que tendras 6 sensores en parejas.
De acuerdo al arduino que uses esto te consumirá 6 pines configurados como entradas.
Luego de definirlos por ejemplo asi.

// dispongo los sensores de a pares.
// sensor[0] y sensor[1] son los de la posición 1
// sensor[2] y sensor[3] son los de la posición 2
// sensor[4] y sensor[5] son los de la posición 3

const byte sensor[6] = {2,3,4,5,6,7};
bool estado1, estado2, estado3;

void setup() {
  for (int i=0; i<6; i++) {
      pinMode(i, INPUT);
  }
}

void loop() {
  estado1 = sensor[0] | sensor[1];  // serán 1 o 0
  estado2 = sensor[2] | sensor[3];  // 1 si hay objeto
  estado3 = sensor[4] | sensor[5];  // 0 si no hay objeto

  if (estado1) 
     // tomo la decisión por desvío 1
    digitalWrite(pinRele1, HIGH);
 else
    digitalWrite(pinRele1, LOW);


  if (estado2) 
     // tomo la decisión por desvío 2
    digitalWrite(pinRele2, HIGH);
 else
    digitalWrite(pinRele2, LOW);


  if (estado3) 
     // tomo la decisión por desvío 3
    digitalWrite(pinRele3, HIGH);
 else
    digitalWrite(pinRele3, LOW);
}

Si efectivamente es así. Muchísimas gracias.

Inicialmente no me importa que vayan por parejas.
Para tener todo controlado habría que añadir una cuarta pareja que es cuando esta fuera de rango y otro individual mas, que es cuando va centrado, así luego puedo sacar porcentajes.

En un futuro la idea es seguir avanzando y que ya no sean pares, que sean de forma individual para conocer donde se desvían mas si hacia la derecha o la izquierda, pero esto a futuro.

Lo importante ademas de la programación es saber con que sensor hacerlo... y parece que el CNY70 no me va a valer.... cual podría poner para estas distancias y que no fuera excesivamente caro y sea simétrico para hacer buenas mediciones.

El cny70 puede funcionar solo que nos has dado datos al respecto. Debes hacer pruebas con los objetos

ok, haré pruebas, aunque tardaré algo de tiempo.

lo que dudo es si el CNY70 tiene solamente 1cm no creo que sea suficiente.

cuando lo pruebe ya os diré como va la cosa, ahora toca ver como hacer circuitos y todo, que soy muy nuevo con Arduino y voy paso a paso.

Muchas gracias por el interes.