🛠 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

Objectifs

Initialiser la caméra couleur 2 Mpx GalaxyCore GC2145 embarquée, capturer des images QVGA 320×240 en RGB565 via le bus parallèle DCMI du STM32H747, et les streamer sur USB.

Matériel

Code complet

// 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
}

Vérification attendue

Au téléversement, 5 clignotements de la LED verte confirment l'initialisation du GC2145. Le visualiseur (Processing, mode RGB565 320×240) affiche un flux fluide. Un clignotement infini dès le setup = le capteur ne répond pas sur le bus (vérifier core à jour).

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels