Còmo controlar varios servos mediante un sensor inductivo y un sensor de presenc

Hola, saludos.

Tengo algunas dudas con respecto a mi programa y no sè si estoy bien, ademàs que no me compila.
El programa debe realizar que mediante un sensor inductivo NPN LJ12A3-4-Z/BX detecte un material metàlico los servos se deben mover en cierta direcciòn y despues ir a otra direcciòn; y de no ser asì con el sensor de presencia los servos deben moverse en otra direcciòn y depues en otra direcciòn.

Los grados de los servoos son asì:

Sensor inductivo al detectar un material mètalico:

Servo 1= 0
Servo 2= 100
Servo 3= 100, 0
Servo 2= 60
Servo 1= 100
Servo 2= 100
Servo 3= 100, 0
Servo 2= 60

Sensor de presencia cuando detecte un objeto:

Servo 1= 0
Servo 2= 100
Servo 3= 100, 0
Servo 2= 60
Servo 1= 70
Servo 2= 100
Servo 3= 100, 0
Servo 2= 60

La programaciòn que tengo es la siguiente:

int sensor_inductivo = 12; // Pin digital para el cable negro del sensor 
int led = 10; // Pin digital para el LED
const int PIRPin= 9;//Pin digital para señal del sensor 
#include <Servo.h>
Servo servo1;
Servo servo3;
Servo servo2; 
 void setup() 
 {
   servo1.attach(3);
   servo3.attach(6);
   servo2.attach(4);
   pinMode(sensor_inductivo,INPUT); // Pin digital 12 como entrada
   pinMode(led,OUTPUT); // Pin digital 10 como salida
   pinMode(PIRPin,INPUT);//Pin digital 9 como salida
 }
 
 void loop()
 {
   // Cuando el sensor inductivo detecta un metal ferroso
   if(digitalRead(sensor_inductivo) == HIGH) 
   {
     digitalWrite(led, HIGH);
     for (int pos = 0; pos < 180; pos += 100)
     { servo1.write(0);
     servo2.write(100);
     servo3.write(map (pos, 100, 70, 40, 20, 0));
     servo2.write(60);
     delay(3000); }
     for (int pos = 100; pos < 180; pos += 100)
     { servo1.write(100);
     servo2.write(100),
     servo3.write(map (pos, 85, 65, 45, 0));
     servo2.write(60);
     delay(3000); }
   }
   // Si no lo detecta
   else
   {
     digitalWrite(led, LOW);   
   }


 int value= digitalRead (PIRPin);
 if (value == HIGH)
{
 digitalWrite(led, HIGH);
for (int pos = 0; pos < 180; pos += 100)
{ servo1.write(0);
 servo2.write(100);
 servo3.write(map (pos, 100, 70, 40, 20, 0));
 servo2.write(60);
 delay(3000); } 
for ( int pos = 60; pos < 180; pos += 100)
{ servo1.write(60);
servo2.write(100);
servo3.write(map (pos, 85, 65, 45, 0));
servo2.write(60);
delay(3000); }
else
{
 digitalWrite(led, LOW);  
}
 }

Les agradecerìa mucho su ayuda.
Saludos.

Yo también tengo un problema con la programación de mi proyecto necesitó que al pulsar el pulsador el servo1 vaya a 180 y luego a 0 luego el Servo 2 a 180 luego a 0 y así sucesivamente hasta llegar al Servo 5 y se detengan los servos hasta volver a pulsar el pulsador serían tan amables de ayudarme muchas gracias

@ Richisito. Y crees que regando tu mensaje por todo el foro te van a hacer tu tarea, reviviste mas de 5 hilos viejos solo por tu desesperación, creo que andas muy perdido, este foro es de ayuda no de pedidos a medida

Suspención x 24 hs por 6 hilos viejos revividos.