Menú
Está libre
registro
el principal  /  EN/ Cerradura electrónica para arduino nano. Un candado de combinación inusual en Arduino

Cerradura electrónica para arduino nano. Un candado de combinación inusual en Arduino

Imagínese una cerradura de puerta operada con llave RF.

La cerradura funciona así: Trajimos NUESTRA llave (etiqueta RFID) - la cerradura se cerró, volví a traer la llave - la cerradura se abrió. Para visualizar el funcionamiento de la cerradura se utilizan seis LED de dos colores (regla). Al cerrar, pasa una luz roja, al abrir, una verde. Si trae la llave de CUALQUIERA, los LED rojos parpadearán.

Como actuador, decidí utilizar el mecanismo de cierre centralizado del automóvil. Puedes comprar uno nuevo, puedes usarlo, la diferencia de precio no es grande, entonces usé uno nuevo, es más confiable. La varilla de transmisión está conectada al pestillo. La espagnolette sigue siendo soviética, fuerte. Y no necesito un poderoso "anti-vandalismo".

La "máquina" está controlada por dos cables. Una polaridad extiende el vástago, la polaridad inversa retrae el vástago. A 12 voltios, la corriente es de 6 amperios, mucho ...
No hay interruptores de límite en la "máquina".

Partiendo del hecho de que el circuito de la cerradura (como se concibió) tiene una fuente de alimentación garantizada, una batería de 12 voltios, para asegurar el funcionamiento de la cerradura, en caso de una pérdida de ~ 220. Desarrolló un esquema de control de puente para la "máquina". Una característica especial del circuito es su no linealidad, que garantiza un funcionamiento confiable del mecanismo de bloqueo y, al mismo tiempo, un modo de funcionamiento suave de la "máquina" y los transistores clave.

En el diagrama (arriba), el hombro "Cerrar" está resaltado en rojo y el hombro "Abierto" está resaltado en verde. Los hombros se alimentan por separado, a través de resistencias (ubicadas en la fuente de alimentación). Separación de la fuente de alimentación de los brazos del puente, introducida para eliminar falsas alarmas.

Explicación: A través de resistencias de 33 ohmios (en el diagrama de la fuente de alimentación), un voltaje de 12 voltios carga los condensadores (2000 microfaradios, en cada brazo). Cuando el voltaje de control proviene del controlador Arduino_ProMini- 168 a la entrada "Cerrar" (o similarmente a "Abrir"), a través del optoacoplador PVT322 - se abre el brazo de llave correspondiente. En este caso ocurre lo siguiente: En el momento de abrir las teclas, la energía de los condensadores "tira" poderosamente del motor de la "máquina". A medida que los condensadores se descargan (esto sucede rápidamente), el motor del "automóvil" es alimentado por una corriente limitada por resistencias (33 ohmios). Debido a esto, al final del proceso de "cerrar" - "abrir" la cerradura, el vástago se mueve con bastante lentitud.

Esta forma de control del motor es óptima.

Circuito de alimentación del transformador. En general, el circuito de bloqueo se alimenta con una batería de 12 voltios y 2,8 A / H. Y el circuito de suministro de energía mantiene la batería a un nivel nominal. El LED de red indica el funcionamiento normal de la fuente de alimentación.

Todos los diodos son 1N4007 (olvidé indicarlo en el diagrama, pero la persona hizo la pregunta: ¿cuáles?).

(1) limitador de sobrecorriente montado. Resistencia R 1 el umbral de corriente superior se establece en 300 mA.
En el estabilizador integrado LM317 (2) regulador de voltaje ensamblado. El voltaje de estabilización se ajusta mediante una resistenciaR 2 ... El voltaje de la batería debe ser de 13,7 voltios.

El voltaje de la batería se suministra en tres puntos.
A través de resistencias (33 ohmios cada una) en (X), (Y) - fuente de alimentación de los brazos de las teclas "driver" del motor "coche".

Colecciono la mayoría de mis dispositivos de lo que tengo a mano. Este proyecto no es una excepción. Como cuerpo, uso un cuerpo :) de balasto electrónico:

Los LED No. 2 ... No. 7 son de dos colores. Están dispuestos en línea. Se utilizan para visualizar los procesos de "apertura" y "cierre" de la cerradura. Embellecimiento.

Este proyecto es modular, es decir puede conectar / desconectar diferentes elementos y obtener diferentes funcionalidades. Las imágenes de arriba muestran la opción con funcionalidad completa, a saber:

  • Mecanismo de bloqueo... Sirve para ABRIR y CERRAR la puerta. Este proyecto cubre el uso de tres mecanismos diferentes:
    • Servo. Hay grandes, hay pequeños. Muy compacto y con un perno pesado es una gran opción.
    • Accionamiento eléctrico de la cerradura de la puerta del coche. Una cosa grande y poderosa, pero solo come corrientes locas.
    • Pestillo de solenoide. Una buena opcion mientras se golpea a sí mismo

    En la configuración del firmware, puede elegir cualquiera de los tres tipos (configuración Tipo de bloqueo)

  • Botón en el interior... Sirve para ABRIR y CERRAR la puerta desde el interior. Se puede colocar en la manija de la puerta (lado de la palma o del dedo), en la puerta misma o en la jamba
  • Botón exterior... Sirve para CERRAR la puerta, así como para DESPERTAR del ahorro energético. Se puede colocar en la manija de la puerta (lado de la palma o del dedo), en la puerta misma o en la jamba
  • Parada final para cerrar la puerta. Sirve para cerrar automáticamente la cerradura cuando la puerta está cerrada. Ellos pueden ser:
    • Botón de tacto
    • Sensor Hall + imán en la propia puerta
    • Interruptor de lengüeta + imán en la propia puerta
  • Secreto acceder al botón de reinicio... Sirve para restablecer la contraseña / ingresar una nueva contraseña / memorizar una nueva clave / combinación, etc. Puede estar escondido en algún lugar del estuche.
  • Diodo emisor de luz para indicar trabajo. Se utilizan colores LED RGB, rojo y verde (cuando se mezclan, dan amarillo):
    • Se ilumina en verde: la cerradura está ABIERTA. Quema para no olvidar cerrar la puerta
    • Amarillo fijo: el sistema se ha activado y está esperando la introducción de la contraseña.
    • Rojo parpadeante: la batería está agotada

Cualquiera de estos elementos se puede excluir del sistema:

  • Quitamos el final de carrera. En el firmware en la configuración, también lo deshabilitamos (configuración tail_button). Ahora para cerrar la cerradura, debes presionar el botón
  • Quitamos el botón exterior. En el firmware en la configuración, también lo deshabilitamos (configuración Wake_button). Ahora el sistema no necesita ser despertado, se despierta solo (el consumo de energía es ligeramente mayor). Además, ya no tenemos un botón de cierre en la parte delantera de la puerta y necesitamos un interruptor de límite. O la cerradura es el diablo
  • Quitamos el botón interior. Esta opción es adecuada para armarios y cajas fuertes. No es necesario cambiar nada en la configuración.
  • Quitamos el LED. No es necesario cambiar nada en la configuración.
  • El botón de reinicio de acceso se puede desoldar después del primer uso, o puede reescribir el código usted mismo.
  • Puerta cerrada, presionada EXTERIOR - despertar, esperar contraseña / etiqueta RFID / llave electrónica / huella digital
  • La puerta está cerrada, el sistema se ha despertado, esperando que se ingrese la contraseña. El tiempo se puede ajustar (configuración hora de dormir)
  • La puerta está cerrada, se ha introducido una contraseña / etiqueta / clave, etc. - abierto
  • Puerta cerrada, presionada DENTRO - abierta
  • Puerta abierta, presionada HACIA FUERA - cerrar
  • Puerta abierta, presionada DENTRO - cerrar
  • La puerta está abierta, el FIN está presionado - cerrar

