Menú
Está libre
registrarse
el principal  /  Problemas / Castillo electrónico en Arduino Uno. Cerradura electrónica hazlo tú mismo

Castillo electrónico en Arduino Uno. Cerradura electrónica hazlo tú mismo

En esta lección, aprenderemos a hacer un sistema simple que se deshacerá el castillo en llave electrónica (Etiqueta).

En el futuro, puede refinar y ampliar la funcionalidad. Por ejemplo, agregue la "Agregar nuevas teclas y elimínelas 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 esta lección necesitaremos:

Para implementar el proyecto, necesitamos instalar bibliotecas:

2) Ahora necesita conectar el zumbador que servirá la señal si la tecla funcionó y se abre la cerradura, y la segunda señal cuando se cierra la cerradura.

El zumbador está conectado en la siguiente secuencia:

Arduino. Zumbador
5v. VCC.
GND. GND.
pin 5. Io

3) Se utilizará un servo como un mecanismo de desbloqueo. El servo puede ser seleccionado, dependiendo del tamaño y esfuerzo necesario para usted, lo que crea un servo. Servo Drive tiene 3 contactos:

Más vívidamente puede ver cómo conectamos todos los módulos en la imagen de abajo:

Ahora, si todo está conectado, puedes ir a la programación.

Bosquejo:

#Incluir. #Incluir. #Incluir. // Biblioteca "RFID". #Define ss_pin 10 #define rst_pin 9 mfrc522 mfrc522 (ss_pin, rst_pin); UIDDEC sin firmar, UIDDECMP; // para la etiqueta de la etiqueta en el servo servo de formato decimal; Configuración de vacío () (serial.begin (9600); serial.println ("esperando la tarjeta ..."); spi.begin (); // inicialización del bus SPI SPI / init SPI. MFRC522.pcd_init (); // Inicialización MFRC522 / INIT MFRC522 Tarjeta. Servo.Attach (6); servo.Write (0); // Instale el servidor en el look de guardado cerrado) Void Loop () (// Buscar una nueva etiqueta si (! MFRC522.PICC_ISNEWCARDPRESENTE ( )) (Return;) // seleccionando if (! Mfrc522.picc_readcardserial ()) (return;) uiddec \u003d 0; // emisión número de serie Etiquetas para (byte i \u003d 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); // Gire el servicio en un ángulo de 90 grados (desenrosque cualquier mecanismo: la válvula, gire la llave, etc.) Delay (3000); // Pausa 3 segundos y el mecanismo está bloqueado. Tono (5, 500, 500); // Hacer un pitido, cierre) servo.Write (0); // instalar el servicio en guardado cerrado)

Vamos a examinar el boceto con más detalle:

Para conocer las tarjetas UID (Etiquetas), debe escribir este boceto en Arduino, recoger el esquema establecido anteriormente y abrir la consola (Monitoreo del puerto serie). Cuando traes la etiqueta a RFID, el número en la consola.

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

Si (uiddec \u003d\u003d 3763966293) // Compare las etiquetas UID si es igual al especificado, el servo abre la válvula.

Cada tarjeta tiene un identificador único y no se repite. De tal manera, cuando trae una tarjeta cuyo identificador está establecido en el programa, el sistema abrirá el acceso utilizando un servo.

Video:

En este artículo le diré cómo hacer un castillo de código de Arduino. Para hacer esto, necesitaremos LEDs rojos y verdes, un timbre, Arduino Nano, pantalla LCD Con I2C Convertidor, Servo y Matrix Keyboard 4x4. Cuando enciende la pantalla, escribirá "Introducir código",

encienda el LED rojo,

y el verde saldrá, el servo se establece en 0 °. Al ingresar números en la pantalla se iluminará *.

Si el código se ingresa incorrectamente, la pantalla escribirá "Enter COD". Si el código es correcto, suena el pitido, la unidad servo cumple 180 °, la pantalla escribirá "Abrir".

