SERVO INFRARED

Ciao a tutti

Devo controllare un servo tramite un telecomando ad infrarossi, ho utilizzato questo codice e tutto funziona alla perfezione...
il mio problema e' che il servo rimane comunque sotto tensione anche nei momenti di non utilizzo... Dato che il mio progetto finale deve funzionare 24h su 24 con batteria ricaricabile da pannello solare (quindi minimo assorbimento). E' possibile alimentare il servo solo nel momento in cui riceve il segnale in input??? grazie in anticipo....

#include <IRremote.h>
#include <Servo.h>
int RECV_PIN = 11;
Servo myservo;   

int position1;   //servo position 1
int position2;   //servo position 2
int position3;   //servo position 3
int codeValue;  
int current;     //keeps track of current servo position

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
  position1 = 0;    //default servo positon 1
  position2 = 90;   //default servo position 2
  position3 = 179;  //default servo position 3
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
  myservo.attach(9);  // attaches the servo on pin 9
  myservo.write(position3);   //start the servo out at position 3
}

void loop() {
  if (irrecv.decode(&results)) {
    codeValue = results.value;
    switch (codeValue) {
    case 16753245:    
      myservo.write(position1);
      current = position1;
      break;
    case 16736925:    
      myservo.write(position2);
      current = position2;
      break;
    case 16769565:    
      myservo.write(position3);
      current = position3;
      break;
  }
irrecv.resume(); // Receive the next value
}
}

Nel loop ci metti un servo.detach() oppure più semplicemente fai una cosa fatta bene con un transistor sull alimentazione del servo

I servo sono fatti per essere sempre alimentati. Se togli l' alimentazione e la rimetti fanno all' inizio un movimento non voluto.
Dovresti modificare i Servo sostituendo o modificando l' elettronica di controllo oppure cercare un altro attuatore.

Ciao Uwe