La cerradura permite el funcionamiento con batería en modo de ahorro de energía bajo (encender apagar: ajuste sleep_enable), a saber:

  • Despierta cada pocos segundos, monitorea el EVENTO (opcional si no hay ningún botón afuera. Puedes habilitarlo en la configuración Wake_button)
  • Cada pocos minutos, controle el voltaje de Akum (configuración de encendido / apagado monitor_bateria)
  • Si Akum se descarga (el voltaje se establece en el ajuste bat_low):
    • abrir la puerta (opcional, se puede configurar en el firmware open_bat_low)
    • prohibir nuevas aperturas y cierres
    • cuando se presionan los botones, el LED rojo parpadea
    • dejar de monitorear el EVENTO (es decir, ingresar contraseña / etiqueta, etc.)

Cuando el sistema esté activo, presione el botón de cambio de contraseña (botón oculto). Caemos en modo de cambio de contraseña:
Ingrese la contraseña de los números ( MÁXIMO 10 CIFRAS !!!)

  • Cuando presiona *, la contraseña se escribe en la memoria y el sistema sale de cambiar la contraseña
  • Cuando presiona #, la contraseña se restablece (puede ingresarla nuevamente)
  • Si no presiona nada durante 10 segundos, saldremos automáticamente del modo de cambio de contraseña, la contraseña seguirá siendo antigua

Cuando el sistema está despierto (se despierta con los botones o el modo de suspensión está desactivado), presione * para ingresar al modo de ingreso de contraseña
Si el sistema duerme y se despierta periódicamente para verificar el EVENTO, presione * y manténgalo presionado hasta que se encienda el LED rojo
Modo de entrada de contraseña:

  • El procesamiento de la contraseña se realiza de tal manera que la contraseña correcta se cuenta solo cuando se escribe la secuencia correcta de números, es decir, si la contraseña es 345, entonces se puede ingresar cualquier número hasta que aparezca la secuencia 345, es decir, 30984570345 abrirá la cerradura cuando termine en 345.
  • Si la contraseña se ingresa correctamente, la puerta se abrirá
  • Si no presiona nada, después de 10 segundos el sistema volverá al modo normal (en espera)
  • Si presiona #, saldremos inmediatamente del modo de ingreso de contraseña
  • Si presiona botón secreto cambie la contraseña en el modo de entrada de contraseña, luego también saldremos de ella

DACHA, como la mayoría de los que lo tienen, lo asocia con las palabras: descanso, asado, comodidad y otros movimientos agradables del cuerpo y el espíritu, pero también hay parte trasera: huerta, excavación, reparación, construcción, etc.

Durante 10 años, mi familia y yo hemos intentado perfeccionar y crear el máximo confort en nuestra casa de campo. Construimos, reparamos, etc. Una casa, un granero, una casa de baños ... ... y finalmente llegó a una valla en la calle, una puerta y una puerta. Hacerlo es concienzudo, económico y conveniente.

Después de discutir algunos de los detalles, se decidió que la puerta debería ser automática y que la puerta debería tener algunas propiedades ACS. Con el portón, el problema se resolvió comprando un conjunto de automatización (accionamiento, riel, control remoto, etc.), y con el portón fue necesario solucionar algunos problemas, sobre ellos a continuación.

Las tareas fueron las siguientes:

  1. Se suponía que el castillo funcionaría en conjunto con video instalado intercomunicador (abre la puerta sin salir de casa)
  2. Poder abrir la puerta con llave normal y sin llave desde la calle y el patio.
  3. Se mantendrá dentro del presupuesto restante hasta 5000 rublos.

Las búsquedas en Runet presentaron el siguiente rango de precios desde 7000 hasta el infinito. La compra de una solución lista para usar desapareció y se concibió una alternativa con amplias oportunidades, a saber, ¡cortar la puerta usted mismo!

Después de algunos cálculos y cálculos, se decidió comprar una cerradura electromecánica por aproximadamente 2000 rublos, un teclado impermeable por 350 rublos y un MK que conducirá aquí. Dado que había varias placas nano Arduino, relés y piezas sueltas y algunos cables en stock, la diferencia entre el costo del kit terminado fue de más de 4000 tr. Para mí, una gran ventaja para la billetera y el autodesarrollo.

