Urm e servo

Ciao a tutti,

ho un problema con un sensore a ultrasuoni URM37 V3.2 e il servo pan/tilt bracket che vende sparkfun.

#include "URMSerial.h"
#include "Servo.h"
#define DISTANCE 1
#define TEMPERATURE 2
#define ERROR 3
#define NOTREADY 4

URMSerial urm;
Servo ax;
Servo ay;

void setup() {
  Serial.begin(57600);  
  urm.begin(2,3,9600); 
  ax.attach(9);
  ay.attach(11);
}

void loop() {
  ax.write(74);
  ay.write(20);
  urm.requestMeasurement(TEMPERATURE);
  Serial.print("Measurement: ");
  Serial.println(getMeasurement());  
}


int value; 
int getMeasurement()
{
  switch(urm.requestMeasurementOrTimeout(DISTANCE, value)) 
  {
  case DISTANCE: 
    return value;
    break;
  case TEMPERATURE:
    return value;
    break;
  case ERROR:
    Serial.println("Error");
    break;
  case NOTREADY:
    Serial.println("Not Ready");
    break;
  case TIMEOUT:
    Serial.println("Timeout");
    break;
  } 

  return -1;
}

In pratica quando accendo anche il sensore ad ultrasuoni come nel codice qui sopra,
i servi 'scattano' di 1-2 posizioni avanti e indietro continuamente. Invece, se il sensore
non è presente, funzionano normalmente. Ho un I/O 5V Shield.

Mi sa un disturbo sul alimentazione. Alimenta i servo con una alimentazione indipendente da quella del resto dell elettronica.
L'alimentazione dei servo dai 5V del Arduino é comunque un problema perché i servo assorbono tanto.
Ciao Uwe

I servi sono alimentati esternamente grazie allo shield, e infatti se il sensore ad ultrasuoni è pur collegato ma nel codice non è utilizzato, i servi non scattano.