Está en la página 1de 21

Activar Una Puerta Por Medio De Comandos De Voz Y Sea Administrada Por Medio Del

Teléfono

Ruben Moreno

Angie Duran

Miguel González

Julián Villamizar

Internet De Las Cosas (Iot)

Unidades Tecnológicas De Santander

Bucaramanga

2023
1. Idea del proyecto
Este proyecto está dirigido, a todo aquel que le interese el mundo de la seguridad electrónica y
así conectar lo exterior del mundo para lograr una interacción autónoma y casi “inteligente” entre
ambos mundos; no obstante, también a la Universidad unidades tecnológicas de Santander y la
modalidad de proyecto. Este proyecto diseño electrónico de apertura automática por contraseña
para una puerta con alerta para usuarios para problemas de inseguridad que opten por adquirirlo
y así mismo puedan tener una información clara y detallada de sí mismo.
Este proyecto se lleva a cabo con el fin tener más seguridad en la universidad ya que como nos
damos de cuenta, acá cualquier persona puede entrar por que aún no existe un método más
eficiente, por otro lado, nos puede beneficiar en que cantidad de estudiantes ingresan
diariamente, esto con el fin de estar prevenidos ante cualquier emergencia un ejemplo puede ser
un temblor que cause daños con este método sabremos qué cantidad de personas abría en ese
instante en la universidad.

2. Objetivo General
Implementar de un sistema electrónico que brinde control de acceso a una puerta utilizando
comandos de voz, empleando la plataforma ESP32.
2.1. Objetivos específicos
Programar el código del ESP32 para que pueda recibir y procesar comandos de voz y activar el
servomotor de la cerradura.
Instalar un circuito de retroalimentación que active una luz verde al momento de una apertura
exitosa, y una luz roja al momento del cierre exitoso, para verificar visualmente que la puerta se
ha asegurado correctamente.
Realizar pruebas exhaustivas del sistema para asegurar su correcto funcionamiento y
confiabilidad.
3. Marco referencia
3.1. Marco conceptual
Bluetooth: La placa ESP32 tiene un módulo Bluetooth integrado que permite la comunicación
inalámbrica a corta distancia utilizando el protocolo Bluetooth Low Energy (BLE). Este
protocolo es especialmente útil para aplicaciones que requieren bajo consumo de energía, como
sensores y dispositivos de IoT (Digikey.com, S/f).

Serial: La placa ESP32 también cuenta con varios puertos serie que pueden ser utilizados para la
comunicación con otros dispositivos. Estos puertos incluyen UART, SPI y I2C. El puerto UART
utiliza el protocolo Universal Asynchronous Receiver/Transmitter (UART), que permite la
comunicación serie asíncrona entre dispositivos (rinconingenieril.es, 2017).
Servo.h: La librería estándar de Arduino para controlar motores servo es una herramienta muy
útil para proyectos que requieren movimientos precisos y controlados de un motor. Esta librería
es compatible con la placa ESP32 y se puede utilizar de la misma manera que en cualquier placa
Arduino. Una de las ventajas de esta librería es que utiliza el protocolo PWM para controlar el
motor. PWM es una técnica de modulación que se utiliza para controlar la cantidad de energía
que se envía a un dispositivo. En el caso de los motores servo, el PWM se utiliza para controlar
la posición del eje del motor. Al cambiar el ancho del pulso de PWM, se puede variar la posición
del eje (luisllamas.es, 2016).

PWM: es una técnica utilizada para controlar la cantidad de energía entregada a un dispositivo,
como un motor o una lámpara, a través de una señal digital. Consiste en enviar pulsos eléctricos
con una frecuencia constante, pero variando la duración del pulso para controlar la cantidad de
energía entregada al dispositivo. Al variar el ancho de pulso, se puede controlar la velocidad del
motor o la intensidad de la luz de una lámpara LED (solectroshop.com, 2020).

ESP32Servo.h: es una librería específica para la placa ESP32 que se utiliza para controlar los
motores servo, al igual que la librería estándar de Arduino. Sin embargo, esta librería está
diseñada específicamente para la placa ESP32 y utiliza el protocolo PWM para controlar los
motores servo (electrodaddy.com, S/f).

