ATtiny25: změna frekvence oscilátoru za běhu programu

Ak potrebuješ iba reagovať na stlačnenie tlačítka a na základe toho niečo spraviť a potom “uspať”, riešenie je velice že jednoduché.

V napájaní použi zapojenie odvodené od zapojenia dvojtlačítka. To znamená, že tlačítko privedie napájanie na mcu. MCU hneď po nábehu zopne FET paralelne zapojený k tlačítku (to sú rádovo desiatky mikrosekúnd). Nech mcu spraví čo má a napájací FET nech si následne vypne.
Nižšie so spotrebou už ťažko pôjdeš. Ak by si sa bál spotreby pri príliš dlhom stlačení tlačítka, kľudne to tlačítko môže pripnúť napájanie na mcu cez kondenzátor. Tým si zabezpečíš, že trvale stlačené tlačítko nebude trvalo napájať mcu.

Rozhodovacia úroveň času pre tlačítko (odozva na stlačenie) by nemala presiahnuť 20ms. Pri dlhšom reakčnom čase už má obsluha pocit, že tlačítko “blbne”. Preto je zbytočné skenovať tlačítko 1x za 100us, úplne kľudne stačí 1x za 5ms. Už len na tom znížiš priemerný aktívny prúd 50x.