Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Cerradura Inteligente WiFi con Arduino y ESP8266: Desbloqueo desde el Móvil

Componentes y materiales

ComponenteCantidad
Arduino UNO R31
Módulo WiFi ESP8266 (con antena PCB)1
Transistor Darlington de alta potencia1
Solenoide tipo cerradura1

Aplicaciones y servicios

Descripción del proyecto

En este tutorial aprenderás a crear una cerradura inteligente basada en Arduino que se desbloquea desde tu teléfono móvil. Al finalizar el proyecto:

Seguridad en puertas con cerradura inteligente

Hoy en día puedes mejorar la seguridad de tu hogar u oficina con tecnología de vanguardia. El uso de smartphones y dispositivos inteligentes se ha vuelto accesible para todos, permitiendo crear automatización doméstica más segura y cómoda. Seguramente has visto cerraduras con teclado o lector de huella; este proyecto propone una alternativa más sencilla: un código QR en la puerta que lleva a una página web donde usuarios autorizados introducen su contraseña.

Cerradura Inteligente WiFi con Arduino y ESP8266: Desbloqueo desde el Móvil

Ventajas del sistema:

Esquema de conexiones

Cerradura Inteligente WiFi con Arduino y ESP8266: Desbloqueo desde el Móvil

Código

Se necesitan dos programas: uno para el ESP8266 (página web + recepción contraseña → envío serie a Arduino) y otro para el Arduino (recepción serie → control solenoide). Ambos se suben desde Arduino IDE.

Configuración inicial del Arduino IDE

  1. Descarga desde arduino.cc e instala.
  2. Abre el IDE, limpia el editor y pega el código correspondiente.
  3. En Herramientas → Placa, selecciona tu Arduino.
  4. Conecta el Arduino por USB y selecciona el puerto COM en Herramientas → Puerto.
  5. Pulsa Subir (icono flecha).

Código para Arduino (control solenoide)

String inputString = "";         // Buffer para datos entrantes
bool stringComplete = false;     // Flag: cadena completa recibida

void setup() {
  Serial.begin(115200);
  inputString.reserve(200);
  pinMode(9, OUTPUT);            // Pin control solenoide
}

void loop() {
  if (stringComplete) {
    if (inputString == "your_password") {  // Cambia "your_password" por tu clave
      digitalWrite(9, HIGH);    // Activa solenoide
      delay(300);               // Mantiene 300 ms
      digitalWrite(9, LOW);     // Desactiva
      Serial.println(inputString);
      inputString = "";
      stringComplete = false;
    }
  }
}

void serialEvent() {
  while (Serial.available()) {
    char inChar = (char)Serial.read();
    inputString += inChar;
    if (inChar == '\n') {
      stringComplete = true;
    }
  }
}

Preparar Arduino IDE para ESP8266

  1. Archivo → Preferencias → en "URLs adicionales de gestor de tarjetas" añade: https://arduino.esp8266.com/stable/package_esp8266com_index.json
  2. Herramientas → Placa → Gestor de tarjetas → busca "esp8266" → instala.
  3. En Herramientas → Placa selecciona Generic ESP8266 Module.
  4. Conecta el ESP8266 vía conversor USB-TTL, selecciona el puerto correcto.

Código para ESP8266 (servidor web + WiFi)

#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>

// Credenciales WiFi - CAMBIAR POR LAS TUYAS
const char* ssid = "YourSSID";
const char* password = "YourPASSWORD";

ESP8266WebServer server(80);
char htmlResponse[3000];

void handleRoot() {
  snprintf(htmlResponse, 3000,
    "<!DOCTYPE html>\n"
    "<html lang=\"en\">\n"
    "<head>\n"
    "<style>\n"
    "body {background-color: rgb(160, 0, 53);}\n"
    "h3 {color: white; text-align:center;}\n"
    "p {color: white; text-align:center;}\n"
    "div {color: white; text-align:center;}\n"
    "input {text-align:center;}\n"
    "</style>\n"
    "<meta charset=\"utf-8\">\n"
    "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n"
    "</head>\n"
    "<body>\n"
    "<h3><center>Electropeak Smart Security Door</center></h3>\n"
    "<p><center>Please type your ID</center></p>\n"
    "<div>ID: <input type='text' name='pass_word' id='pass_word' align='center' size=10 autofocus></div>\n"
    "<div><br><button id=\"save_button\">Log In</button></div>\n"
    "<script src=\"https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js\"></script>\n"
    "<script>\n"
    "var pass;\n"
    "$('#save_button').click(function(e){\n"
    "  e.preventDefault();\n"
    "  pass = $('#pass_word').val();\n"
    "  $.get('/save?pass=' + pass, function(data){\n"
    "    console.log(data);\n"
    "  });\n"
    "});\n"
    "</script>\n"
    "</body>\n"
    "</html>");
  server.send(200, "text/html", htmlResponse);
}

void handleSave() {
  if (server.arg("pass") != "") {
    Serial.println(server.arg("pass"));  // Envía contraseña al Arduino por serie
  }
}

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

  // Conexión WiFi
  Serial.println();
  Serial.print("Conectando a ");
  Serial.println(ssid);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi conectado");
  Serial.print("Dirección IP: ");
  Serial.println(WiFi.localIP());

  server.on("/", handleRoot);
  server.on("/save", handleSave);
  server.begin();
  Serial.println("Servidor HTTP iniciado");
}

void loop() {
  server.handleClient();
}

Prueba y código QR

  1. Sube el código al ESP8266.
  2. Abre el Monitor Serie del Arduino IDE (115200 baudios) y anota la IP local que muestra (ej: 192.168.1.45).
  3. Escribe esa IP en el navegador de tu móvil (conectado a la misma WiFi). Verás la página de login.
  4. Introduce la contraseña correcta ("your_password" en el código Arduino) → el solenoide se activará.
Cerradura Inteligente WiFi con Arduino y ESP8266: Desbloqueo desde el Móvil

Generar código QR

Usa un generador online (ej: qr-code-generator.com), pega la IP y crea el QR. Imprímelo y pégalo junto a la puerta.

Cerradura Inteligente WiFi con Arduino y ESP8266: Desbloqueo desde el Móvil

Para abrir: conéctate a la WiFi, escanea el QR, introduce tu ID.

Cerradura Inteligente WiFi con Arduino y ESP8266: Desbloqueo desde el Móvil

Próximos pasos / Mejoras

Puedes leer este y otros tutoriales en la web oficial de ElectroPeak.

Proceso de manufactura

  1. Por Dentro de las Cámaras Acorazadas Bancarias: Historia, Diseño y Futuro de la Seguridad
  2. Construye un Robot Raspberry Pi Controlado por Wi‑Fi con Python – Guía Paso a Paso
  3. Crea un Impresionante Sistema Ambilight para Monitor con Arduino
  4. Crea un Cerrojo RFID Seguro con Arduino – Guía Paso a Paso
  5. Persianas Inteligentes: Control Automático de Luz con Arduino y Energía Solar
  6. Construye un Voltímetro Inteligente con Arduino y Smartphone – Proyecto DIY Fácil
  7. Monitor de Frecuencia Cardíaca IoT en Tiempo Real con Arduino y MAX30100
  8. Construye un tarro inteligente IoT con ESP8266, Arduino y sensor ultrasónico: Monitorización en tiempo real
  9. Servidor Web Arduino Uno WiFi: Controla un LED desde el Navegador
  10. Brazo Robótico Inteligente Controlado por Arduino: Tutorial DIY Fácil
  11. Cerradura Inteligente WiFi con Arduino y ESP8266: Desbloqueo desde el Móvil