Narcoleptic
É logico que não seria útil usar o Arduino se não houvesse um mode de despertá-lo novamente! Há dois métodos para acordar um Arduino. Um é usando uma interrupção externa e outro é programando um temporizador para acordar o Arduino após um determinado tempo. A biblioteca Narcoleptic utiliza apenas o método do temporizador.
A biblioteca Narcoleptic fornece uma função delay alternativa que coloca o Arduino para dormir por um período de tempo que é especificado como parâmetro da função delay. Como nada acontece enquanto o Arduino está em delay, esse método funciona muito bem.
Uma versão Narcoleptic do blink seria essa:
#include <Narcoleptic.h>
void setup()
{
pinMode(13, OUTPUT);
}
void loop()
{
digitalWrite(13, HIGH);
Narcoleptic.delay(1000);
digitalWrite(13, LOW);
Narcoleptic.delay(10000);
}
A grande diferença do uso da biblioteca Narcoleptic e o uso da própria função delay. Ao medir o consumo de corrente verifica-se que usando o sketch blink normal, o consumo é de 17,2mA e o uso do blink Narcoleptic cai o consumo aos poucos 3,2 mA.
OBS: Biblioteca Narcoleptic