Marco Tecnológico
Blynk: es una plataforma de desarrollo de aplicaciones móviles que permite a los usuarios crear
y personalizar aplicaciones móviles para controlar y monitorear dispositivos IoT de forma
remota. La plataforma ofrece una interfaz de usuario amigable que permite a los usuarios crear
una amplia variedad de widgets de interfaz de usuario, como botones, controles deslizantes,
medidores y gráficos, que pueden ser utilizados para controlar y monitorear dispositivos IoT.
La arquitectura de Blynk se basa en un modelo cliente-servidor, donde los dispositivos IoT se
conectan al servidor de Blynk utilizando un token de autenticación generado por el servidor de
Blynk. Esto significa que los dispositivos IoT y la aplicación móvil están completamente
separados, lo que permite una mayor seguridad y flexibilidad. Además, Blynk es compatible con
una amplia variedad de dispositivos IoT, como Arduino, Raspberry Pi, ESP8266, entre otros
(getapp.com.co, S/f).

IFTTT: es una plataforma que te permite conectar diferentes aplicaciones y servicios web entre
sí para automatizar tareas. Con ella, puedes crear recetas que se activan cuando ocurre un evento
en un servicio en línea, y desencadenan una acción en otro servicio. Por ejemplo, puedes recibir
una notificación en tu teléfono cuando llega un correo electrónico importante, o publicar
automáticamente en las redes sociales cada vez que publicas una nueva entrada en tu blog.
Además, IFTTT cuenta con una comunidad de usuarios que comparten sus recetas y
conocimientos, lo que te permite mejorar tus propios flujos de trabajo y aprovechar las ideas de
otros (xataka.com, 2019).
3.2. Tecnologías Usadas
Arduino IDE: es un entorno de desarrollo conocido como IDE y es en él donde se realiza la
programación de cada una de las placas. Con esta labor la compañía ha buscado facilitar el
acceso y uso no solo de la electrónica sino también de la programación de sistemas embebidos.
Además, es necesario considerar que toda la plataforma presentada por la compañía se libera
bajo la licencia de código abierto y es lo que da total libertad de acceso (tuelectronica.es, S/f).

Tinkercad: Es una plataforma en línea que permite diseñar y crear modelos 3D de manera fácil
y accesible. Con su interfaz intuitiva y amigable, los usuarios de todos los niveles de habilidad
pueden utilizar las herramientas de modelado y edición para crear diseños personalizados o partir
de la amplia biblioteca de objetos pre-diseñados. Al finalizar, los diseños pueden ser exportados
en diferentes formatos para su uso en impresoras 3D u otros programas de diseño
(3dnatives.com, 2022).

MIT app inventor 2: es un entorno de programación visual basado en bloques que permite a los
usuarios crear aplicaciones móviles para dispositivos Android sin necesidad de tener experiencia
en programación. La plataforma utiliza una interfaz gráfica de usuario intuitiva que permite
arrastrar y soltar bloques de código para construir la lógica de la aplicación, lo que facilita su uso
incluso para principiantes. MIT App Inventor 2 también cuenta con una amplia biblioteca de
componentes predefinidos que permiten a los usuarios agregar funcionalidades como la cámara,
el GPS, el acelerómetro y la conectividad a Internet a sus aplicaciones (repositorio.puce.edu.ec,
S/f).

4. Desarrollo del proyecto


4.1. Componentes físicos
Protoboard: es una placa rectangular con orificios en la que se pueden conectar y experimentar
con circuitos electrónicos. Está diseñada para que los componentes electrónicos, como
resistencias, capacitores, diodos y transistores, se puedan montar y probar sin necesidad de
soldarlos. Los orificios en la Protoboard están conectados eléctricamente en una configuración
predeterminada, lo que permite a los usuarios construir y probar circuitos electrónicos
rápidamente. También se pueden utilizar para crear prototipos de circuitos electrónicos antes de
que se fabriquen las placas de circuito impreso (PCB) finales. Las Protoboard son muy utilizadas
por los aficionados, los estudiantes y los profesionales en el desarrollo de proyectos electrónicos
(blog.330ohms.com, 2016).

LED (diodo emisor de luz): es un componente electrónico que emite luz cuando una corriente
eléctrica pasa a través de él. El LED se compone de una estructura semiconductor que está
dopada con impurezas para crear una unión PN. Cuando una corriente eléctrica fluye a través de
esta unión, los electrones se recombinan con los huecos en la región de la unión, liberando
energía en forma de fotones de luz. Los LED son muy utilizados en la industria electrónica
debido a su bajo consumo de energía, alta eficiencia, larga vida útil y la disponibilidad de una
amplia gama de colores. Los LED se utilizan en una variedad de aplicaciones, como iluminación,
pantallas, indicadores de estado y señalización. También se utilizan en proyectos de electrónica
como componentes para indicar la presencia o ausencia de una señal eléctrica, y para agregar
efectos de iluminación a proyectos de arte y diseño (helloauto.com, S/f).