encenderá el LED verde,

y el rojo se apagará. Después de 3 segundos, el servo volverá a la posición inicial, el LED rojo se encenderá, y el verde saldrá, la pantalla escribirá "Cerrar",

luego, la pantalla escribirá "Introducir código". Ahora sobre el esquema. Primero conecte Arduino con los cables con un tablero por lotes (Contactos de alimentación).

Luego conectamos el teclado de la matriz a los contactos D9 - D2.

Luego servo. Está conectado al contacto 10.

Rojo llevó al contacto 11.

Verde - para contactar 12.

El zumbador es contactar 13.

Ahora carga el boceto.

#Incluir. #Incluir. #Incluir. #Incluir. OVARDUINO_KB KB (9, 8, 7, 6, 5, 4, 3, 2); Liquidcrystal_i2c LCD (0x27, 16, 2); Servo servo; Int-pass \u003d (3, 6, 1, 8); int in; int r \u003d 11; int g \u003d 12; Configuración de vacío () (KB.Begin (KB1); PINMODE (R, OUTPUTE); PINMODE (g, salida); lcd.init (); lcd.backlight (); digitalwrite (g, bajo); digitalwrite (r, alto ); Servo.attach (10); servo.write (0); lcd.setcursor (0, 0);) bucle vacío () (lcd.clear (); lcd.print ("introduzca el código"); mientras (! Kb.check (key_down)) (Delay (1);) en \u003d kb.getnum; lcd.clear (); lcd.setcursor (0, 0); lcd.print ("*"); Mientras (! KB. Compruebe (Key_down)) (Delay (1);) en \u003d kb.getnum; lcd.print ("*"); mientras (! KB.Check (Key_Down)) (Delay (1);) en \u003d kb.getnum; lcd .Print ("*"); Mientras (! Kb.Check (Key_down)) (Delay (1);) en \u003d kb.getnum; lcd.print ("*"); si (en \u003d\u003d pase) (si ( En \u003d\u003d pase) (si (en \u003d\u003d pase) (si (en \u003d\u003d pase) (lcd.clear (); lcd.setcursor (0, 0); lcd.print ("abre"); tono (13, 13, 400, 750); servo.write (180); DigitalWrite (R, bajo); DigitalWrite (g, alto); retardo (3000); lcd.clear (); lcd.setcursor (0, 0); LCD. Imprimir ( "Cerrar"); Tono (13, 300, 700); servo.Write (0); DigitalWrite (G, BAJO); DigitalWrite (R, High); Dela y (1000); ))))))))

Eso es todo. ¡Disfruta del código de código!

Lista de elementos de radio

Designacion Un tipo Nominal número NotaPuntajeMi cuaderno
E1 Arduino

Arduino nano 3.0

1 5v. En cuaderno
E8, e9 Resistor

220 OH.

2 SMD. En cuaderno
E6 Diodo emisor de luz

AL102G.

1 rojo En cuaderno
E7. Diodo emisor de luz

AL307G.

1 Verde En cuaderno
E3. pantalla LCDCon interfaz I2C1 Retroiluminación verde En cuaderno
E5 ServoSG90.1 180 grados En cuaderno
E2. Zumbador5v.1 Bu En cuaderno
E4. Teclado4x41 Matriz En cuaderno
No Tablero de circuitos.640 puntos1 Sin soldadura

El otro día revisé la película "New Spiderman" y en una etapa, Peter Parker se abre de forma remota y cierra la puerta de su computadora portátil. Tan pronto como lo vi, inmediatamente me di cuenta de que necesito una cerradura electrónica de este tipo en la puerta principal.

Rodando un poco, reuní un modelo válido de un castillo inteligente. En este artículo, te diré cómo la recogí.

Paso 1: Lista de materiales





Para montaje castillo electrónico En Arduino, necesitará los siguientes materiales:

Electrónica:

  • Adaptador de pared de 5V

