ESP32 CAM Based Surveillance Robot Previously we built a Wi-Fi controlled robot using NodeMCU, this time we are attaching a camera with the robot to make it a surveillance robot car. This web controlled surveillance car can be easily built using the ESP32-CAM module. Apart from the ESP32-Camera module, here we will use two DC motor with Robot chassis and L293D motor driver module to build this Robotic car. ESP32 is one of the most popular boards to build IoT based projects Here
The AI-Thinker ESP32-CAM module comes with an ESP32-S chip, a very small size OV2640 camera and a microSD card slot. MicroSD card slot can be used to store images taken from the camera. Here HTTP communication protocol will be used to receive video streaming from the OV2640 camera over the web browser. The web page will also have buttons to move the car in Left, Right, Forward and reverse directions as shown in the image above.
Components Required
1. ESP32-CAM
2. FTDI Programmer
3. DC Motors (2)
4. Motor Driver (L293D).
5. Battery.
ESP32-CAM doesn’t have a USB connector, so you need an FTDI board to upload the code into ESP32-CAM. VCC and GND pin of ESP32 is connected with the VCC and GND pin of the FTDI board. Tx of and Rx of ESP32 is connected with Rx and Tx of the FTDI board. Two DC motors are connected to ESP32 through the L293D module. Module pins are connected to IO4, IO2, IO14, and IO15 pins of ESP32.
We built a robot by using a ready-made robot chassis, wheels, and DC motors. We used a battery to power the motor drive module and ESP32-CAM. This is how my surveillance robot looks like:
We will program the ESP32-CAM using Arduino IDE. For that, we have to install the ESP32 add-on on Arduino IDE.
To install the ESP32 board in your Arduino IDE, go to File> Preferences
https://dl.espressif.com/dl/package_esp32_index.json
In Boards Manager search for ESP32 and install the “ESP32 by Espressif Systems“
This ESP32 Surveillance Camera has a total of four code files that are attached at the end of the project and also can be downloaded from above given link. One is the main code file for camera and motors, and the other three codes are for web page, camera index, and camera pins.
Begin the program by including header files and selecting the right camera model. In the code, three camera models are defined. Here we have used the AI Thinker camera model that comes with ESP32.