Programa verificador de piezas buenas o malas

Buenas tardes a todos/as, ante todo no tengo ni idea de programación de Arduino y tengo que fabricar un dispositivo para que me seleccione que piezas son malas y buenas.

Con dos sensores sensores inductivos cuando pongo una pieza encima y presiono un pulsador me detecta si le falta una pieza u otra, dependiendo de la que le falte un motor paso a paso gira 120 grados a la derecha o 120 grados a la izquierda y cuando termina de girar vuelve a su posición media para empezar el proceso de nuevo.

La placa de Arduino seria o un Arduino UNO o un Mega 2560
Un driver TB 6600 y un motor PaP Nema17

Lo mismo es muy fácil de programar o muy difícil no lo sé, agradecería si alguien me puede echar una mano para este proyecto.

Es muy importante para mi pues no encuentro nada al respecto de lo que quiero hacer.

Sin mas un cordial saludo

No es un proyecto complicado, pero en el foro no se desarrolla código a pedido ( a menos que pagues por supuesto)
Empieza con lo simple, leer las entradas de los sensores, y cuando te surjan dudas, estamos aquí para ayudarte.
Saludos

buenas noches , a todos.

he realizado este programa que sin ponerle los botones funciona a izquierda y derecha con sus pausas pero cuando le he puesto los pulsadores que da errores y además no se como hacer que funcione para inicie con el pulsador P1 y que cuando este el interruptor P2 seleccionado gire a derecha o a la izquierda.

este es el código y el esquema que he montado no se continuar mas para que funcione como quiero me podéis ayudar.

muchas gracias

//programa izquierda derecha

#define STEP 4			    // pin STEP de A4988 a pin 4
#define DIR 5			      // pin DIR de A4988 a pin 5
#define inicio 8        // pin INICIO ciclo a pin 8
#define interruptor 9   //pin pulsador  derecha izquierda pin 9






void setup() {

  pinMode(STEP, OUTPUT);	  // pin 4 como salida
  pinMode(DIR, OUTPUT);		  // pin 5 como salida
  pinMode(inicio, INPUT);    // pin 8 pulsador inicio
  pinMode(interruptor, INPUT);    //pin 9 interruptor 

}

void loop()
 {

  int estadoP1 = digitalRead(inicio);          //pulsaodr de inicio
  int estadoP2 = digitalRead(interruptor);    // pulsador de izquierda-derecha
  delay(100);           // anti rebote del pulsador
  if(estadoP1 == 0);
  if (estadoP2 == 0);
  }
  {

  // giro a izquierdas
  digitalWrite(DIR, LOW);		// giro en un sentido
  for(int i = 0; i < 80; i++){   	// 200 pasos para motor
    digitalWrite(STEP, HIGH);     	// nivel alto
    delay(10);			  	// por 10 mseg
    digitalWrite(STEP, LOW);      	// nivel bajo
    delay(10);			  	// por 10 mseg
  }
  delay(2000);			  	// demora de 2 segundos



  digitalWrite(DIR, HIGH);	  	// giro en sentido opuesto
  for(int i = 0; i < 80; i++){
  digitalWrite(STEP, HIGH); 
  delay(10);
  digitalWrite(STEP, LOW);
  delay(10);
  }
  delay(2000);			  	// demora de 2 segundos
}

// giro a derechas

digitalWrite(DIR, HIGH);		// giro en un sentido
  for(int i = 0; i < 80; i++){   	// 200 pasos para motor
    digitalWrite(STEP, HIGH);     	// nivel alto
    delay(10);			  	// por 10 mseg
    digitalWrite(STEP, LOW);      	// nivel bajo
    delay(10);			  	// por 10 mseg
  }
  delay(2000);			  	// demora de 2 segundos



  digitalWrite(DIR, LOW);	  	// giro en sentido opuesto
  for(int i = 0; i < 80; i++){
  digitalWrite(STEP, HIGH); 
  delay(10);
  digitalWrite(STEP, LOW);
  delay(10);
  }
  delay(2000);			  	// demora de 2 segundos

Así como las has escrito (con ; al final), esas 2 líneas no hacen nada

if(estadoP1 == 0);
if (estadoP2 == 0);

Moderador
A ver esta es una sección para relacionarse con la gente por el motivo que sea, no para llevar adelante un trabajo.
Ve a Software y crea un hilo como corresponde, explicando lo mismo que aquí dejando de lado que buscabas alguien que te lo hiciera.
Pega el código usando etiquetas de acuerdo a esto y por favor, lee las Normas del foro y publica/edita tu código/error usando etiquetas de código.
Ve a edición, luego selecciona todo el código que has publicado/editado, lo cortas y click en (<CODE/>)

Moderador
Hilo movido a software