ESP32 - Cerradura de Puerta con Teclado Numérico
Este tutorial te guiará sobre cómo crear un sistema de cerradura de puerta con una contraseña usando un teclado numérico y una cerradura de solenoide. El sistema abrirá la puerta cuando se introduzca la contraseña correcta y mantendrá la puerta desbloqueada durante 20 segundos antes de volver a cerrarse automáticamente. El código para ESP32 también puede admitir varias contraseñas.
※ Nota:
Además de este tutorial, también tenemos otros tutoriales sobre sistemas de cerradura de puertas disponibles:
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | |
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca del teclado numérico y de la cerradura de solenoide
Tenemos tutoriales separados que se enfocan específicamente en teclados numéricos y cerraduras de solenoide. Cada tutorial proporciona información detallada e instrucciones paso a paso sobre la asignación de pines de hardware, el principio de funcionamiento, las conexiones de cableado al ESP32, el código para ESP32 y más. Para obtener más información sobre estos tutoriales, consulte los siguientes enlaces:
Diagrama de Cableado
- ESP32 - Cerradura de puerta con teclado numérico, cerradura de solenoide

This image is created using Fritzing. Click to enlarge image
Si no sabe c\u00f3mo alimentar ESP32 y otros componentes, encuentre instrucciones en el siguiente tutorial: C\u00f3mo alimentar ESP32.
Código ESP32 - Sistema de cierre de puertas con contraseña mediante teclado numérico, cerradura de solenoide
Pasos R\u00e1pidos
- Conecta el ESP32 a tu PC usando un cable USB.
- Abre el IDE de Arduino y selecciona la placa y el puerto adecuados.
- Haz clic en el ícono de Bibliotecas en la barra izquierda del IDE de Arduino.
- Busca la biblioteca “keypad”, luego encuentra la biblioteca keypad creada por Mark Stanley y Alexander Brevig.
- Haz clic en el botón Instalar para instalar la biblioteca keypad.

- Copia el código proporcionado y pégalo en el IDE de Arduino.
- Compila y sube el código a la placa ESP32 haciendo clic en el botón Subir en el IDE de Arduino.
- Abre el Monitor Serial en el IDE de Arduino.
- Pulsa las teclas 12345 y luego pulsa #
- Pulsa las teclas 1234567 y luego pulsa #
- Observa el estado de la lengüeta de la cerradura durante 20 segundos.
- Observa la salida en el Monitor Serial.
Explicación del código
En este sistema, las contraseñas válidas están preprogramadas en el código del ESP32. Una cadena de entrada se utiliza para almacenar la contraseña ingresada por los usuarios. El teclado tiene dos teclas especiales, * y #, que se utilizan para borrar y terminar la contraseña introducida. El sistema funciona de la siguiente manera:
- Cuando se pulsa una tecla distinta de las teclas especiales, se añade a la cadena de entrada.
- Cuando se pulsa la tecla *, la cadena de entrada se borra y se puede reiniciar el proceso de introducción de la contraseña.
- Cuando se pulsa la tecla #:
- La cadena de entrada se compara con las contraseñas predefinidas. Si coincide con alguna de las contraseñas predefinidas, se activa el relé para desbloquear la puerta.
- Independientemente de si la contraseña es correcta o no, la cadena de entrada se borra para la siguiente entrada.
- En el código anterior, para simplificarlo, usamos la función delay. Es mejor usar millis() en lugar de delay(). Consulte Cómo usar millis() en lugar de delay()
- Puede agregar un zumbador piezoeléctrico para que emita un pitido cada vez que se presione el teclado.
- En los códigos anteriores, la puerta se bloquea de nuevo después de 20 segundos. Puedes reemplazarla por un sensor de puerta; la puerta se bloquea cuando el sensor de la puerta detecta que la puerta está cerrada por el usuario.
※ Nota:
Video Tutorial
Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.