vsync_gpio_output.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 salida GPIO en VSYNC.
#
# Este ejemplo muestra cómo conmutar un pin en la interrupción de VSYNC.
import csi
import time
from pyb import Pin
csi0 = csi.CSI()
csi0.reset() # Restablecer e inicializar el sensor.
csi0.pixformat(csi.GRAYSCALE) # Establecer el formato de píxel a RGB565 (o GRAYSCALE)
csi0.framesize(csi.QVGA) # Establecer el tamaño de fotograma a QVGA (320x240)
# Este pin se activará/desactivará en los flancos de subida y bajada de 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() # Crear un objeto clock para registrar los FPS.
while True:
clock.tick() # Actualizar el reloj de FPS.
img = csi0.snapshot() # Tomar una foto y devolver la imagen.
print(clock.fps()) # Nota: la OpenMV Cam funciona a aproximadamente la mitad de velocidad cuando está conectada
# al IDE. Los FPS deberían aumentar una vez desconectada.