🛠 Capturer une image avec la caméra GC2145 (DCMI)

Arduino Nicla Vision · intermediaire · Schéma : IMG-nicla-vision-intermediaire-1-niclavision-capture-camera.svg — Nicla Vision avec la caméra GC2145 reliée au bus parallèle DCMI du STM32H747, une image QVGA transitant vers le port USB

Objetivos

Inicializar la cámara a color de 2 Mpx GalaxyCore GC2145 integrada, capturar imágenes QVGA 320×240 en RGB565 a través del bus paralelo DCMI del STM32H747 y transmitirlas por USB.

Hardware

Código completo

// Adapte de l'exemple officiel CameraCaptureRawBytes (ArduinoCore-mbed)
#include "camera.h"
#include "gc2145.h"

GC2145 galaxyCore;          // capteur couleur 2MP embarque
Camera cam(galaxyCore);     // API Camera commune
#define IMAGE_MODE CAMERA_RGB565

FrameBuffer fb;             // tampon par defaut 320x240x2

void blinkLED(uint32_t count) {
  pinMode(LED_BUILTIN, OUTPUT);
  while (count--) { digitalWrite(LED_BUILTIN, LOW);  delay(50);
                    digitalWrite(LED_BUILTIN, HIGH); delay(50); }
}

void setup {
  // QVGA 30 FPS ; clignotement infini si le capteur ne repond pas
  if (!cam.begin(CAMERA_R320x240, IMAGE_MODE, 30)) blinkLED(0xFFFFFFFF);
  blinkLED(5);              // 5 clignotements = camera OK
}

void loop {
  if (!Serial) { Serial.begin(115200); while (!Serial); }
  if (cam.grabFrame(fb, 3000) == 0)                 // timeout 3 s
    Serial.write(fb.getBuffer, cam.frameSize);  // frame RGB565 brute
  else
    blinkLED(20);                                   // erreur de capture
}

Verificación esperada

Al cargar el programa, 5 parpadeos del LED verde confirman la inicialización del GC2145. El visualizador (Processing, modo RGB565 320×240) muestra un flujo fluido. Un parpadeo infinito desde la configuración inicial (setup) indica que el sensor no responde en el bus (verificar que el núcleo esté actualizado).

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales