deep_sleep.py
# Questo lavoro è concesso in licenza MIT.
# Copyright (c) 2013-2023 OpenMV LLC. Tutti i diritti riservati.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Esempio di modalità Deep Sleep
# Questo esempio dimostra la modalità deep sleep a basso consumo insieme allo spegnimento del sensore.
# Nota: la fotocamera si riavvierà dopo il risveglio dal deep sleep. Per scoprire se la causa del reset
# è il deep sleep, chiama la funzione machine.reset_cause() e verifica machine.DEEPSLEEP_RESET
import machine
import csi
# Crea e inizializza l'oggetto RTC.
rtc = machine.RTC()
# (year, month, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]])
rtc.datetime((2014, 5, 1, 4, 13, 0, 0, 0))
# Stampa le informazioni RTC.
print(rtc.datetime())
csi0 = csi.CSI()
csi0.reset()
# Abilitare il softsleep del sensore
csi0.sleep(True)
# Opzionalmente, bypassare il regolatore sull'OV7725
# per il minor consumo energetico possibile.
if csi0.cid() == csi.OV7725:
# Bypassare il regolatore interno
csi0.__write_reg(0x4F, 0x18)
# Spegni il sensore (porta PWDN a livello alto).
csi0.shutdown(True)
# Abilita gli interrupt RTC ogni 30 secondi.
# Nota: la fotocamera si RIAVVIERÀ dopo il risveglio dalla modalità Deepsleep.
rtc.alarm(rtc.ALARM0, 30000)
# Entra in modalità Deepsleep.
machine.deepsleep()