Schwierigkeiten mit ESP32-CAM

Hallöchen,
ich arbeite schon seit mehreren Tagen mit der ESP32-CAM.
Ein Problem das mir aufgefallen ist, ist, das die Bilder auf der microSD Karte immer grün sind.
Wenn ich das Beispielprogramm CameraWebServer verwende sind die Bilder normal unverfärbt. Ich habe auch ein anderes Programm geschrieben um die Kamerabilder auf dem Display ILI9341 anzuzeigen, auch das hat ohne Probleme funktioniert.
Der Fehler tritt anscheinend nur in diesem Programm mit microSD-Speicherung auf:

#include "esp_camera.h"
#include "SD_MMC.h"

// Kamera-Pin-Konfiguration
#define PWDN_GPIO_NUM    32
#define RESET_GPIO_NUM   -1
#define XCLK_GPIO_NUM     0
#define SIOD_GPIO_NUM    26
#define SIOC_GPIO_NUM    27

#define Y9_GPIO_NUM      35
#define Y8_GPIO_NUM      34
#define Y7_GPIO_NUM      39
#define Y6_GPIO_NUM      36
#define Y5_GPIO_NUM      21
#define Y4_GPIO_NUM      19
#define Y3_GPIO_NUM      18
#define Y2_GPIO_NUM       5
#define VSYNC_GPIO_NUM   25
#define HREF_GPIO_NUM    23
#define PCLK_GPIO_NUM    22

void setup() {
  Serial.begin(115200);

  // Kamera-Konfiguration
  camera_config_t config;
  config.ledc_channel = LEDC_CHANNEL_0;
  config.ledc_timer = LEDC_TIMER_0;
  config.pin_d0 = Y2_GPIO_NUM;
  config.pin_d1 = Y3_GPIO_NUM;
  config.pin_d2 = Y4_GPIO_NUM;
  config.pin_d3 = Y5_GPIO_NUM;
  config.pin_d4 = Y6_GPIO_NUM;
  config.pin_d5 = Y7_GPIO_NUM;
  config.pin_d6 = Y8_GPIO_NUM;
  config.pin_d7 = Y9_GPIO_NUM;
  config.pin_xclk = XCLK_GPIO_NUM;
  config.pin_pclk = PCLK_GPIO_NUM;
  config.pin_vsync = VSYNC_GPIO_NUM;
  config.pin_href = HREF_GPIO_NUM;
  config.pin_sscb_sda = SIOD_GPIO_NUM;
  config.pin_sscb_scl = SIOC_GPIO_NUM;
  config.pin_pwdn = PWDN_GPIO_NUM;
  config.pin_reset = RESET_GPIO_NUM;
  config.xclk_freq_hz = 20000000;
  config.pixel_format = PIXFORMAT_JPEG;

  if(psramFound()){
    config.frame_size = FRAMESIZE_UXGA;
    config.jpeg_quality = 10;
    config.fb_count = 2;
  } else {
    config.frame_size = FRAMESIZE_SVGA;
    config.jpeg_quality = 12;
    config.fb_count = 1;
  }

  // Kamera initialisieren
  esp_err_t err = esp_camera_init(&config);
  if (err != ESP_OK) {
    Serial.printf("Kamera Initialisierung fehlgeschlagen Fehler NR: 0x%x", err);
    return;
  }

  // SD-Karte mounten
  if(!SD_MMC.begin()){
    Serial.println("SD-Karte mounten fehlgeschlagen");
    return;
  }

  // Foto aufnehmen
  camera_fb_t * fb = esp_camera_fb_get();
  if (!fb) {
    Serial.println("Fotografieren fehlgeschlagen");
    return;
  }

  // Foto speichern
  File file = SD_MMC.open("/bild.jpg", FILE_WRITE);
  if(!file){
    Serial.println("Datei öffnen fehlgeschlagen");
  } else {
    file.write(fb->buf, fb->len);
    Serial.println("Bild gespeichert: /bild.jpg");
  }
  file.close();

  esp_camera_fb_return(fb);
}

void loop() {
  // Nichts zu tun
}

Ich habe schon verschiedene Kameraeinstellungen durchprobiert, die SD Karte frisch formatiert (keine Schnellformatierung) und verschiedene Sketches ausprobiert.

MfG spaten

Schau mal Hier.
Da gab es schon eine Antwort. Evtl. hilft die dir ja weiter.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.