Servomotor: es un tipo de motor eléctrico que se utiliza para controlar la posición angular de un
objeto. Está compuesto por un motor, una caja reductora, un circuito de control y un sensor de
posición. Los servomotores pueden girar en un rango limitado de ángulos, generalmente de 0 a
180 grados, y se utilizan comúnmente en aplicaciones que requieren un posicionamiento preciso,
como en robots, drones, sistemas de automatización y juguetes. El circuito de control de un
servomotor recibe una señal de entrada que indica la posición deseada del eje del motor, y utiliza
el sensor de posición para ajustar la posición angular del eje del motor. Los servomotores son
muy populares entre los entusiastas de la robótica y los aficionados a la electrónica debido a su
precisión y facilidad de uso (cursosaula21.com, S/f).

ESP32:

El ESP32 es un módulo de microcontrolador popular que se usa ampliamente para varias


aplicaciones de Internet de las cosas (IoT). Está desarrollado por Espressif Systems y es el
sucesor del módulo ESP8266. El ESP32 es conocido por su versatilidad, bajo consumo de
energía y capacidades integradas de Wi-Fi y Bluetooth, lo que lo hace adecuado para una amplia
gama de proyectos (DigiKey.com, 2020).

El ESP32 es un módulo de microcontrolador ampliamente utilizado en aplicaciones de Internet


de las Cosas (IoT). Con su procesador de doble núcleo, Wi-Fi y Bluetooth integrados, y
numerosos pines GPIO, el ESP32 ofrece versatilidad, bajo consumo de energía y capacidades de
comunicación inalámbrica, lo que lo hace adecuado para una amplia gama de proyectos de IoT.

4.2. Diagrama y simulación del Proyecto

https://www.tinkercad.com/things/2xGdHi28rLT-stunning-bombul/editel?
sharecode=MsIbT_BJQKwf3V3im5b8ktLNnwjuhoyvuIC0DJiUA4M
4.3. Implementación del proyecto
 Implementación de las librerías
En la página web blynk.cloud, crear Quickstart:

Seleccionar la opción de ESP32:


Seleccionar el entorno de desarrollo integrado (IDE) que utilizaremos para programar la
placa. En este caso, se optó por utilizar el IDE de Arduino.
Colocar el nombre y la contraseña del Wifi al que la placa se conectara. Implementar en el
código de la ESP32:
Configuramos la Datastreams
Implementación del código en el Arduino IDE:
Ifttt.com crear If This:

Seleccionar Google Assistant


Seleccionar Activate Scene:

Le indicamos el comando para el trigger:


Seleccionar Then That:

Seleccionar WebHooks:
Crear la conexión con blynk con el autoToken:
4.4. Código fuente del proyecto
// Include the necessary libraries
#include <WiFi.h>
include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <ESP32Servo.h>
//Conexion con Blynk
#define BLYNK_TEMPLATE_ID "TMPL2VuSSzH7x"
#define BLYNK_TEMPLATE_NAME "Quickstart Template"
#define BLYNK_AUTH_TOKEN "cdAfj0LVuriI24LoVjszo9glDvSY7cf-"
//Definicion de SSID y Contraseña
char ssid[] = "#UTSCONCORAZON";
char pass[] = "Uts23032021";

// Pines de los LEDs


const int ledPin1 = 13;
const int ledPin2 = 12;

// Pin del servomotor


const int servoPin = 14;
Servo myServo;

void setup() {
Serial.begin(115200);

// Conexión a la red Wi-Fi


WiFi.begin(ssid, pass);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("Conectado al Wi-Fi");

// Inicialización de la comunicación con Blynk


Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);

// Configuración de pines de los LEDs


pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);

// Configuración del pin del servomotor


myServo.setPeriodHertz(50); // Configurar frecuencia de 50 Hz (valor
predeterminado)
myServo.attach(servoPin, 500, 2400); // Configurar rango de pulsos para el
servomotor

// Establecer posición inicial del servomotor


int initialPosition = 0;
myServo.write(initialPosition);
Blynk.virtualWrite(V0, initialPosition); // Actualizar posición en la
aplicación Blynk
}
//Pin Blynk
BLYNK_WRITE(V0) {
int value = param.asInt();
//Si se recive una señal que mueva el servomotor a 90 grados
if (value == 1) {
moveServo(90);
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, LOW);
}
//Si la señal retor a su valor original el servomotor se mueve a la posicion 0
else {
moveServo(0);
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, HIGH);
}
}
//metodo movimiento servomotor
void moveServo(int position) {
myServo.write(position); // Mover el servomotor a la posición deseada
}

