Caméra espion oiseaux 2

Bonjour a tous

Alors merci pour tous vos retours sur l'autre post Caméra espion oiseaux .
J'ai un petit problème de programmation désormais. Mon code semble bon sauf que camera_config.pin_xclk = 27; et camera_config.pin_pclk = 2 ce n'est pas possible sur mon module OV2640, j'ai juste DCLK et PWDN qui sont dispos (et NC mais je pense que ça ne sert à rien). Et là, je suis bloqué, je ne sais pas comment connecter ces deux dernières pin ou comment modifier mon code.

Qu'en pensez vous ?

Merci d'avance.

#include "OV2640.h"
#include <WiFi.h>
#include <WebServer.h>
#include <WiFiClient.h>

OV2640 cam;
WebServer server(80);

const char *ssid =     "";         // Entrer le nom du wifi
const char *password = "";     // Entrer le password du wifi

void handle_jpg_stream(void)
{
WiFiClient client = server.client();
String response = "HTTP/1.1 200 OK\r\n";
response += "Content-Type: multipart/x-mixed-replace; boundary=frame\r\n\r\n";
server.sendContent(response);

while (1)
{
  cam.run();
  if (!client.connected())
    break;
  response = "--frame\r\n";
  response += "Content-Type: image/jpeg\r\n\r\n";
  server.sendContent(response);

  client.write((char *)cam.getfb(), cam.getSize());
  server.sendContent("\r\n");
  if (!client.connected())
    break;
}
}

void handle_jpg(void)
{
WiFiClient client = server.client();

cam.run();
if (!client.connected())
{
  Serial.println("fail ... \n");
  return;
}
String response = "HTTP/1.1 200 OK\r\n";
response += "Content-disposition: inline; filename=capture.jpg\r\n";
response += "Content-type: image/jpeg\r\n\r\n";
server.sendContent(response);
client.write((char *)cam.getfb(), cam.getSize());
}

void handleNotFound()
{
String message = "Server is running!\n\n";
message += "URI: ";
message += server.uri();
message += "\nMethod: ";
message += (server.method() == HTTP_GET) ? "GET" : "POST";
message += "\nArguments: ";
message += server.args();
message += "\n";
server.send(200, "text/plain", message);
}

void setup()
{
Serial.begin(115200);
while (!Serial)
{
  ;
}

camera_config_t camera_config;
camera_config.ledc_channel = LEDC_CHANNEL_0;
camera_config.ledc_timer = LEDC_TIMER_0;
camera_config.pin_d0 = 17;
camera_config.pin_d1 = 35;
camera_config.pin_d2 = 34;
camera_config.pin_d3 = 5;
camera_config.pin_d4 = 39;
camera_config.pin_d5 = 18;
camera_config.pin_d6 = 36;
camera_config.pin_d7 = 19;
camera_config.pin_xclk = 27;
camera_config.pin_pclk = 21;
camera_config.pin_vsync = 22;
camera_config.pin_href = 26;
camera_config.pin_sscb_sda = 25;
camera_config.pin_sscb_scl = 23;
camera_config.pin_reset = 15;
camera_config.xclk_freq_hz = 20000000;
camera_config.pixel_format = CAMERA_PF_JPEG;
camera_config.frame_size = CAMERA_FS_SVGA;

cam.init(camera_config);

WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED)
{
  delay(500);
  Serial.print(F("."));
}
Serial.println(F("WiFi connected"));
Serial.println("");
Serial.println(WiFi.localIP());

server.on("/", HTTP_GET, handle_jpg_stream);
server.on("/jpg", HTTP_GET, handle_jpg);
server.onNotFound(handleNotFound);
server.begin();
}

void loop()
{
server.handleClient();
}

Bonsoir

Qu'en pensez vous ?

Il serait dommage que ce message parte à la poubelle... alors vite corriges-le en mettant le code entre les balises appropriées. (voir ici comment faire) Profites en pour donner des informations sur la carte utilisée,.

Merci mais j'ai beau cliquer sur le rien, je ne peux pas accéder a ton conseil !

lien réparé ! (y regarder le message #2 )

Sinon, voici ma config :

ESP32 Wroom espressif et un module OV2640.

J'ai tenté un truc, ne rien connecter sur la pin 27 et mettre DCLK sur 21, ça marche sauf que l'image est bizarre. Elle saccade et change de couleur.

Merci d'avance

lien vers le module OV2640 utilisé ?

https://fr.aliexpress.com/item/1-pi-ces-de-cam-ra-OV2640-module-2-millions-de-pixels-lectronique-int-gr-avec/32946642713.html?spm=a2g0s.9042311.0.0.27426c372cdhfG

et carte :

https://fr.aliexpress.com/item/Carte-de-d-veloppement-ESP-32-ESP-32S-WiFi-Bluetooth-Ultra-faible-consommation-d-nergie-double/32971559625.html?spm=a2g0s.9042311.0.0.27426c37vJfw1O

J'ai trouvé, c'est 1000000 hz et pas 2000000 pour la fréquence. Par contre la caméra n'affiche qu'en 800 et en 1600 comme cela est possible. Quelqu'un serait il si cela est dans la librairie OV2460 ou est ce un autre réglage ? XUGA au lieu de SVGA pour frame size. Dans la librairie cela correspondrait pour sensor.h appelé par OV2640 a une résolution de 1600x1200.

Merci