ESP32 cam module problem

#include <WiFi.h>
#include <WiFiClient.h>
#include <WiFiClientSecure.h>
#include "esp_camera.h"

// WiFi credentials
const char* ssid = "realme 3 Pro";
const char* password = "87654321";

// Server configuration
const char* server_ip = "192.168.105.253";
const int server_port = 65000;

// Camera configuration
const int camera_port = 81;  // Default camera port
const char* camera_host = "esp32-cam";

// Camera pins
#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);
  pinMode(14, INPUT_PULLUP);

  // Connect to WiFi
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting to WiFi...");
  }
  Serial.println("Connected to WiFi");

  // Camera setup
  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;
  config.frame_size = FRAMESIZE_UXGA;
  config.jpeg_quality = 10;
  config.fb_count = 1;

  // Initialize camera
  esp_err_t err = esp_camera_init(&config);
  if (err != ESP_OK) {
    Serial.printf("Camera init failed with error 0x%x", err);
    return;
  }
  Serial.println("Camera initialized");
}

void loop() {
  if(digitalRead(14)== HIGH){
    camera_fb_t *fb = esp_camera_fb_get();
    if (!fb) {
      Serial.println("Camera capture failed");
      return;
    }
   // Connect to server
    WiFiClient client;
    if (!client.connect(server_ip, server_port)) {
      Serial.println("Not Connected to server");
      return;
    }
   // Send image data
    client.write(fb->buf, fb->len);
    Serial.println("Image sent");

  // Cleanup
    esp_camera_fb_return(fb);
    client.stop();

  }
  delay(300);
}

this is my code for esp32 cam module. whenever it receives a pulse from my other microcontroller, it should capture an image. but the loop is executing even if i dont connect it to other microcontroller. i can see the loop executing from my serial monitor output

Connecting to WiFi...
Connecting to WiFi...
Connecting to WiFi...
Connected to WiFi
Camera initialized
Not Connected to server
Camera capture failed
Camera capture failed
Camera capture failed

found the problem. serial begin should come after pin mode.

you got pinMode INPUT_PULLUP on this pin..
maybe you should be looking for LOW??

good luck.. ~q

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