Control de apertura de una puerta
Sistema de cerradura electrónica con ESP32, teclado 4×4, LCD y relé
1. Objetivo
Abrir una cerradura de una puerta mediante una contraseña introducida por teclado, bajo el control de un microcontrolador ESP32.
2. Justificación
El proyecto permite practicar, en un caso real y cerrado, la lectura de entradas (teclado), la salida hacia actuadores (relé/cerradura) y la interfaz con el usuario (LCD). Es un sistema autónomo, económico y adecuado para protoboard, alineado con los contenidos de DPIOT sobre ESP32 y periféricos GPIO.
3. Descripción y alcance
El ESP32 actúa como controlador. Un teclado de membrana 4×4 sirve para introducir la contraseña. Una pantalla LCD muestra mensajes de estado (pedir PIN, acceso concedido, acceso denegado). Si la contraseña es correcta, el ESP32 activa un relé que alimenta o libera la cerradura durante un tiempo configurable.
Dentro del alcance
- Validación de PIN en el propio ESP32
- Mensajes en LCD
- Apertura temporal por relé
- Prototipo en protoboard alimentado por USB
Fuera del alcance (por ahora)
- App móvil o panel web
- Conexión WiFi / IoT en la nube
- Huella, RFID o cámara
- PCB definitiva o caja industrial
4. Requisitos
4.1 Funcionales
- Al arrancar, el LCD mostrará un mensaje de bienvenida y pedirá el PIN.
- El usuario introducirá un PIN de 4 dígitos por el teclado.
- Si el PIN es correcto, el LCD indicará acceso concedido y el relé se activará 3 segundos.
- Si el PIN es incorrecto, el LCD mostrará error y se volverá a pedir el PIN.
- Tras 3 intentos fallidos, el sistema bloqueará nuevas entradas durante 30 segundos.
- La tecla
#confirmará el PIN; la tecla*borrará la entrada actual.
4.2 No funcionales
- Alimentación del ESP32 por USB (5 V → 3,3 V interno).
- Relé con aislamiento adecuado a la tensión de la cerradura.
- Código en Arduino IDE (C/C++).
- Montaje inicial en protoboard con cables Dupont.
5. Esquema de bloques
Flujo de alimentación, entradas y salidas del sistema.
Entrada: teclado. Salidas: LCD y relé. Alimentación: USB → ESP32.
6. Flujo de funcionamiento
7. Asignación de pines (provisional)
Valores orientativos; se confirmarán al montar según el modelo exacto de LCD y teclado.
| Periférico | Señal | GPIO ESP32 | Observaciones |
|---|---|---|---|
| Teclado 4×4 | Filas 1–4 | 13, 12, 14, 27 | Librería Keypad |
| Teclado 4×4 | Columnas 1–4 | 26, 25, 33, 32 | Librería Keypad |
| LCD (I2C) | SDA | 21 | Preferible módulo I2C 16×2 |
| LCD (I2C) | SCL | 22 | Preferible módulo I2C 16×2 |
| Relé | IN / control | 15 | Activo según módulo (HIGH/LOW) |
| USB | 5 V / GND | — | Alimentación y programación |
8. Materiales y presupuesto
8.1 Lista de materiales
- ESP32 (USB Type-C)
- Teclado membrana 4×4
- Pantalla LCD (preferible 16×2 con I2C)
- Módulo relé
- Cerradura eléctrica
- Cable USB de programación
- Cables de conexión (Dupont)
- Protoboard
8.2 Presupuesto estimado
| Ud. | Denominación | Precio | Observaciones |
|---|---|---|---|
| 1 | ESP32 | 5 € | DevKit USB-C |
| 1 | Cable USB | 2 € | Programación / alimentación |
| 1 | Teclado 4×4 | 3 € | Membrana |
| 1 | Pantalla LCD | 2 € | 16×2 + I2C si es posible |
| 1 | Relé | 1 € | Módulo 1 canal |
| 1 | Cerradura | 10 € | Comprobar tensión (12 V típico) |
| 1 | Cables de conexión | 1 € | Dupont M-M / M-H |
| 1 | Protoboard | 3 € | 830 puntos aprox. |
| Total estimado: 27 € con IVA | |||
Si la cerradura es de 12 V hará falta una fuente aparte (no incluida en este total). Anotar el modelo exacto en observaciones al comprar.
9. Plan de trabajo
| Fase | Tareas | Estimación | Estado |
|---|---|---|---|
| 1. Anteproyecto | Documento, esquema, presupuesto | 1 sesión | En curso |
| 2. Montaje | Protoboard, teclado, LCD, relé (sin cerradura primero) | 1–2 sesiones | Pendiente |
| 3. Firmware | Lectura teclado, menú LCD, lógica PIN, salida relé | 2–3 sesiones | Pendiente |
| 4. Integración | Conectar cerradura con alimentación adecuada | 1 sesión | Pendiente |
| 5. Pruebas | Casos OK / error / bloqueo; ajuste tiempos | 1 sesión | Pendiente |
| 6. Memoria | Fotos, código, conclusiones | 1 sesión | Pendiente |
10. Criterios de aceptación
El prototipo se considerará válido cuando se cumplan todos estos puntos:
- El LCD pide el PIN al arrancar.
- Un PIN correcto abre el relé unos 3 segundos y muestra mensaje de éxito.
- Un PIN incorrecto muestra error y no activa el relé.
- Tras 3 errores consecutivos, el sistema bloquea la entrada el tiempo previsto.
*borra y#confirma de forma fiable.- No hay reinicios inesperados durante 10 ciclos de prueba seguidos.
11. Riesgos y precauciones
| Riesgo | Impacto | Mitigación |
|---|---|---|
| Cerradura a 12 V / consumo alto | Daño al ESP32 o relé inadecuado | Nunca alimentar la cerradura desde el 3,3 V; usar fuente y relé apropiados |
| LCD paralelo (muchos pines) | Montaje confuso, faltan GPIO | Priorizar LCD con adaptador I2C |
| Rebotes / lecturas erróneas del teclado | PIN mal leído | Librería Keypad y confirmación con # |
| Olvido del PIN de prueba | No se puede abrir en demo | PIN por defecto documentado (ej. 1234) y fácil de cambiar en código |