vsync_gpio_output.py
# Ce travail est publié sous licence MIT.
# Copyright (c) 2013-2023 OpenMV LLC. Tous droits réservés.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Exemple de sortie GPIO sur VSYNC.
#
# Cet exemple montre comment basculer l'état d'une broche sur interruption VSYNC.
import csi
import time
from pyb import Pin
csi0 = csi.CSI()
csi0.reset() # Réinitialiser et initialiser le capteur.
csi0.pixformat(csi.GRAYSCALE) # Définir le format de pixel sur RGB565 (ou GRAYSCALE)
csi0.framesize(csi.QVGA) # Définir la taille de l'image sur QVGA (320x240)
# Cette broche sera activée/désactivée sur les fronts montant et descendant 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() # Créer un objet horloge pour suivre le FPS.
while True:
clock.tick() # Mettre à jour l'horloge FPS.
img = csi0.snapshot() # Prendre une photo et renvoyer l'image.
print(clock.fps()) # Remarque : l'OpenMV Cam tourne environ deux fois moins vite lorsqu'elle est connectée
# à l'IDE. Le FPS devrait augmenter une fois déconnectée.