Problema Arduino uno R3 e sensori di flessione

Ho visto il filmato, bella la manina :grin:
Il limite minimo e massimo dei servi sono 0 e 180, li puoi limitare anche con la funzione costrain.
Devi stabilire con lo sketch che ti ho proposto il minimo e il massimo di ogni dito (valori del sensore) da mettere nella funzione map e li inserisci in questo sketch modificando i valori attuali.

#include <Servo.h> 

// Dichiarazione servo 
Servo servo1;  
Servo servo2;  
Servo servo3;
Servo servo4;
Servo servo5;

int flex1 = 5;  // ingresso analogico per sensori di flessione 
int flex2 = 4;
int flex3 = 3;
int flex4 = 2;
int flex5 = 1;
int val;         // lettura valori sensori

void setup() 
{ 
  Serial.begin(9600);  //connessione pc e arduino
  servo1.attach(6);  //  pollice 
  servo2.attach(5);  // indice
  servo3.attach(3);  //medio
  servo4.attach(4);  //anulare
  servo5.attach(2); //mignolo
} 

void loop() 
{ 
  val = analogRead(flex1);                // valore sensore letto e appreso                  POLLICE
  Serial.println(val);                        // elaorazione valore sensore
  val = map(val, 50, 600, 0, 180);     // Verificare minimo e massimo del sensore del dito POLLICE
  val = costrain(val, 0, 180);            // impedisce fuoricorsa  
  servo1.write(val);                        // lettura parametri 
  delay(15);                           
  
  val = analogRead(flex2);              
  Serial.println(val);                      
  val = map(val,50, 300, 0, 180);    // Verificare minimo e massimo del sensore del dito INDICE    
  val = costrain(val, 0, 180);          // impedisce fuoricorsa    
  servo2.write(val);                       
  delay(15);       
  
  val = analogRead(flex3);               
  Serial.println(val);                  
  val = map(val, 50, 100, 0, 180);  // Verificare minimo e massimo del sensore del dito  MEDIO
  val = costrain(val, 0, 180);         // impedisce fuoricorsa       
  servo3.write(val);                    
  delay(15);  
  
  val = analogRead(flex4);              
  Serial.println(val);                 
  val = map(val, 50, 500, 0, 180);       // Verificare minimo e massimo del sensore del dito ANULARE
  val = costrain(val, 0, 180);              // impedisce fuoricorsa        
  servo4.write(val);                    
  delay(15);  
  
  val = analogRead(flex5);  
  Serial.println(val);                 
  val = map(val, 50, 300, 0, 180); // Verificare minimo e massimo del sensore del dito  MIGNOLO
  val = costrain(val, 0, 180);             // impedisce fuoricorsa     
  servo5.write(val);                    
  delay(15);  
}