Bueno, ahora, de las palabras a la acción:

Después de comprar todo componentes necesarios comenzó a ver.

Diagrama de conexión del teclado

Indicación LED adicional (blanco, verde, rojo) del panel con las señales del teclado (ingresar, contraseña correcta abrir la puerta, rechazada).

  • pin 9 amarillo
  • pin 10 verde
  • pin 11 rojo

El panel (celosía) fabricado en plexiglás, recortado en una caja de bombones y una sonrisa por parte de los vecinos de la oficina. Pero el cortador más pequeño resultó ser un poco más gordo, tuve que trabajar con una lima.

Bueno, aquí está el fin de semana, me mudé a la dacha.

Para abrir una cerradura electromecánica, necesita 12 voltios. La fuente de alimentación que alimentaba el MK era de 5 V., la solución fue poner un convertidor dc-dc elevador desde el cielo para la cerradura. Comencé a verificar todo, funciona, pero cuando se aplicó voltaje al solenoide de la cerradura, el dunya se reinició, cortocircuito a la fuente de alimentación. Además, después de conectar el panel exterior del videoportero a la cerradura, cuando se presionó el botón para abrir la puerta, no pasó nada, una pequeña corriente en la cerradura. Tirar de nuevos cables no es una opción, ya estaban hormigonados a la salida de la casa. Decidí agregar otro relé para el panel y poner una fuente de alimentación adicional de 12 voltios. para el castillo. Después de analizar / recopilar, todo funcionó, MK dejó de reiniciarse. Escondí todo en una caja de conexiones impermeable, escondí los cables, el pegamento, la silicona y ¡listo!

El progreso no se detiene y las "cerraduras inteligentes" aparecen cada vez más en las puertas de apartamentos, garajes y casas.

Se abre un candado similar cuando presiona un botón en un teléfono inteligente. Afortunadamente, los teléfonos inteligentes y las tabletas ya han entrado en nuestra vida cotidiana. En algunos casos, "cerraduras inteligentes" se conectan a " servicios en la nube"como una unidad de Google y abrir de forma remota. Además, esta opción permite dar acceso para abrir la puerta a otras personas".

En este proyecto, se implementará una versión de bricolaje del bloqueo inteligente en Arduino, que se puede controlar de forma remota desde cualquier parte del mundo.

Además, el proyecto agregó la capacidad de abrir el candado después del reconocimiento de huellas dactilares. Para ello, se integrará un sensor de huellas dactilares. Ambas opciones de apertura de puertas estarán impulsadas por la plataforma Adafruit IO.

Una cerradura como esta puede ser un gran primer paso en su proyecto de Hogar inteligente.

Configuración del sensor de huellas dactilares

Para trabajar con el sensor de huellas dactilares, existe una excelente biblioteca para Arduino que facilita mucho el proceso de configuración del sensor. Este proyecto utiliza Arduino Uno. Se utiliza una placa Adafruit CC3000 para conectarse a Internet.

Comencemos conectando la energía:

  • Conecte el pin de 5V de la placa Arduino al riel de alimentación rojo;
  • El pin GND del Arduino se conecta al riel azul en la placa de circuito sin soldadura.

Pasemos a conectar el sensor de huellas dactilares:

  • Primero conecte la energía. Para esto, el cable rojo se conecta al riel de +5 V y el cable negro al riel GND;
  • El cable blanco del sensor se conecta al pin 4 del Arduino.
  • El cable verde va al pin 3 del microcontrolador.

Ahora abordemos el módulo CC3000:

  • El pin IRQ de la placa CC3000 está conectado al pin 2 en el Arduino.
  • VBAT - al pin 5.
  • CS - al pin 10.
  • Después de eso, debe conectar los pines SPI al Arduino: MOSI, MISO y CLK, a los pines 11, 12 y 13, respectivamente.