void loop() {
Blynk.run();
}
5. Resultados del proyecto
5.1. Fotos del proyecto
5.2. Video del proyecto en YouTube
https://youtu.be/aM1yzR6xj-s

5.3. Conclusiones
En conclusión, el proyecto tiene como objetivo específico programar el código del ESP32 para
recibir y procesar comandos de voz, lo que permitirá a los usuarios interactuar con la cerradura
de la puerta de manera conveniente utilizando su voz como entrada. Esto mejorará la experiencia
de acceso y brindará una forma más intuitiva y práctica de controlar la puerta.
Otro objetivo específico es la instalación de un circuito de retroalimentación visual que
proporcionará una respuesta visual mediante luces verdes y rojas. Esto permitirá a los usuarios
verificar de forma rápida y sencilla si la puerta ha sido abierta o cerrada correctamente. La
retroalimentación visual proporcionará una capa adicional de seguridad y tranquilidad al usuario,
garantizando que la puerta esté debidamente asegurada.
Finalmente, el objetivo de realizar pruebas exhaustivas del sistema es fundamental para
garantizar su correcto funcionamiento y confiabilidad. Al simular diferentes escenarios y
condiciones, se podrá evaluar la respuesta del sistema e identificar posibles problemas o fallos.
Estas pruebas ayudarán a corregir cualquier error antes de implementar el sistema en un entorno
real, lo que asegurará su eficacia y rendimiento en situaciones reales.
Bibliografía

¿Qué es Tinkercad? ¡Aprende cómo diseñar en 3D gratis! (s/f). https://www.crehana.com.

Recuperado el 30 de abril de 2023, de https://www.crehana.com/blog/estilo-vida/tinkercad-que-

es/

330ohms, P. (2016, marzo 2). ¿Qué es una Protoboard? 330ohms.

https://blog.330ohms.com/2016/03/02/protoboards/

aula. (2019, diciembre 19). Qué es un Servomotor, para qué sirve y cómo funciona. aula21 |

Formación para la Industria; aula21. https://www.cursosaula21.com/que-es-un-servomotor/

Fernández, Y. (2019, febrero 4). Qué es IFTTT y cómo lo puedes utilizar para crear

automatismos en tus aplicaciones. Xataka.com; Xataka Basics.

https://www.xataka.com/basics/que-ifttt-como-puedes-utilizar-para-crear-automatismos-tus-

aplicaciones

del Valle Hernández, L. (2016, noviembre 10). Servomotor con Arduino tutorial de

programación paso a paso. Programar fácil con Arduino.

https://programarfacil.com/blog/arduino-blog/servomotor-con-arduino/

Gómez, E. (2017, octubre 31). Cómo funciona el Puerto Serie y la UART. Rincón Ingenieril.

https://www.rinconingenieril.es/funciona-puerto-serie-la-uart/

¿Qué es PWM y cómo usarlo? (s/f). Solectroshop.com. Recuperado el 30 de abril de 2023, de

https://solectroshop.com/es/blog/que-es-pwm-y-como-usarlo--n38
Tutorial uso de servomotores con arduino. (s/f). Naylamp Mechatronics - Perú. Recuperado el

30 de abril de 2023, de https://naylampmechatronics.com/blog/33_tutorial-uso-de-servomotores-

con-arduino.html

(S/f). Digikey.com. Recuperado el 30 de abril de 2023, de

https://www.digikey.com/es/articles/how-to-select-and-use-the-right-esp32-wi-fi-bluetooth-

module

Qué es Arduino IDE. (2016, julio 14). TuElectronica.es. https://tuelectronica.es/que-es-arduino-

ide/

(S/f). Gobiernodecanarias.org. Recuperado el 30 de abril de 2023, de

https://www3.gobiernodecanarias.org/medusa/ecoblog/dtrugar/files/2020/01/03-arduino-teoria-

componentes.pdf

(S/f). Digikey.com. Recuperado el 3 de junio de 2023, de


https://www.digikey.com/es/articles/how-to-select-and-use-the-right-esp32-wi-fi-bluetooth-
module#:~:text=El%20m%C3%B3dulo%20ESP32%20es%20una,para%20conectarse%20con
%20varios%20perif%C3%A9ricos.

También podría gustarte