Componentes:

  • 6 tornillos para la espinilla
  • cartulina
  • cables

Instrumentos:

  • soldador
  • pistola adhesiva
  • taladro
  • taladro
  • taladro para el agujero guía
  • cuchillo de papelería
  • ordenador con arduino IDE

Paso 2: Cómo funciona el castillo

La idea es que pueda abrir o cerrar la puerta sin una llave, e incluso sin venir a ella. Pero esta es solo la idea principal, porque aún puede agregar un sensor de detonación para que reaccione a un golpe especial, ¡o puede agregar un sistema de reconocimiento de voz!

La palanca servo conectada al goleible lo cerrará (0 °) y se abrirá (60 °) utilizando los comandos obtenidos a través de módulo Bluetooth.

Paso 3: Esquema de instalación de alambre


Vamos a conectar primero el servo a la Junta Arduino (quiero notar que, aunque usé la tarifa de Arduino Nano, en la Junta de la ONU, la ubicación de las conclusiones es exactamente la misma).

  • alambre marrón servo - puesta a tierra, conéctelo al suelo en Arduino
  • red Wire - Plus, conéctelo al conector 5B en Arduino
  • alambre naranja: salida de la fuente del servo, conéctelo a la 9ª conclusión en Arduino

Le aconsejo que verifique la operación del servo antes de continuar con la Asamblea. Para hacer esto, en el programa IDE Arduino en los ejemplos, elija barrer. Asegurarse de que el servo funcione, podamos conectar un módulo Bluetooth. Debe conectar la salida RX del módulo Bluetooth con la salida TX Arduino, y la salida TX del módulo con RX Salida Arduino. ¡Pero no lo hagas todavía! Cuando estas conexiones se soldan, ya no podrá descargar ningún código en Arduino, por lo que primero descargue todos sus códigos y solo después de las conexiones de soldadura.

Aquí está el esquema del módulo y los compuestos de microcontrolador:

  • RX Module - Tx Arduino Tableros
  • Módulo TX - Tableros RX
  • Módulo VCC (salida positiva) - 3.3v arduino tableros
  • Conexión a tierra con suelo (suelo molido)

Si la explicación le parece incomprensible, siga el esquema de las conexiones de cable.

Paso 4: Pruebas

Ahora que tenemos todas las partes de actuación, nos aseguren de que el servo pueda mover el goleo. Antes de montar una puntuación en la puerta, reuní una muestra de prueba para asegurarse de que el servo sea bastante poderoso. Al principio, me pareció que mi servo era débil y agregué una gota de petróleo en un escarlata, después de eso, todo funcionó bien. Es muy importante que el mecanismo se desliza bien, de lo contrario, se arriesga a estar bloqueado en su habitación.

Paso 5: Estuche para electrocomponentes.



Decidí poner el controlador solo en el caso y al módulo Bluetooth, y el servo se deja afuera. Para hacer esto, en un pedazo de cartón, suministramos el circuito de circuito de Nano Arduino y agregamos 1 cm de espacio alrededor del perímetro y recortado. Después de eso, también cortamos cinco lados más del cuerpo. En la pared frontal, será necesario cortar el orificio del orificio para el cable de alimentación del controlador.

Tamaños laterales del caso:

  • Parte inferior - 7,5x4 cm
  • Cubierta - 7,5x4 cm
  • Pared lateral izquierda - 7.5x4 cm
  • Pared lateral derecha - 7.5x4 cm
  • Pared frontal - 4x4 cm (con una ranura para cable de alimentación)
  • Pared trasera - 4x4 cm

Paso 6: Apéndice

Para controlar el controlador, necesita un gadget en Android o Windows con un Bluetooth incorporado. No tuve la oportunidad de verificar la operación de la aplicación en dispositivos Apple, tal vez necesite algunos controladores.

Estoy seguro de que algunos de ustedes tienen la oportunidad de revisarlo. Para Android Descargue la aplicación Bluetooth Terminal, descargue TeraterM para Windows. Luego, debe conectar el módulo al teléfono inteligente, el nombre debe ser Linvor, contraseña - 0000 o 1234. Una vez que se establece el emparejamiento, abierto aplicación instaladaIngrese la opción y seleccione "Instale la conexión (inseguro)". Ahora, su teléfono inteligente es el monitor de interfaz de serie Arduino, es decir, puede intercambiar datos con el controlador.

Si ingresa 0, la puerta se cerrará, y en la pantalla del teléfono inteligente habrá un mensaje "La puerta está cerrada".
Si ingresa 1, verá cómo se abre la puerta, y en la pantalla habrá un mensaje "La puerta está abierta".
En Windows, el proceso es el mismo, excepto que necesita instalar la aplicación TeraterM.

Paso 7: Intim el goleible


Primero necesitas conectar un servo Drive. Para hacer esto, corte los tapones de los orificios de montaje de la carcasa de la unidad. Si ponemos el servo Drive, los orificios de montaje deben estar cerrados con una rotura. Luego, debe colocar la palanca servo en la ranura de Spinlet, donde había un mango de espinillas. Compruebe cómo va la cerradura en el caso. Si todo está bien, asegura la palanca de servo con pegamento.

Ahora necesitas taladrar en los orificios de la guía de la puerta para los tornillos. Para hacer esto, fije las puntuaciones a la puerta y el lápiz, marque en la puerta del orificio de la puerta debajo de los tornillos. Taladre en los lugares observados del orificio debajo de los tornillos a una profundidad de aproximadamente 2,5 cm. Aplique el marcador y asegúrelo con tornillos. Compruebe la operación del servo nuevamente.

Paso 8: Nutrición


Para completar el dispositivo, necesitará una fuente de alimentación, un cable y un conector MINI-USB para conectarse a Arduino.
Conecte la salida de alimentación de la fuente de alimentación con la salida de la Tierra del Mini-Puerto USB, conecte el cable rojo con el cable rojo del mini-puerto USB, luego establezca el cable de la cerradura al bucle de la puerta y estire De eso a la salida.

Paso 9: Código

#include servo myservo; int pos \u003d 0; INT ESTADO; INT Flag \u003d 0; Configuración de vacío () (myservo.attach (9); serial.begin (9600); myservo.write (60); retraso (1000);) bucle vacío () (si (serial.lailable ()\u003e 0) (estado \u003d Serial.read (); bandera \u003d 0;) // Si el estado es "0", el motor de CC se apagará si (estado \u003d\u003d "0") (MyServo.Write (8); retraso (1000); serial. Println ("puerta cerrada");) otra cosa si (estado \u003d\u003d "1") (myservo.write (55); retraso (1000); serial.println ("puerta desbloqueada");))

Paso 10: Castillo completo sobre la base de Arduino.

Disfruta de tu castillo con control remoto, Y no te olvides de "por casualidad" para localizar amigos en la habitación.

Maestría canal de Youtube "Alexgyver" pidió hacer una cerradura electrónica con sus propias manos. Bienvenido al ciclo de video sobre las cerraduras electrónicas en Arduino. En términos generales, el maestro explicará la idea.

Hay varias opciones para crear un sistema de bloqueo electrónico. Más útiles para bloquear puertas y cajas, gabinetes. Así como crear cachés y cajas fuertes secretas. Por lo tanto, debe hacer un diseño con el que sea conveniente trabajar y puede mostrarse claramente en detalle el sistema de dispositivos desde el interior y el exterior. Por lo tanto, decidí hacer un marco con la puerta. Para hacer esto, necesitará una barra cuadrada de 30 x 30. Alewood 10mm. Bisagras de puerta. Inicialmente, quería hacer una caja de madera contrachapada, pero recordé que todo estaba torcido con piezas de repuesto. Tal caja no tiene a dónde poner. Por lo tanto, se hará el diseño. Si alguien quiere poner una cerradura electrónica, luego mirando el diseño que puedes repetir todo fácilmente.