Finalmente, debe proporcionar energía: Vin al Arduino 5V (riel rojo en su placa de circuito) y GND a GND (riel azul en la placa).

A continuación se muestra una foto del proyecto completamente ensamblado:

Antes de desarrollar un boceto que cargará datos en Adafruit IO, debe transferir los datos de sus huellas digitales al sensor. De lo contrario, no te reconocerá en el futuro;). Recomendamos calibrar el sensor de huellas dactilares usando el Arduino por separado. Si está trabajando con este sensor por primera vez, le recomendamos que se familiarice con el proceso de calibración y las instrucciones detalladas para trabajar con el sensor de huellas dactilares.

Si aún no lo ha hecho, cree una cuenta en Adafruit IO.

Después de eso, podemos pasar a la siguiente etapa del desarrollo de un bloqueo inteligente en Arduino: es decir, desarrollar un boceto que transferirá datos a Adafruit IO. Dado que el programa es bastante voluminoso, en el artículo destacaremos y consideraremos solo sus partes principales, y luego daremos un enlace a GitHub, donde puede descargar el boceto completo.

El boceto comienza cargando todas las bibliotecas requeridas:

#incluir

#incluir

#incluir

#include "Adafruit_MQTT.h"

#include "Adafruit_MQTT_CC3000.h"

#incluir

#incluir >

Después de eso, debe corregir ligeramente el boceto insertando los parámetros de su red WiFi, especificando el SSID y la contraseña (contraseña):

#define WLAN_SECURITY WLAN_SEC_WPA2>

Además, debe ingresar su nombre y la clave AIO (clave) para iniciar sesión en su cuenta Adafruit IO:

#define AIO_SERVERPORT 1883

#define AIO_USERNAME "adafruit_io_name"

#define AIO_KEY "adafruit_io_key">

Las siguientes líneas se encargan de la interacción y procesamiento de los datos del sensor de huellas dactilares. Si el sensor fue activado (huella dactilar coincidente), habrá "1":

const char FINGERPRINT_FEED PROGMEM = AIO_USERNAME "/ feeds / huella digital";

Adafruit_MQTT_Publish huella digital = Adafruit_MQTT_Publish (& mqtt, FINGERPRINT_FEED);

Además, necesitamos crear una instancia del objeto SoftwareSerial para nuestro sensor:

SoftwareSerial mySerial (3, 4);

Después de eso, podemos crear un objeto para nuestro sensor:

Adafruit_Fingerprint finger = Adafruit_Fingerprint (& mySerial);

Dentro del boceto, indicamos qué fingerID debe activar el bloqueo en el futuro. Este ejemplo usa 0, que corresponde al ID de la primera huella digital que usa el sensor:

int fingerID = 0;

Después de eso, inicializamos el contador y retrasamos nuestro proyecto. Básicamente, queremos que la cerradura funcione automáticamente después de abrirse. Este ejemplo usa un retraso de 10 segundos, pero puede ajustar este valor para que se adapte a sus necesidades:

int ActivationCounter = 0;

int lastActivation = 0;

int ActivaciónTime = 10 * 1000;

En el cuerpo de la función setup (), inicializamos el sensor de huellas dactilares y conectamos el chip CC3000 a su red WiFi.

En el cuerpo de la función loop (), conéctese a Adafruit IO. La siguiente línea es responsable de esto:

Después de conectarnos a la plataforma Adafruit IO, comprobamos la última huella dactilar. Si coincide y el bloqueo no está activado, enviamos "1" para su procesamiento en Adafruit IO:

