Arduino Caixa Forta
Arduino Caixa Forta
Arduino Caixa Forta
SMX2B
Índice
1
Aquesta obra està subjecta a una llicència de
Reconeixement-NoComercial-SenseObraDerivada 3.0 Espanya de
Creative Common
C) Copyright
Índice
2
Índice
1.- Introducción 4
1.1 Definición del proyecto 4
1.2. Objetivos del proyecto 6
1.3. Enfocamiento y método a seguir 6
1.4. Planificación del proyecto y breve sumario de productos obtenidos 6
1.5. Productos obtenidos 7
1.6. Descripción de la memoria 8
2.- Materiales 9
2.1. Búsqueda 9
2.2. Componentes 9
2.3. Funcionalidad de cada componente 11
3.- Montaje 12
3.1. La caja 12
3.2. Arduino 14
3.3. Pantalla LCD 15
3.4. Servo 16
3.5. Teclado Interruptor de Membrana 4 x 4 18
3.6. HC-05 Pin Wireless Bluetooth Transceiver Module Serial 20
3.7. Distribucion 21
3.8. Cierre 21
4.- Informàtica 22
4.1. Instalar Arduino IDE 22
4.2. Código de programación 23
4.2.1. Primera parte del código 23
4.2.2. Segunda parte del código 25
4.2.3. Tercera parte del código 26
4.2.4. Cuarta parte del código 27
4.2.5. Quinta parte del código y última 28
4.3. APP 30
4.3.1. Diseño de la APP 31
4.3.2. Programación de los componentes de la APP 32
4.3.3. Obtener la APP creada 33
6. Pàgina web 37
6.1. Funcionamiento de Google Sites 37
6.2. Nuestra página web 39
Índice
3
1.- Introducción
(Castellano)
Nuestro proyecto consiste en crear una caja fuerte casera, es decir, programada por
nosotros mediante un Arduino, crear una caja de madera a mano, conectar el resto
de hardware a la placa ARDUINO y programar la placa para que esas piezas hagan
la función que nosotros pedimos. Es un proyecto que no es innovador pero sí que
queremos adaptarlo a nuestra manera, ya que además de crear la caja fuerte típica,
crearemos una APP con la que se conectará mediante un módem bluetooth y se
podrá abrir la puerta nada más pulsando el candado que aparece en la APP. El
objetivo que nos proponemos para este proyecto, es practicar más el tema de las
manualidades, no tener que conseguir todo yendo a la tienda y comprandolo, si no,
ver como va en este caso una caja fuerte, comprar las herramientas necesarias y
crear una desde cero. Con esto conseguiremos más experiencia a la hora de hacer
manualidades y conocer el funcionamiento de una caja fuerte, de cómo se
construye, como se programa para que cuando se ponga el PIN mal que no te deje
abrir la puerta, etc. Y lo último que nos proponemos es darle ese toque
personalizado con la APP para abrir la puerta. Principalmente nuestro proyecto
consistirá en crear una caja fuerte con sus funcionamientos típicos pero con el extra
de la APP. Básicamente lo que programaremos es un teclado numérico que irá
sincronizado con un pestillo, que cuando se ponga el PIN correcto ese teclado de la
señal de poder abrir la puerta y si es al contrario bloquear ese pestillo. También
vamos a poner un panel led que básicamente aparecerá si la contraseña es correcta
o no.
(Inglés)
Our project consists of creating a homemade safe, that is, programmed by us
through an Arduino, creating a wooden box by hand, connecting the rest of the
hardware to the ARDUINO board and programming the board so that those pieces
can perform the function that we we ask It is a project that is not innovative but we
do want to adapt it in our own way, since in addition to creating the typical safe, we
will create an APP with which it will connect using a bluetooth modem and you can
Índice
4
open the door by pressing the padlock that appears in the APP. The objective that
we propose for this project, is to practice more the theme of crafts, not having to get
everything going to the store and buying it, if not, see how it goes in this case a safe,
buy the necessary tools and create a right from the start. With this we will get more
experience when doing crafts and know the operation of a safe, how it is built, how to
program it so that when you put the wrong PIN that does not let you open the door,
etc. And the last thing we propose is to give that personalized touch with the APP to
open the door. Mainly our project will consist of creating a safe with its typical
operations but with the extra of the APP. Basically what we will program is a numeric
keypad that will be synchronized with a latch, that when you put the correct PIN that
keypad to be able to open the door and if it is on the contrary block that latch. We
are also going to put a led panel that will basically appear if the password is correct
or not.
Palabras clave
- Manualidad
- Casero
- Seguridad
- Caja fuerte
- Programar
Nuestro principal objetivo es brindar la seguridad que tendrá nuestra caja fuerte, que
no falle el sistema de contraseñas, también uno de los principales objetivos será que
todo funcione correctamente así como el hardware y software, construir la caja
puede ser complicado ya que dependerá de nosotros, deberemos cortarla, crear
compartimentos, montarla y que todo encaje como debe.
Índice
5
1.4. Planificación del proyecto y breve sumario de productos
obtenidos
Faena:
- Materiales
- Buscar y elegir los materiales
- Comprar los materiales
- Montaje
- Construir la caja
- Codigo
- Buscar codigo arduino para la programación
- Personalizar nuestro código con lo visto en Internet
- Documentación
- Realizar la documentación del Credito de Sintesi.
- Pàgina web
- Creación de la página web
Índice
6
1.5. Productos obtenidos
Para realizar este proyecto compramos una placa base Elegoo UNO R3 donde irán
todos el siguiente hardware conectado:
- Una pantalla LCD TOOGOO 1602, donde se mostrará la contraseña si es
errónea, correcta o de introducirla.
- Un teclado de la marca DealMux con caracteres del 1 al 9, del A al D, * y #.
Servirá para poner la contraseña y que se muestre en la pantalla
- HC-05 Pin Wireless Bluetooth Transceiver Module Serial
- Un motor con movimiento de 360º para abrir la caja
- Cables macho/macho, hembra/hembra y macho/hembra.
Cuando esté todo montado tendremos una caja fuerte, donde podremos abrirla
manualmente con el teclado numérico.
Índice
7
1.6. Descripción de la memoria
Materiales:
- En este apartado explicaremos qué materiales necesitaremos para
llevar a cabo nuestro proyecto. Tenemos que estudiar proyectos
parecidos al nuestro para sacar ideas y proyectarlas en nuestro
proyecto.
Montaje:
- En este siguiente apartado facilitaremos cómo hemos construido
la caja fuerte. Para ello hemos tenido que buscar información por
Internet de como conectar todos los componentes a la placa y a la
protoboard, para que todos los componentes enlazados a la placa
hagan la función que nosotros queremos llevar a cabo. También
explicaremos cómo hemos construido la caja.
Informàtica:
- En el apartado de la informática detallaremos cómo llegamos a la
conclusión de hacer este código y el porqué. En el apartado
facilitaremos el código muy detalladamente parte por parte.
Pàgina web:
- En esta sección mostraremos nuestra página web, donde
facilitaremos nuestra documentación para que se pueda ver
mucho más visual.
Índice
8
2.- Materiales
2.1. Búsqueda
- Hemos estado buscando la placa Arduino UNO y sus
componentes en Amazon y los tablones de madera y el pestillo en
el Leroy Merlin.
- Para construir la caja fuerte necesitamos: Una caja hecha de
tablones de madera en nuestro caso, la placa Arduino, el LCD, el
teclado alfanumérico, el servo, el modem bluetooth, la protoboard
para enlazar las conexiones y por último la pila alcalina de 9V que
es la que se encarga de alimentar la placa.
2.2. Componentes
Índice
9
Teclado DealMux alfanumérico Servo Motor
Índice
10
2.3. Funcionalidad de cada componente
Placa Base
La placa base se encarga de conectar entre sí a todos los componentes
para que el arduino tenga una funcionalidad completa, esta placa es de
la marca ELEGOO y cuenta con las siguientes características:
Microcontrolador ATmega328P.
Tiene un voltaje de 7v a 12v.
Tiene 14 conexiones I/O Digitales (6 salidas PWM).
Cuenta con 6 Entradas analógicas.
32k Memoria Flash.
16Mhz velocidad de Reloj.
Pantalla LCD
La pantalla se encarga de mostrar los dígitos de la contraseña y los
mensajes que nosotros le pongamos en la programación, este también
se encargará de decirnos si la contraseña es correcta o incorrecta, tiene
un display blanco sobre azul con retroiluminación azul y un voltaje de 5V
Servomotor.
El servomotor tendrá la funcionalidad de abrir la caja mediante el
movimiento del pestillo, haciendo de tal forma que se puede acceder al
interior de la caja, el servomotor hará un giro de 180º. Consigue una
velocidad de movimiento de 60º en 0.12 segundos, con un voltaje de 3V
a 7.2V y puede resistir a temperaturas de -30ºC a 60ºC
Pestillo
El pestillo tiene la funcionalidad de mantener la puerta cerrada, el
pestillo está enganchado con un alambre de hierro y al servo, al poner la
Índice
11
contraseña correcta como el servo gira 180º al estar enganchado con un
alambre tira al pestillo hacia dentro para poder abrir la puerta. Al cerrarla
lo mismo pero para adentro.
3.- Montaje
3.1. La caja
La caja está hecha por 6 tablones de maderas los cuales 2 son de 25cm
x 25cm y 4 de 25cm x 35cm. La puerta de la caja la hemos hecho con
una guia mas fina en el tablón que hace de techo para introducir el
tornillo y una guía un poquito más gruesa en el tablón que hará de
puerta, por la parte de abajo de la puerta lo mismo, pero con el tablón
que hace de suelo. Se ha hecho así la puerta para que esté anclada
correctamente pero que a la vez tenga la movilidad para poder realizar
el movimiento típico de una puerta. Una vez puesta la puerta visto que
se podía abrir para afuera y para dentro pusimos por la parte de adentro
del tablón donde se encuentra la puerta pero en el lado estático, unos
topes para la puerta, coloquemos dos uno en la parte de arriba e la
puerta y otro en la parte de abajo. Esos topes los hicimos con madera
que sobraba, y ya con eso la puerta sólo se puede abrir para afuera.
Índice
12
Por último hemos añadido a la caja el pestillo para la puerta. Este
pestillo que vemos a continuación va anclado en la cara donde se
encuentra la puerta pero en la parte estática de la cara, el arco por
donde se introduce el pestillo para que se mantenga cerrado está en la
parte de atrás de la puerta, para que este cuando esté introducido el
pestillo se mantenga cerrada.
Índice
13
3.2. Arduino
- Lo siguiente después de tener ya la caja es poner la placa madre
dentro de la caja.
- Ahora procedemos a poner la pila alcalina conectada a la placa
para que la alimente.
Índice
14
el LCD en la placa y en la protoboard ya que tiene que estar
enlazada con otros componentes que veremos a continuación.
- Último paso que hay que realizar con el LCD, es anclar al agujero
superior que se encuentra en la cara de la caja para que esta se
pueda ver desde el exterior.
Índice
15
3.4. Servo
Índice
16
3.5. Teclado Interruptor de Membrana 4 x 4
- El último componente que nos falta es el teclado de 4 x 4
alfanumérico, que es el encargado de imprimir en el LCD los
números de la contraseña que nosotros pulsemos. También hay
que decir que el carácter ”*” sirve para cerrar de nuevo la puerta y
que en el LCD salga para que se introduzca la contraseña de
nuevo.
- El teclado a diferencia de el LCD y el servo todos los cables están
conectados a la placa.
- Hay que tener en cuenta que el teclado tiene 8 conexiones, las 4
primeras conexiones comenzando por la izquierda se encargan de
las 4 filas del teclado mientras que las 4 conexiones restantes se
encargan de las columnas. Esto se entenderá mejor con la imagen
siguiente:
Índice
17
- Una vez sabemos cómo tenemos que conectar el teclado, primero
de todo tenemos que pasarlo por el agujero inferior de la parte de
alante de la caja, ya que eso es lo que facilitara que tengamos el
teclado en el exterior como el LCD. Quedará tal que así:
Índice
18
- En las conexiones compartidas que vemos en el esquema las
conectaremos a la protoboard para alimentar al modem bluetooth.
3.7. Distribucion
La distribución es la siguiente, desde el principio hacia delante:
● La placa Arduino introducida dentro del la caja.
● Conectar la pila alcalina de 9V para alimentar a la placa.
● Una vez alimentada la placa conectamos el LCD.
● Lo siguiente es conectar el servo.
● Después por último conectar el teclado 4 x 4.
● Conectar el bluetooth.
● En la cara de la caja se encuentra la puerta y en la parte estática
de la cara, el teclado y el LCD.
3.8. Cierre
- La placa Arduino está pegada con montakital suelo de la caja.
- La pila al igual que la placa esta pegada con montakit al suelo.
- La protoboard tambien con montakit.
- El servo está pegado con montakiten el tope de la puerta inferior.
- El teclado 4 x 4 está pegado con loctite en la parte exterior de la
caja.
- El LCD está atornillada por dentro de forma que se vea la pantalla
por el agujero hecho en la parte de alante, colocado arribe a la
derecha.
Índice
19
Montakit:Es una masa que va muy bien para pegar cosas a la madera.
Nos lo recomendó el dependiente de la ferretería donde fuimos.
4.- Informàtica
4.1. Instalar Arduino IDE
- Necesitamos Arduino IDE para poder programar nuestra caja
fuerte.
- Es una instalación muy fácil ya que solo tenemos que ir a la
página web oficial de Arduinoy descargar el programa de pende el
SO que tengas.
Índice
20
- En nuestro caso estamos trabajando con el SO Windows 10,
entonces pulsamos este icono y nos llevará directamente a
Microsoft Store y nos aparecerá ya para obtener el programa de
Arduino IDE.
Índice
21
4.2. Código de programación
- El código:
Índice
22
El principio del código:
- Al principio del código se puede ver cómo añadimos las
librerías del servo, del teclado (Keypad) y del LCD que son
necesarias para el buen funcionamiento de cada
componente.
- Empezamos denominando al servo “servoloked” ya que es
el nombre de la variable del servo y el que tenemos que
poner si lo llamamos durante el codigo.
- Debajo aparece donde dejamos constancia de cuántas filas
y columnas tiene nuestro teclado, para cuando tengamos
que definir los pines conectados a la placa.
- Tenemos que definir los pines conectados la placa Arduino.
Como se ve hemos definido los pines donde van conectados
las filas y las columnas del teclado.
- Más abajo encontramos la variable “Teclas” donde se
almacenan las filas y las columnas. Después entre cada par
de llaves definimos qué caracteres aparecen en cada
columna.
- Lo siguiente que nos aparece es la variable de nuestra
contraseña que la denominamos “codigoSecreto” y que
entre corchetes facilitamos cuantos caracteres van aparecer,
en nuestro caso 4. A continuación entre llaves escribimos la
que va a ser nuestra contraseña.
- Justo abajo del “”codigoSecreto” nos encontramos con otra
variable llamada “Received” que será la encargada de guiar
al código cuando queramos abrir la puerta con la aplicación.
Más adelante de la documentación se explicará con más
profundidad.
- Facilitamos las tres variables que nos van acompañar
durante todo el código, que son: “posicion”, “cursor” y
“clave”.
- Y por último en esta primera parte del código denominamos
“Teclado1” a la variable Keypad y unimos los pins facilitados
de las columnas y las filas para que cuando pulsemos una
tecla salga el carácter correcto que hemos pulsado.
Índice
23
4.2.2. Segunda parte del código
- En la segunda parte del código es donde empezamos a preparar
ya a los componentes para que empiecen a funcionar.
- El código:
Índice
24
- En esta parte del código empezamos con las condicionales y la
primera que vemos es, si “pulsacion” es igual a “Teclado1”
(teclado) iniciamos la condición del
if que en este caso es si
“pulsacion” es diferente o igual a 0 que imprima en la pantalla los
números que estamos ingresando.
- A continuación si se cumple la última condición aparecerá en
pantalla que la clave es correcta.
- Una vez definido que se cumple la clave, facilitamos que el servo
haga un giro de 180º para que se pueda abrir la puerta.
Índice
25
4.2.4. Cuarta parte del código
- En este apartado vamos a ver la última parte de la sección “void
loop”.
- El código:
Índice
26
4.2.5. Quinta parte del código y última
- En esta sección veremos el apartado del código que se encargará
de la apertura de la puerta mediante la aplicación creada que
explicaremos en el próximo punto del documento.
- El codigo:
Índice
27
caso de que la caja esté cerrada y si esta abierta que se vuelva a
la posición de 0º para que la puerta se cierre cuando pulses el
botón de la APP de cierre. Después de indicar que queremos que
haga el servo, procedemos a indicar que queremos que aparezca
en la pantalla del LCD, en este caso queremos que aparezca
“Cerrada con APP”.
- A continuación y para finalizar el código vemos el último if que es
muy parecido al anterior pero esta vez cuando llega una ‘o’ desde
la APP. Si se cumple esta condición de este if el servo girara 180º
para que se abra la puerta. Y en el LCD aparece “ANDROID
OPEN” en medio de la pantalla ya que hemos puesto
‘lcd.setCursor(0,0)’.
4.3. APP
En este apartado vamos a explicar qué herramienta hemos utilizado
para crear la APP y como la hemos hecho.
- La herramienta utilizada para crear la APP ha sido ‘
MIT APP
INVENTOR’. Esta herramienta es Online, solo hace falta
registrarse con la cuenta de Google o de Facebook para poder
comenzar a crear tu APP.
Índice
28
4.3.1. Diseño de la APP
- Ahora vamos a enseñar cómo hemos creado nuestra APP, en la
siguiente imagen veremos qué apariencia tendrá y los
componentes que hemos utilizado para que haga la función que
nosotros queremos.
Índice
29
- Lo último que podemos ver en el apartado de los componentes es
el ‘BluetoothClient1’ que será el encargado en conectar la APP
con el modem bluetooth conectado en la placa Arduino.
Índice
30
hemos contado anteriormente en el apartado del código esto hará
que se cierre la puerta o que se mantenga cerrada.
Índice
31
2.2. La segunda se te descarga el fichero ‘.apk’ en el PC y pues
puedes subirlo al Drive y desde tu móvil descargarlo desde
el Drive.
Índice
32
Índice
33
Índice
34
- Como vemos en las imágenes superiores ponemos la clave
correctamente y nos aparece “Clave correcta” y se abre la caja.
También al poner la clave mal nos aparece “Clave incorrecta” y se
queda bloqueada la puerta.
- Otra cosa que podemos observar en las imágenes superiores es
que al darle al botón de la APP del candado abierto se abre la
puerta y al darle al cerrado se cierra.
- De esta manera es como hemos verificado que las funciones que
hemos querido llevar a cabo se han hecho correctamente.
6. Pàgina web
Índice
36
tenga el usuario invitado. Y el otro es el del clip que es para copiar
el enlace de la página que estamos creando.
- En el menú lateral derecho nos encontramos con el menú más
interactivo a la hora de crear nuestra página web. En lo más alto
del menú nos encontramos con tres apartado que son el de
‘Insereix’, el de ‘Pàgines’ y por último ‘Temes’, como sus nombres
indican uno sirve para insertar el contenido que quieras a tu
página, el otro para mirar las páginas que tienes en la web y
puede añadir, y el último para elegir el tema de tu web.
- Vamos a profundizar más con el apartado de ‘Insereix’ ya que es
el que más se utiliza. Lo primero que observamos es el los 4
apartados que puedes añadir, que el primero es añadir un cuadro
de texto, el segundo insertar una imagen, el tercero para insertar
código HTML para que se vea reflejado en la página web y por
último para crear un enlace directo a un fichero de Drive.
- Más abajo podemos elegir el diseño de la sección del contenido
que queramos.
- Lo último que veremos en este menú será, las opciones que
tenemos para poder añadir documentos de otras herramientas de
Google, además de ello podemos añadir tabla de contenidos (lista
de enlaces), carrusel de imágenes y botones para poder pasar de
página.
- Lo último que vamos hablar es sobre la sección del medio de la
página donde veremos y editaremos nuestra página web. Solo hay
que recalcar que el contenido se organiza por secciones.
Índice
37
- GalerÍa
- Formulario
- La página de Inicio la hemos utilizado para presentarnos, y tendrá
este aspecto:
Índice
38
- En la sección de Materiales veremos básicamente donde hemos
obtenidos cada uno de ellos y fotos de cada uno.
Índice
39
- En la página de informática facilitamos el procedimiento que
hemos seguido para realizar el codigo de programacion, también
como hemos creado la APP y como la hemos hecho funcionar.
Índice
40
- Y en la última página que veremos en la web es la de Contacto,
como su propio nombre indica, en esta sección habrá un
formulario donde los usuario que visite la web podrá contactar con
nosotros rellenandolo con su nombre, correo electrónico y un
mensaje que nos quiera hacer llegar.
Índice
41