vsync_gpio_output.py
# هذا العمل مرخص بموجب ترخيص MIT.
# حقوق النشر (c) 2013-2023 OpenMV LLC. جميع الحقوق محفوظة.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# مثال مخرج GPIO لإشارة VSYNC.
#
# يوضح هذا المثال كيفية تبديل حالة دبوس عند مقاطعة VSYNC.
import csi
import time
from pyb import Pin
csi0 = csi.CSI()
csi0.reset() # إعادة ضبط المستشعر وتهيئته.
csi0.pixformat(csi.GRAYSCALE) # تعيين تنسيق البكسل إلى RGB565 (أو GRAYSCALE)
csi0.framesize(csi.QVGA) # تعيين حجم الإطار إلى QVGA (320x240)
# سيتم تبديل هذا الدبوس بين التشغيل والإيقاف عند حواف VSYNC الصاعدة والهابطة.
led_pin = Pin("LED_BLUE", Pin.OUT_PP, Pin.PULL_NONE)
csi0.vsync_callback(lambda state, led=led_pin: led_pin.value(state))
clock = time.clock() # أنشئ كائن ساعة (clock) لتتبع معدل الإطارات (FPS).
while True:
clock.tick() # تحديث ساعة معدل الإطارات (FPS).
img = csi0.snapshot() # التقاط صورة وإرجاعها.
print(clock.fps()) # ملاحظة: تعمل كاميرا OpenMV بحوالي نصف السرعة عند الاتصال
# بالـ IDE. يجب أن يزداد معدل الإطارات (FPS) بعد قطع الاتصال.