if (fingerprintID == fingerID && lockState == false) (

Serial.println (F ("¡Acceso concedido!"));

lockState = verdadero;

Serial.println (F ("Fallido"));

Serial.println (F ("¡OK!"));

lastActivation = millis ();

Si dentro de la función loop () se activa el bloqueo y hemos alcanzado el valor de retardo indicado arriba, enviamos "0":

if ((ActivationCounter - lastActivation> ActivaciónTime) && lockState == true) (

lockState = falso;

if (! fingerprint.publish (estado)) (

Serial.println (F ("Fallido"));

Serial.println (F ("¡OK!"));

Puede descargar la última versión del código en GitHub.

¡Es hora de probar nuestro proyecto! ¡No olvide descargar e instalar todas las bibliotecas Arduino necesarias!

Asegúrese de realizar todos los cambios necesarios en el boceto y cárguelo en su Arduino. Luego abra la ventana del monitor serial.

Cuando el Arduino se conecta a Redes wifi, el sensor de huellas dactilares parpadeará en rojo. Coloque su dedo sobre el sensor. La ventana del monitor de serie debe mostrar el número de identificación. Si coincide, aparecerá el mensaje "¡OK!". Esto significa que los datos se han enviado a los servidores de Adafruit IO.

Diagrama y croquis para una configuración adicional de la cerradura usando el ejemplo de un LED

Ahora vayamos a la parte del proyecto que es directamente responsable de controlar la cerradura de la puerta. Para conectarse a red inalámbrica y activar / desactivar la cerradura que necesitará módulo adicional Adafruit ESP8266 (ESP8266 no necesita ser de Adafruit) Con el siguiente ejemplo, puede apreciar lo fácil que es intercambiar datos entre dos plataformas (Arduino y ESP8266) utilizando Adafruit IO.

En este apartado no trabajaremos directamente con la cerradura. En su lugar, simplemente conectaremos el LED al pin en el que se conectará la cerradura más adelante. Esto permitirá probar nuestro código sin profundizar en el diseño de la cerradura.

El circuito es bastante simple: primero instale el ESP8266 en la placa de pruebas. Luego instale el LED. No olvide que la pata larga (positiva) del LED está conectada a través de una resistencia. La segunda pata de la resistencia se conecta al pin 5 del módulo ESP8266. El segundo (cátodo) del LED está conectado al pin GND en el ESP8266.

El circuito completamente ensamblado se muestra en la foto a continuación.


Ahora echemos un vistazo al boceto que usaremos para este proyecto. Nuevamente, el código es bastante voluminoso y complejo, por lo que solo cubriremos las partes principales:

Comenzamos conectando las bibliotecas requeridas:

#incluir

#include "Adafruit_MQTT.h"

#include "Adafruit_MQTT_Client.h"

Configuración de los parámetros de WiFi:

#define WLAN_SSID "your_wifi_ssid"

#define WLAN_PASS "your_wifi_password"

#define WLAN_SECURITY WLAN_SEC_WPA2

También configuramos los parámetros de Adafruit IO. Lo mismo que en el apartado anterior:

#define AIO_SERVER "io.adafruit.com"

#define AIO_SERVERPORT 1883

#define AIO_USERNAME "adafruit_io_username"

#define AIO_KEY "adafruit_io_key"

Indicamos a qué pin conectamos el LED (en un futuro será nuestra cerradura o relé):

int relayPin = 5;

La interacción con el sensor de huellas dactilares es la misma que en el apartado anterior:

const char LOCK_FEED PROGMEM = AIO_USERNAME "/ feeds / lock";

Adafruit_MQTT_Subscribe lock = Adafruit_MQTT_Subscribe (& mqtt, LOCK_FEED);

En el cuerpo de la función setup (), indicamos que el pin al que está conectado el LED debe funcionar en el modo SALIDA:

pinMode (relayPin, SALIDA);

Dentro del loop (), primero verificamos si estamos conectados al Adafruit IO:

Después de eso, verificamos qué señal se está recibiendo. Si se transmite "1", activamos el contacto que declaramos anteriormente, al que se conecta nuestro LED. Si recibimos "0", transferimos el contacto al estado "bajo":

Suscripción Adafruit_MQTT_Subscribe *;

while ((suscripción = mqtt.readSubscription (1000))) (

if (suscripción == & bloqueo) (

Serial.print (F ("Got:"));

Serial.println ((char *) lock.lastread);

// Guarde el comando en cadena de datos

Comando de cadena = Cadena ((char *) lock.lastread);

si (comando == "0") (

digitalWrite (relayPin, LOW);

si (comando == "1") (

digitalWrite (relayPin, HIGH);

Encontrar ultima versión boceto que puede en GitHub.

Es hora de probar nuestro proyecto. No olvide descargar todas las bibliotecas necesarias para su Arduino y comprobar si realizó los cambios correctos en el boceto.

Se puede utilizar un simple convertidor USB-FTDI para programar el chip ESP8266.

Sube el boceto al Arduino y abre la ventana del monitor serial. Sobre el este escenario acabamos de comprobar si pudimos conectarnos a Adafruit IO: funcionalidad disponible lo consideraremos más a fondo.

Probando el proyecto

¡Ahora comencemos a probar! Vaya al menú de usuario de su Adafruit IO, en el menú Feeds. Compruebe si se han creado los canales para la huella dactilar y el bloqueo (en la pantalla de impresión a continuación se encuentran las líneas de huella dactilar y de bloqueo):


Si no están allí, tendrá que crearlo manualmente.

Ahora necesitamos asegurar el intercambio de datos entre los canales de huellas dactilares y de bloqueo. El canal de bloqueo debe establecerse en "1" cuando el canal de huellas dactilares se establece en "1" y viceversa.

Para hacer esto, usamos una herramienta Adafruit IO muy poderosa: triggers. Los activadores son esencialmente condiciones que puede aplicar a los canales configurados. Es decir, se pueden utilizar para interconectar dos canales.

Cree un nuevo disparador reactivo desde la sección Disparadores de Adafruit IO. Esto proporcionará la capacidad de intercambiar datos entre el sensor de huellas dactilares y los canales de bloqueo:


Así es como debería verse cuando se configuran ambos disparadores:

¡Todo! ¡Ahora realmente podemos probar nuestro proyecto! Ponemos nuestro dedo en el sensor y vemos como el Arduino empezó a parpadear con el LED que corresponde a la transferencia de datos. Después de eso, el LED del módulo ESP8266 debería comenzar a parpadear. Esto significa que comenzó a recibir datos a través de MQTT. El LED de la placa de circuito también debería encenderse en este punto.

Después de la demora que estableció en el boceto (el valor predeterminado es de 10 segundos), el LED se apagará. ¡Felicidades! ¡Puedes controlar el LED con tu huella digital desde cualquier parte del mundo!

Configurar una cerradura electrónica

Llegamos a la última parte del proyecto: conexión y control directos cerradura electronica con usando Arduino y un sensor de huellas dactilares. El proyecto no es simple, puede usar todas las fuentes en la forma en que se presentan arriba, pero en lugar del LED, conecte un relé.

Para conectar directamente la cerradura, necesitará componentes adicionales: una fuente de alimentación de 12 V, un conector para la fuente de alimentación, un transistor (en este ejemplo, se usa IRLB8721PbF MOSFET, pero puede usar otro, por ejemplo, un transistor bipolar TIP102 Si está usando un transistor bipolar, necesitará agregar una resistencia.

Mostrado a continuación circuito eléctrico conectando todos los componentes al módulo ESP8266:


Tenga en cuenta que si está utilizando un transistor MOSFET, no necesita una resistencia entre el pin 5 del ESP8266 y el transistor.

Completamente proyecto ensamblado se muestra en la foto de abajo:


Encienda el módulo ESP8266 usando el módulo FTDI y conecte la fuente de alimentación de 12V al conector. Si usó los pines de conexión recomendados anteriormente, no tendrá que cambiar nada en el boceto.

Ahora puede poner su dedo en el sensor: el bloqueo debería funcionar, respondiendo a su huella digital. El siguiente video muestra el proyecto de un candado "inteligente" automático en acción:

Mayor desarrollo del proyecto "Smart Lock"

En nuestro proyecto hemos lanzado control remoto cerradura de la puerta con su huella digital.

Siéntase libre de experimentar, modificar el boceto y el arnés. Por ejemplo, puede reemplazar una cerradura de puerta electrónica con un relé para controlar la potencia de su impresora 3D, manipulador o cuadricóptero ...

Puede desarrollar su " casa inteligente Por ejemplo, activar de forma remota el sistema de riego en el Arduino o encender las luces de la habitación ... Pero no olvide que puede activar simultáneamente una cantidad casi ilimitada de dispositivos utilizando el Adafruit IO.

Deje sus comentarios, preguntas y comparta experiencia personal debajo. ¡A menudo surgen nuevas ideas y proyectos en la discusión!

En esta lección, aprenderemos cómo hacer un sistema simple que desbloqueará la cerradura llave electronica(Etiqueta).

En el futuro, puede modificar y ampliar la funcionalidad. Por ejemplo, agregue la función "agregar nuevas claves y eliminarlas de la memoria". En el caso básico, considere un ejemplo simple cuando identificador único La clave está preestablecida en el código del programa.

En este tutorial necesitaremos:

Para implementar el proyecto, necesitamos instalar las bibliotecas:

2) Ahora debe conectar el zumbador, que dará una señal si se activa la llave y la cerradura se abre, y la segunda señal cuando se cierra la cerradura.

Conectamos el zumbador en la siguiente secuencia:

Arduino Zumbador
5V VCC
GND GND
pin 5 IO

3) El servo se utilizará como mecanismo de desbloqueo. Se puede elegir cualquier servo, dependiendo de las dimensiones y fuerzas requeridas por usted, que crea el servo. El servo tiene 3 pines:

Más claramente, puedes ver cómo conectamos todos los módulos en la siguiente imagen:

Ahora, si todo está conectado, puede continuar con la programación.

Bosquejo:

#incluir #incluir #incluir // Biblioteca "RFID". #define SS_PIN 10 #define RST_PIN 9 MFRC522 mfrc522 (SS_PIN, RST_PIN); unsigned long uidDec, uidDecTemp; // para almacenar el número de etiqueta en formato decimal Servo servo; void setup () (Serial.begin (9600); Serial.println ("Esperando tarjeta ..."); SPI.begin (); // Inicialización SPI / Init SPI bus.mfrc522.PCD_Init (); // inicialización MFRC522 / Init MFRC522 card.servo.attach (6); servo.write (0); // establece el servo en cerrado) void loop () (// Encuentra una nueva etiqueta if (! Mfrc522.PICC_IsNewCardPresent ()) (return ;) // Seleccione una etiqueta si (! Mfrc522.PICC_ReadCardSerial ()) (return;) uidDec = 0; // Emitir número de serie etiquetas. para (byte i = 0; i< mfrc522.uid.size; i++) { uidDecTemp = mfrc522.uid.uidByte[i]; uidDec = uidDec * 256 + uidDecTemp; } Serial.println("Card UID: "); Serial.println(uidDec); // Выводим UID метки в консоль. if (uidDec == 3763966293) // Сравниваем Uid метки, если он равен заданому то серва открывает. { tone(5, 200, 500); // Делаем señal de sonido, Abriendo servo.write (90); // Giramos el servo en un ángulo de 90 grados (Desbloqueamos cualquier mecanismo: el pestillo, giramos la llave, etc.) delay (3000); // pausa durante 3 segundos y el mecanismo se bloquea. tono (5, 500, 500); // Hacer Bip, Cerrar) servo.write (0); // establecer el servo cerrado)

Analicemos el boceto con más detalle:

Para averiguar el UID de la tarjeta (etiquetas), debe escribir este boceto en arduino, ensamblar el circuito descrito anteriormente y abrir la consola (monitoreo de puerto serie). Cuando lleve la etiqueta al RFID, se mostrará un número en la consola

El UID resultante debe ingresarse en la siguiente línea:

If (uidDec == 3763966293) // Compara el Uid de la etiqueta, si es igual al dado entonces el servo abre la válvula.

Cada tarjeta tiene este identificador único y no se repite. Así, cuando traiga la tarjeta, cuyo identificador ha configurado en el programa, el sistema abrirá el acceso mediante el servo.

Video: