deep_sleep.py
# Ce travail est publié sous licence MIT.
# Copyright (c) 2013-2023 OpenMV LLC. Tous droits réservés.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Exemple de mode veille profonde (Deep Sleep)
# Cet exemple illustre le mode basse consommation veille profonde combiné à l'arrêt du capteur.
# Notez que la caméra redémarrera après la sortie du mode veille profonde. Pour déterminer si la cause du redémarrage
# est la veille profonde, appelez la fonction machine.reset_cause() et testez machine.DEEPSLEEP_RESET
import machine
import csi
# Créer et initialiser l'objet RTC.
rtc = machine.RTC()
# (year, month, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]])
rtc.datetime((2014, 5, 1, 4, 13, 0, 0, 0))
# Afficher les informations du RTC.
print(rtc.datetime())
csi0 = csi.CSI()
csi0.reset()
# Activer le softsleep du capteur
csi0.sleep(True)
# Contourner éventuellement le régulateur sur l'OV7725
# pour la consommation d'énergie la plus faible possible.
if csi0.cid() == csi.OV7725:
# Contourner le régulateur interne
csi0.__write_reg(0x4F, 0x18)
# Arrêter le capteur (met PWDN à l'état haut).
csi0.shutdown(True)
# Activer les interruptions RTC toutes les 30 secondes.
# Notez que la caméra REDÉMARRERA après la sortie du mode Deepsleep.
rtc.alarm(rtc.ALARM0, 30000)
# Entrer en mode Deepsleep.
machine.deepsleep()