Todo lo que necesitas para el castillo encontrará en esta tienda china.

El objetivo es desarrollar el máximo. esquemas efectivos y firmware para cerraduras electrónicas. Puede usar estos resultados para instalar estos sistemas en sus puertas, cajas, gabinetes y cachés.

La puerta está lista. Ahora necesitas subir a cómo abrir y cerrar. método electrónico. Para estos fines, es adecuado un poderoso Pike Solenoide con Aliexpress (enlace a la tienda anterior). Si se envía a conclusiones de voltaje, se abrirá. La resistencia de la bobina es de casi 12 ohmios, significa que a un voltaje de 12 voltios, la bobina comerá aproximadamente 1 amperio. Con tal tarea puede hacer frente y batería de Litio y bombear el módulo. Personaliza el voltaje apropiado. Aunque puedes y un poco más. El tono se monta en el interior de la puerta a una distancia para no aferrar al borde y podría golpear. Shekold debe ser una parte de represalia en forma de caja de metal. Es incómodo usarlo sin él. Tendremos que poner un paso, al menos creó la apariencia de la operación normal.

En el modo inactivo, la basura se abre normalmente, es decir, si hay un asa en la puerta, aplicamos un pulso, abra la puerta para el asa. Pero si saltas, este método ya no es adecuado. El convertidor de mejora no hace frente a la carga. Para abrir la puerta hecha de resorte, tendrá que usar baterías grandes y un convertidor más poderoso. Ya sea una fuente de alimentación de red y puntaje en la autonomía del sistema. En las tiendas chinas hay grandes tamaños. Son adecuados para cajas. La nutrición se puede suministrar utilizando un relé o transistor mosphore, o una llave de potencia en el mismo transistor. La opción más interesante y menos costosa es un servo conectado a una varilla de conexión con cualquier elemento de bloqueo, una válvula de decoración o más seria. También puede ser necesario una pieza de agujas de acero que realice el papel de una barra de conexión. Tal sistema no necesita una alta corriente. Pero se necesita más espacio y más lógica de gestión complicada.

Hay dos tipos de servomotores. Pequeño débil y grande potente, que se puede conectar con calma en los orificios en pines de metal graves. Ambas opciones mostradas funcionan tanto en las puertas como en los cajones. Con la caja tendrá que jugar, tirando del orificio en la pared retráctil.

La segunda parte de

Arduino es mejor sistema Para copiar cualquier equipo. La mayoría de las ideas no podrían hacerse realidad sin ella. Durante mucho tiempo, hay tal pensamiento: cree un código de código especial en Arduino. Para abrirlo, es necesario conectar una tecla específica. En este caso, el bloqueo no debe abrirse, incluso si conoce el botón deseado. Para abrirlo, es necesario soportar ciertos intervalos utilizando la memoria muscular. Tal criminal no podrá comprometerse. Pero esta es toda la teoría.

Para recogerlo, debe aprovechar el dispositivo especial de pulsos rectangulares, así como varios metros y montón. Pero el dispositivo terminado tendría un gran dimensiones Y no se pudo usar. Como regla general, tales pensamientos no dan descanso. La primera etapa en la realización del sueño fue la creación de un programa bajo Arduino. Es ella quien servirá como cerradura de código. Para abrirlo, deberá presionar no una tecla, sino unos pocos, y hacerlo al mismo tiempo. El esquema terminado parece:

La calidad de la imagen no es la mejor, pero la conexión se realiza al suelo, D3, D5, D7, D9 y D11.

El código se presenta a continuación:

