vsync_gpio_output.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 output GPIO su VSYNC.
#
# Questo esempio mostra come commutare un pin sull'interrupt VSYNC.
import csi
import time
from pyb import Pin
csi0 = csi.CSI()
csi0.reset() # Resetta e inizializza il sensore.
csi0.pixformat(csi.RGB565) # Imposta il formato pixel su RGB565 (o GRAYSCALE)
csi0.framesize(csi.QVGA) # Imposta la dimensione del fotogramma su QVGA (320x240)
# Questo pin verrà commutato on/off sui fronti di salita e di discesa di 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() # Crea un oggetto clock per tracciare gli FPS.
while True:
clock.tick() # Aggiorna il clock degli FPS.
img = csi0.snapshot() # Scatta una foto e restituisce l'immagine.
print(clock.fps()) # Nota: OpenMV Cam funziona a circa metà velocità quando è connessa
# all'IDE. Gli FPS dovrebbero aumentare una volta disconnessa.