deep_sleep.py
# Esta obra está licenciada bajo la licencia MIT.
# Copyright (c) 2013-2023 OpenMV LLC. Todos los derechos reservados.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Ejemplo de modo Deep Sleep
# Este ejemplo demuestra el modo de bajo consumo deep sleep junto con el apagado del sensor.
# Tenga en cuenta que la cámara se reiniciará después de despertar del deep sleep. Para averiguar si la causa del reinicio
# es el deep sleep, llame a la función machine.reset_cause() y compruebe si es machine.DEEPSLEEP_RESET
import machine
import csi
# Crear e inicializar el objeto RTC.
rtc = machine.RTC()
# (year, month, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]])
rtc.datetime((2014, 5, 1, 4, 13, 0, 0, 0))
# Imprimir información del RTC.
print(rtc.datetime())
csi0 = csi.CSI()
csi0.reset()
# Habilita el softsleep del sensor
csi0.sleep(True)
# Opcionalmente, evita el regulador en el OV7725
# para obtener el menor consumo de energía posible.
if csi0.cid() == csi.OV7725:
# Evita el regulador interno
csi0.__write_reg(0x4F, 0x18)
# Apagar el sensor (pone PWDN en alto).
csi0.shutdown(True)
# Habilitar interrupciones del RTC cada 30 segundos.
# Tenga en cuenta que la cámara se REINICIARÁ después de despertar del modo Deepsleep.
rtc.alarm(rtc.ALARM0, 30000)
# Entrar en modo Deepsleep.
machine.deepsleep()