Power Saving e Sleep Mode su ATtiny85

Ciao
ho un ATtiny85.
E’ la prima volta che uso la SLEEP MODE per risparmiare più corrente possibile
Il progetto si tratta di una pompa automatica dosatrice che va a batterie: imposto il tempo di attivazione della pompa con un trimmer letto con l’ analogRead.
Il sistema va in sleep mode per 24hr dopo il dosaggio. Quindi ho un dosaggio al giorno.

Potete per favore dirmi se il seguente codice è efficiente e se la modalità sleep è stata propriamente settata?

Nota: non ci sono interrupts. Se voglio cambiare il tempo d’attivazione della pompa, giro il trimmer e resetto la board con un interruttore esterno.

#include <avr/sleep.h>
#include <avr/wdt.h>
#define PUMP 0

// sleep bit patterns:
//  1 second:  0b000110
//  2 seconds: 0b000111
//  4 seconds: 0b100000
//  8 seconds: 0b100001

ISR(WDT_vect){
  wdt_disable();
  }

void WatchDog(const byte interval){
  noInterrupts();
  wdt_reset();
  MCUSR = 0;                          // reset various flags
  WDTCR |= 0b00011000;               // see docs, set WDCE, WDE
  WDTCR =  0b01000000 | interval;    // set WDIE, and appropriate delay
  ADCSRA &= ~_BV(ADEN);
  set_sleep_mode (SLEEP_MODE_PWR_DOWN);
  sleep_bod_disable();
  interrupts();
  sleep_mode();     
  }

void setup(){
pinMode (0, OUTPUT); //pin for pump
pinMode (A1, INPUT); //pin for read a trimmer resistor
}

void loop(){
  int timedelay= 10*analogRead (A1); //set time of pump activation range from 0 to 10.230 millisec
  digitalWrite (PUMP, HIGH); //piump on..
  delay (timedelay);   //..for this time..
  digitalWrite (PUMP, LOW); //..then off.
  for (int i = 0; i < 10800; i++){   
  WatchDog (0b100001);  //10800 * 8 sec = 24hr
  }
}