Const int ina \u003d 3; Const int \u003d 5; Const int inc \u003d 9; Const int ledpin \u003d 13; int i \u003d 1000; Byte a \u003d 0; Byte b \u003d 0; Byte c \u003d 0; Byte d \u003d 0; sin firmar mucho tiempo \u003d 0; // No olvide todo lo que toma el valor de Millis () Temp \u003d 0 sin firmar \u003d 0; // Tienda en keya de byte largo sin firmar \u003d (0, 0, 0, 0, 0, 0, 0, 0); // códigos en realidad byte keyb \u003d (1, 1, 1, 1, 0, 1, 0, 0); Byte keyc \u003d (1, 0, 1, 0, 1, 1, 1, 0); Byte k \u003d 0; Configuración de vacío () (PINMODE (INA, entrada_pullup); // 3 entradas conectadas a los botones de PinMode (INB, INPUT_PULLUP); PINMODE (INC, INPUT_PULLUP); PINMODE (LEDPIN, OUTPUTE); // LED incorporado el 13 Modo de pino (7, salida); Modo de piñón (11, salida); DigitalWrite (7, BAJO); // Reemplace la Earth DigitalWRite (11, BAJO); Tiempo \u003d Millis (); // necesita tiempo de referencia) Void Blinktwice ( ) (// doble parpadeo de LED DIGITALWRITE (LEDPIN, ALTO); Retraso (100); DigitalWrite (ledpin, bajo); Retraso (100); DigitalWrite (ledpin, alto); retardo (100); digitalwrite (ledpin, bajo); Demora (200);) bucle vacío () (si (k \u003d\u003d 0) (Blinktwice (); // Invitación Ingrese el código) if (k \u003d\u003d 8) (DigitalWrite (ledpin, High); Delay (3000); K \u003d 0;) A \u003d DigitalRead (INA); // Los niveles de señal se leen a partir de los botones, presionados / no presionados B \u003d digitallread (INB); C \u003d DigitalRead (inc); Retraso (100); / A continuación, SI - Protección Contra falsos positivos, no puede usarlo if ((DIGITALLREAD (INA) \u003d\u003d A) && (DigitalRead (INB) \u003d\u003d B) && (DigitalRead (INC) \u003d\u003d C)) (si (a \u003d\u003d KEYA [K] ) (Si (b \u003d\u003d KEYB [K]) (SI (C \u003d\u003d KEYC [K]) (K ++; )))) if (k \u003d\u003d 1) (si (D \u003d\u003d 0) (Tiempo \u003d Millis (); D ++;)) TEMP \u003d MILIS (); TEMP \u003d TEMP - TIEMPO; if (temp\u003e 10000) (k \u003d 0; d \u003d 0; tiempo \u003d milis ();)))

Para no tener preguntas adicionales en el Código, se deben explicar algunos momentos. La función de configuración se utiliza para asignar puertos. La siguiente función es INPUT_PULLUP, que es necesaria para aumentar el voltaje del pino por 5 V. Esto se lleva a cabo utilizando una resistencia. Debido a esto, no se producirán varios cortocircuitos. Para mayor comodidad, se recomienda utilizar la función Blinktwice. En general, al crear varios programas, debe probar otras funciones.

Después de asignar las funciones, la señal se lee en los puertos. Si se presiona el botón, esto se denotará por un número 1, y si no, - 2. A continuación, hay un análisis de todos los valores. Por ejemplo, tal combinación apareció como 0.1.1. Esto significa que se presiona la primera llave, y los dos restantes no lo son. Si todos los valores se ejecutan correctamente, la condición 8 también es cierta. Esto se evidencia en el LED iluminado en el panel frontal. A continuación, debe ingresar un código específico que servirá para abrir la puerta.

Los elementos de código más recientes se utilizan para eliminar los valores del medidor. Esta función se realiza si después de la última pulsación de teclas, pasó más de 10 segundos. Sin este código, fue posible pasar por todo. opciones posiblesAunque hay muchos de ellos lo suficiente. Despues de crear este dispositivo Es necesario probarlo. Aún