Detectar fonte de alimentação do arduino via software

Olá, Estou desenvolvendo um projeto com Arduino UNO e ele não pode ser desligado (Deve funcionar 24hrs)!

Para isso usarei alimentação de uma fonte externa e uma bateria (que será usada quando a fonte externa desligar). Quando a alimentação estiver sendo fornecida pela bateria, o Arduino deve entrar em modo SLEEP.

Tendo isso em vista, gostaria de saber se tem como detectar se a alimentação está ocorrendo via USB ou Jack através da programação no sketch?