The timer and interrupt work, but I do not believe that my device is actually going to sleep. How I understand it, the command sleep_mode() should take the duration that the device is sleeping for, however mine only takes a millisecond or so.
Does anyone else have any experience with this? Any help would be appreciated.
How I understand it, the command sleep_mode() should take the duration that the device is sleeping for
No, it just puts the Arduino to sleep mode. You have to ensure that it wakes up again. Usually this is done by an interrupt which may have different sources. If you're interested in that, take a look at Nick Gammon's page about the topic: