Problem with the connection

Hi,

I have tried to implement this circuit diagram using breadboard:

but the problem that currently I am facing is that the circuit is not working with me..
for example, the LEDs of the relay are not ON and esp32 is not flashing

is there are any thing wrong in circuit diagram in the image?

The circuit looks fine. Try measuring connections with a multimeter.

Yes.
The relay module may need a 5V signal at IN and the ESP is only 3.3V
The 7805 should have capacitors on the input and output.
Maybe you have bad or loose connections on the breadboard.
If you are using the SD card, you cannot use pins 14 and 15 for I/O
Can the 12V supply provide enough current for the solenoid?

Maybe there is also an error in your code. Please post your code here using code tags

Not necessarily, but are you using the exact same ESP32 board shown in the picture? Different boards can/will have the GPIO pins broken out to different pins on the edges of the board.

Please post a clear photograph of how you've connected everything together.

Currently I don't have multimeter, I will try go get it later
but I noticed something: I have tried to implement this circuit shown here
z
If I implement it like the way in the image, the Red LED of the relay will turn on and everything is fine (its getting 5V)

but once I connect the ESP32 in parallel with the relay, the relay LED turns OFF immediately.

why is that? does that mean I should connect higher voltage source than 12V to make the current reaches to both relay and esp32

or should I buy another one that has higher current ratings?

Yes its the same, I have tried to use another esp32 and same problem happen

now I have removed the connections from the circuit, and I tried to implement this circuit:
z

If I implement it like this, the red LED of the relay will turn on and everything is fine (its getting 5V)
but once I connect the esp32 in parallel in the output side with relay, the relay LED turns off immediately

why is that? should I put higher voltage source at the input to make the current reaches both of the relay & esp32

I will try to buy two capacitors
but notice that there is 5V terminal on the esp32 (on the upper left corner of the picture)
and he is trying to power on the esp32 using the OUTPUT terminal of the 7805 (which is supplying 5v to both relay & esp32)

I don't have SD card, and my 12V adapter has current rating of 1A

Hi, @abuaziz
Can you please post a link to specs/data of your relay module?

Can you please post some pictures of your project?
So we can see your component layout.

Can you please post a complete copy of your circuit, a picture of a hand drawn circuit in jpg, png?
Hand drawn and photographed is perfectly acceptable.
Please include ALL hardware, power supplies, component names and pin labels.

Thanks.. Tom.. :smiley: :+1: :coffee: :australia:

Post a picture of your relay module. As I mentioned it may need 5V to trigger IN.
OR post a link to the page where you bought it

If you have a 12V supply, you should use a relay module with a 12V relay.
If your relay module switches on with a LOW signal, it might work, post some info on the relay module.

This suggests that the way you're connecting the ESP somehow shorts the output of the 7805. However, the earlier requested photos of your setup would clarify a lot and reduce the need for random guesswork.

If the relay module is opto coupled and switches LOW for ON, remove the ground wire from relay to ESP.

For those who asked me about the information of the relay module, I will post here every component & the circuit that I did :

first I am trying to implement what is in this video: https://www.youtube.com/watch?v=tQnDnkQPmmE

======================

  • Image of the adapter:

    ========================
  • Image of door lock solenoid:

    ==========================
  • Image of Relay ( 1 Channel - 5V relay module )

    i0
    ==========================
  • Image of ESP32:
    Z0
    T9
    ========================
  • Image of 7805 Voltage Regulator:

    =============================
  • Image of the whole circuit:
    100
    xc
    =======================
    I have uploaded this code to the esp32 before implementing the whole circuit:
#define BLYNK_TEMPLATE_ID "TMPL6i0Kx0MzK"
#define BLYNK_TEMPLATE_NAME "Smart Door Bell"
#define BLYNK_AUTH_TOKEN "Jp9YNJw2jCfkETWX06xS9KdRlJrNhX72"


#include "esp_camera.h"
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
//
// WARNING!!! PSRAM IC required for UXGA resolution and high JPEG quality
//            Ensure ESP32 Wrover Module or other board with PSRAM is selected
//            Partial images will be transmitted if image exceeds buffer size
//
//            You must select partition scheme from the board menu that has at least 3MB APP space.
//            Face Recognition is DISABLED for ESP32 and ESP32-S2, because it takes up from 15 
//            seconds to process single frame. Face Detection is ENABLED if PSRAM is enabled as well

// ===================
// Select camera model
// ===================
//#define CAMERA_MODEL_WROVER_KIT // Has PSRAM
//#define CAMERA_MODEL_ESP_EYE // Has PSRAM
//#define CAMERA_MODEL_ESP32S3_EYE // Has PSRAM
//#define CAMERA_MODEL_M5STACK_PSRAM // Has PSRAM
//#define CAMERA_MODEL_M5STACK_V2_PSRAM // M5Camera version B Has PSRAM
//#define CAMERA_MODEL_M5STACK_WIDE // Has PSRAM
//#define CAMERA_MODEL_M5STACK_ESP32CAM // No PSRAM
//#define CAMERA_MODEL_M5STACK_UNITCAM // No PSRAM
#define CAMERA_MODEL_AI_THINKER // Has PSRAM
//#define CAMERA_MODEL_TTGO_T_JOURNAL // No PSRAM
//#define CAMERA_MODEL_XIAO_ESP32S3 // Has PSRAM
// * Espressif Internal Boards *
//#define CAMERA_MODEL_ESP32_CAM_BOARD
//#define CAMERA_MODEL_ESP32S2_CAM_BOARD
//#define CAMERA_MODEL_ESP32S3_CAM_LCD
//#define CAMERA_MODEL_DFRobot_FireBeetle2_ESP32S3 // Has PSRAM
//#define CAMERA_MODEL_DFRobot_Romeo_ESP32S3 // Has PSRAM
#include "camera_pins.h"

#define BUTTON 15
#define Lock 14

// ===========================
// Enter your WiFi credentials
// ===========================
const char* ssid = "iPhone";
const char* password = "q123123q";
char auth[] = BLYNK_AUTH_TOKEN;

String my_Local_IP;

void startCameraServer();

void capture(){
  uint32_t number = random(40000000);
  Blynk.logEvent("Door Ring","Someone is at your Front Door...");
  Serial.println("http://"+my_Local_IP+"/capture?_cb="+ (String)number);
  Blynk.setProperty(V1,"urls","http://"+my_Local_IP+"/capture?_cb="+(String)number);
  delay(1000);
}
void setupLedFlash(int pin);

void setup() {
  Serial.begin(115200);
  pinMode(Lock,OUTPUT);
  pinMode(BUTTON, INPUT);
  Serial.setDebugOutput(true);
  Serial.println();

  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_sccb_sda = SIOD_GPIO_NUM;
  config.pin_sccb_scl = SIOC_GPIO_NUM;
  config.pin_pwdn = PWDN_GPIO_NUM;
  config.pin_reset = RESET_GPIO_NUM;
  config.xclk_freq_hz = 20000000;
  config.frame_size = FRAMESIZE_UXGA;
  config.pixel_format = PIXFORMAT_JPEG; // for streaming
  //config.pixel_format = PIXFORMAT_RGB565; // for face detection/recognition
  config.grab_mode = CAMERA_GRAB_WHEN_EMPTY;
  config.fb_location = CAMERA_FB_IN_PSRAM;
  config.jpeg_quality = 12;
  config.fb_count = 1;
  
  // if PSRAM IC present, init with UXGA resolution and higher JPEG quality
  //                      for larger pre-allocated frame buffer.
  if(config.pixel_format == PIXFORMAT_JPEG){
    if(psramFound()){
      config.jpeg_quality = 10;
      config.fb_count = 2;
      config.grab_mode = CAMERA_GRAB_LATEST;
    } else {
      // Limit the frame size when PSRAM is not available
      config.frame_size = FRAMESIZE_SVGA;
      config.fb_location = CAMERA_FB_IN_DRAM;
    }
  } else {
    // Best option for face detection/recognition
    config.frame_size = FRAMESIZE_240X240;
#if CONFIG_IDF_TARGET_ESP32S3
    config.fb_count = 2;
#endif
  }

#if defined(CAMERA_MODEL_ESP_EYE)
  pinMode(13, INPUT_PULLUP);
  pinMode(14, INPUT_PULLUP);
#endif

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

  sensor_t * s = esp_camera_sensor_get();
  // initial sensors are flipped vertically and colors are a bit saturated
  if (s->id.PID == OV3660_PID) {
    s->set_vflip(s, 1); // flip it back
    s->set_brightness(s, 1); // up the brightness just a bit
    s->set_saturation(s, -2); // lower the saturation
  }
  // drop down frame size for higher initial frame rate
  if(config.pixel_format == PIXFORMAT_JPEG){
    s->set_framesize(s, FRAMESIZE_QVGA);
  }

#if defined(CAMERA_MODEL_M5STACK_WIDE) || defined(CAMERA_MODEL_M5STACK_ESP32CAM)
  s->set_vflip(s, 1);
  s->set_hmirror(s, 1);
#endif

#if defined(CAMERA_MODEL_ESP32S3_EYE)
  s->set_vflip(s, 1);
#endif

// Setup LED FLash if LED pin is defined in camera_pins.h
#if defined(LED_GPIO_NUM)
  setupLedFlash(LED_GPIO_NUM);
#endif

  WiFi.begin(ssid, password);
  WiFi.setSleep(false);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");

  startCameraServer();

  Serial.print("Camera Ready! Use 'http://");
  Serial.print(WiFi.localIP());
  my_Local_IP = WiFi.localIP().toString();
  Serial.println("' to connect");
  Blynk.begin(auth,ssid,password);
}

void loop() {
  // Do nothing. Everything is done in another task by the web server
  Blynk.run();
  if(digitalRead(BUTTON)== LOW)
  capture();
}
BLYNK_WRITE(V2)
{
  int pinValue = param.asInt();
  digitalWrite(Lock,pinValue);
  delay(1000);
}

===================

see the last comment

see last comment

Hi, @abuaziz

You need bypass capacitors around the LM7805, look at the data sheet.

Thanks.. Tom... :smiley: :+1: :coffee: :australia:

Door lock solenoid pulls 1.4A. Your supply can only deliver 1A. Unless that white power adapter plugged into the power bar next to the black one you showed a picture of is also being used but I can't see where.

I read your since-deleted post about not using capacitors. Wrong. The 7805 is an active circuit; there are internal feedback modes that will cause it to oscillate if those external capacitors are not mounted, preferably as close to the three pins as is reasonably possible.
Sometimes, the regulator will work intermittently, going into and out of oscillation randomly, sometimes it will be stable for a period of time until some changing demand triggers oscillation, etc. That is why the manufacturer specifies the capacitors.

1 Like

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