On Monday, September 8, 2014, I gave a presentation on Arduino Interrupts. The powerpoint presentation is available here
Code for the examples:
During and after the presentation, there was discussion about how long you could sleep using a timer or watchdog interrupt. It turns out that the 8 second watchdog timer is the longest you can go. I am working on an example of a tight loop of 8 second sleeps to achieve a 1 hour sleep before reporting accumulated results to the network.
In the three years since this presentation, I have learned that it is not a good idea to connect a mechanical switch directly to an interrupt line of a microprocessor. See this site: http://www.ganssle.com/debouncing-pt2.htm
(Thanks to Shane Trent for pointing this out).