deep_sleep.py
# هذا العمل مرخص بموجب ترخيص MIT.
# حقوق النشر (c) 2013-2023 OpenMV LLC. جميع الحقوق محفوظة.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# مثال على وضع السكون العميق (Deep Sleep Mode)
# يوضح هذا المثال وضع السكون العميق منخفض الطاقة بالإضافة إلى إيقاف تشغيل المستشعر.
# لاحظ أن الكاميرا ستُعاد تشغيلها بعد الاستيقاظ من السكون العميق. لمعرفة ما إذا كان سبب إعادة التشغيل
# هو السكون العميق، استدعِ الدالة machine.reset_cause() واختبر القيمة machine.DEEPSLEEP_RESET
import machine
import csi
# إنشاء كائن RTC وتهيئته.
rtc = machine.RTC()
# (year, month, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]])
rtc.datetime((2014, 5, 1, 4, 13, 0, 0, 0))
# طباعة معلومات RTC.
print(rtc.datetime())
csi0 = csi.CSI()
csi0.reset()
# تفعيل وضع السكون الناعم (softsleep) للحساس
csi0.sleep(True)
# تجاوز المنظّم اختياريًا على OV7725
# للحصول على أقل استهلاك طاقة ممكن.
if csi0.cid() == csi.OV7725:
# تجاوز المنظّم الداخلي
csi0.__write_reg(0x4F, 0x18)
# إيقاف تشغيل المستشعر (يرفع PWDN إلى مستوى عالٍ).
csi0.shutdown(True)
# تفعيل مقاطعات RTC كل 30 ثانية.
# لاحظ أن الكاميرا ستُعاد تشغيلها (RESET) بعد الاستيقاظ من وضع السكون العميق (Deepsleep Mode).
rtc.alarm(rtc.ALARM0, 30000)
# الدخول في وضع السكون العميق (Deepsleep Mode).
machine.deepsleep()