Про сон уже написали. Если нужно именно полное отключение - поставить в разрыв питания транзистор, управление им завести на один из пинов ардуины, а параллельно этому пину - кнопку без фиксации.
Нажимаем кнопку, транзистор открывается, контроллер первым делом подхватывает управление питанием, после отпускания кнопки транзистор остаётся открытым. Когда нужно программно выключиться, просто отключаем пин.
Если нужно во включённом состоянии следить за нажатиями кнопки, нужно отвязать её от транзистора через диод и завести сигнал непосредственно с кнопки на другой пин.