Software / Watchdog e risparmio energetico ATtiny85

Ottimo consiglio Leo72, che svista. non me ne ero proprio accorto!
Ho fatto qualche modifica al codice e ora sembra fare quello che voglio, devo solo ricontrollare i tempi ma è un problema secondario.
Questo è il codice che utilizzo ora, nei commenti ci sono alcune note o domande che vorrei farvi.

//sapevo che alcuni compilatori escludevano direttamente le librerie che difatto non venivano usate 
//funziona lo stesso per il compilatore di Arduino ? 
#include <Arduino.h>
#include <WProgram.h> 
#include <avr/sleep.h>
#include <avr/interrupt.h>
#include <avr/wdt.h>
#include <avr/power.h>
//variabili
int out1 = A2;
int out2 = A3;
byte statouscita = 1;
int t = 0; //primo counter per tenere acceso un led 1 minuto
volatile unsigned int counter = 0;
volatile byte flag = 0;

void setup() 
{        
  MCUSR = 0; //resetta il registro di stato della MCU
  wdt_disable(); //disattiva il watchdog  
  pinMode(out2, OUTPUT);
  pinMode(out2, OUTPUT);
  setWdt(); //imposta il watchdog
  set_sleep_mode(SLEEP_MODE_PWR_DOWN);
}


void loop() 
{
  power_all_disable();
  sleep_mode(); //cpu a nanna - corrisponde a sleep_enable+sleep_cpu+sleep_disable
  power_all_enable();
  //"punto cruciale"
  if (flag)
  {
    wdt_disable();
    counter = 0;
    flag = 0;
    statouscita ^= 1; //cambio lo stato al led
    digitalWrite(out1, statouscita);
    if(t==10) 
    {
      digitalWrite(out1,LOW);
      digitalWrite(out2,HIGH);
      delay(5000);
      digitalWrite(out2,LOW);
      t=0;
    }
    setWdt(); //reimposta il watchdog
  }
}

void setWdt() {
  SREG &= ~(1<<SREG_I); //disattiva tutti gli interrupt
  //imposta il registro del watchdog
  WDTCR  |= ((1<<WDCE) | (1<<WDE)); //qui è il watchdog time control registrer di cui parlavo
  //imposta la modalità "interrupt" ed il timeout ad 1 secondo
  WDTCR  = ((1<<WDIE)| (1<<WDP2) | (1<<WDP1)); 
  SREG |= (1<<SREG_I); //riattiviamo gli interrupt globali
}
// come funziona esattamente questo punto ? io sfrutto questo "clock" per incrementare il contatore che mi permette di spegnere il led1 e accendere il led2 ad un certo momento.
ISR(WDT_vect) {
  if (++counter >= 1) { //impostare qui il numero di timeout (secondi) - timeout di cosa?
    flag = 1;
    t++;
  }
}

allora sfutto l'occasione per farti i complimenti per l'ottimo materiale online!