vsync_gpio_output.py
# Este trabalho está licenciado sob a licença MIT.
# Copyright (c) 2013-2023 OpenMV LLC. Todos os direitos reservados.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Exemplo de saída GPIO em VSYNC.
#
# Este exemplo mostra como alternar um pino na interrupção de VSYNC.
import csi
import time
from pyb import Pin
csi0 = csi.CSI()
csi0.reset() # Reinicia e inicializa o sensor.
csi0.pixformat(csi.GRAYSCALE) # Define o formato de pixel para RGB565 (ou GRAYSCALE)
csi0.framesize(csi.QVGA) # Define o tamanho do frame para QVGA (320x240)
# Este pino será alternado (ligado/desligado) nas bordas de subida e descida do 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() # Cria um objeto clock para rastrear o FPS.
while True:
clock.tick() # Atualiza o clock de FPS.
img = csi0.snapshot() # Tira uma foto e retorna a imagem.
print(clock.fps()) # NOTA: A OpenMV Cam roda cerca de metade da velocidade quando conectada
# ao IDE. O FPS deve aumentar assim que desconectada.