ATtiny titta på Core (3 / 9 steg)
Steg 3: Power ner, WDT och tid
När MCU och OLED på den förbrukar ca 6 mA.
För att göra klockan kan köra över 1 år, jag kommer att använda MCU de flesta energisparläge sömn, SLEEP_MODE_PWR_DOWN, när användaren inte används. Enligt min billiga power meter, det visar 0,1 uA om stänga av funktionen. Men det återstår att aktivera WDT för tidhållning, efter aktivera WDT, det Visa 4 uA. Antar MCU och OLED auto sömn efter 5 sekunder och användarvy klockan 12 gånger varje dag i genomsnitt, klockan kommer att konsumera om 0.2 mAh per dag. ((0,004 mA * 24 timmar) + (6 mA * (5 / 60 / 60) timmar * 12)) Så kan en 150 mAh CR2025-batteri köras 750 dagar.
Tid källkoden kommer huvudsakligen från PaulStoffregen. Men kraften ner viloläge kommer att stoppa normala timern, användning millis() funktion för tidhållning är inte giltig. Så hålla jag en annan variabel om du vill ersätta millis() funktion. För varje WDT avbrott öka det ett visst värde. Ökningsvärdet beror på de WDT inställningarna och chip's oscillator. När du använder 1 andra WDT avbrott, är mitt chip kalibrerad ökningsvärdet 998 (runt 1000 millisekunder).
Och även jag har lagt till funktionen readVcc() för att kontrollera batteriets status.
Ref.:
WDT och makt med: http://www.re-innovation.co.uk/web12/index.php/en...
då funktionen för Arduino v1.4: https://github.com/PaulStoffregen/Time
readVcc: http://www.re-innovation.co.uk/web12/index.php/en...