Mover motor cc usando sensor óptico CNY70 como interruptor

Buenas, soy nuevo en estos temas y necesito un poco de ayuda para sacar adelante un proyecto con arduino. Tengo un dispositivo con una pieza que realiza un movimiento, lo que quiero es utilizar un sensor CNY70 para detectar la pieza cuando pase y que dé la orden de ponerse en marcha un pequeño motor de cc, que deberá detenerse pasado un tiempo. Tengo que hacer varias pruebas para determinar como funciona mejor el sistema, por lo que necesito que la intensidad con la que se alimenta dicho motor se pueda variar, así como poder adelantar o atrasar la puesta en marcha y la parada del motor. Si es necesario, podría ayudar económicamente a quién me echara una mano. Un saludo.

Yo estoy en algo parecido.De momento estoy haciendo pruebas con un integrado L293D que ademas de manejar motores paso a paso permite el control de motores dc en ambos sentidos,parada del motor y variar su velocidad.

Hola, jose, gracias por la respuesta. Sabes qué tengo que escribir para poder controlar los parámetros de funcionamiento, es que ando la mar de perdido. Un saludo.

Eso ya son palabras mayores.....te pongo un ejemplo muy sencillo de prueba que me hice para el integrado L293D y un motor cc de una impresora que se enciende dos segundos ,para dos segundos mas y se enciende en sentido contrario otros dos segundos:

//-----------------------------------------------constantes---------------------------------------------------------------

int const PIN_ENABLE = 5 ;
int const PIN_IN1 = 8 ;
int const PIN_IN2 =12 ;

//------------------------------------------variables globales------------------------------------------------------------



//------------------------------------------------setup()-----------------------------------------------------------------

void setup(){
  pinMode(PIN_IN1, OUTPUT);
  pinMode(PIN_IN2, OUTPUT);
  pinMode(PIN_ENABLE, OUTPUT);  
}

//-------------------------------------------------loop()-----------------------------------------------------------------
void loop() { 
  digitalWrite(PIN_IN1, LOW);
  digitalWrite(PIN_IN2, HIGH);
  delay(2000);
  digitalWrite(PIN_IN2,LOW);
  delay(2000);
  digitalWrite(PIN_IN1, HIGH);
  digitalWrite(PIN_IN2, LOW);
  delay(2000);
  digitalWrite(PIN_IN2,HIGH);
  delay(2000);
  
}

Tendras que averiguar como trabaja ese sensor para poder recoger las señales y usarlas en el sketch.

y un esquema del integrado ,con el que puedes manejar dos motores cc en dos sentidos,cuatro en una sola direccion y uno pap: