Camara de vigilancia con movimiento por wifi



Presentación


El presente proyecto consiste en desarrollar un sistema de cámara controlada por Wifi que permita realizar vigilancia y mover la misma.

Para ello se utilizo la placa Esp32-Cam de Espressif y a efectos de su motorizacion un Motor Stepper Paso a Paso 28BYJ-48 con un módulo ULN2003.

Para el prototipo desarrolado cuya foto se coloca acontinuación se confeccionaron las distintas partes con una impresora 3D.


Espere a que cargue el video


El video puesto a continuacion muestra la pagina web de control de la cámara, la direccion ip a utilizar se la puede ver a traves del monitor del IDE de Arduino al momento de iniciar la camara.


Espere a que cargue el video


Materiales


Placa Esp32-Cam

Motor Stepper Paso a Paso 28BYJ-48

Módulo ULN2003


Circuito




Código




	/*********
	ESP32- CAMARA VIGILANCIA
	Camara con base movil
	Version01
	*********/
	#include "esp_camera.h"
	#include <WiFi.h>
	#include "pines_camara.h"
	#include "credencial.h"
	// Motor
	const int motorPin1 = 12;
	const int motorPin2 = 13;
	const int motorPin3 = 15;
	const int motorPin4 = 14;
	const int numSteps = 8;
	const int stepsLookup[8] = { B1000, B1100, B0100,
	B0110, B0010, B0011, B0001, B1001 };
	//****************************
	extern int gpLed = 4; // Light
	extern String WiFiAddr = "";
	void startCameraServer();
	void setup() {
	Serial.begin(115200);
	Serial.println();
	//motor
	pinMode(motorPin1, OUTPUT);pinMode(motorPin2, OUTPUT);
	pinMode(motorPin3, OUTPUT);
	pinMode(motorPin4, OUTPUT);
	digitalWrite(motorPin1, LOW);
	digitalWrite(motorPin2, LOW);
	digitalWrite(motorPin3, LOW);
	digitalWrite(motorPin4, LOW);
	//led
	pinMode(gpLed, OUTPUT); //Light
	digitalWrite(gpLed, LOW);
	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;
	// Parametros Frame
	config.frame_size = FRAMESIZE_VGA;
	config.jpeg_quality = 20;
	config.fb_count = 1;
	// Iniciar Camara
	esp_err_t err = esp_camera_init(&config);
	if (err != ESP_OK) {Serial.printf("Fallo inicio de camara error 0x%x",
	err);
	return;
	}
	WiFi.begin(red, clave);
	while (WiFi.status() != WL_CONNECTED) {
	delay(500);
	Serial.print(".");
	}
	Serial.println("");
	Serial.println("WiFi conectado");
	startCameraServer();
	Serial.print("Camera Iniciada, User 'http://");
	Serial.print(WiFi.localIP());
	WiFiAddr = WiFi.localIP().toString();
	Serial.println("' para conectar");
	}
	void loop() {
	}	
  

Cerrar