Activa JavaScript para disfrutar de los vídeos de la Mediateca.
Código esquema caja fuerte Arduino. Vídeo1 - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
Código esquema caja fuerte Arduino. Vídeo1
buenas tardes vamos con el segundo paso que sería el de crear el código de la caja fuerte
00:00:00
tengo ya el circuito con todas las conexiones y vamos a proceder a empezar con cada una de
00:00:11
las partes del código para no tener que para no hacer el vídeo extenso muy extenso voy a
00:00:20
copiando y pegando cada una de las partes y les voy explicando. Lo primero que tenemos que hacer,
00:00:28
es la primera fase, sería importar las librerías. Estas librerías que vamos a importar serían estas
00:00:33
cuatro. Vimos ya que para utilizar un keypad necesitábamos la librería keypad.h, para utilizar
00:00:40
el LC2 I2C necesitábamos tanto wire.h como liquidcrystal I2C.h y vimos también que para
00:00:48
utilizar un servo necesitamos la librería de servo y esto sería con respecto a importar
00:00:57
las librerías bien esta sería la primera parte del código a continuación necesitaríamos también
00:01:07
crear un objeto el liquid cristal para ello acordaos lo que hacíamos es que el objeto
00:01:17
el líquido cristal I2C, le llamamos, vamos a llamarle LCD, este sería el nombre, y para crearlo necesitábamos crear el constructor con tres parámetros.
00:01:28
Un primer parámetro que sería el parámetro que concretamente aquí no lo hemos puesto, pero el parámetro es la dirección en hexadecimal 0x27,
00:01:38
sería la dirección del componente LCD y 2C, que el que vamos a utilizar es el PCF8574
00:01:49
y que iría de manera correcta con esta dirección, con la dirección 39
00:01:56
y lo que se le pone es la dirección que queremos utilizar
00:02:03
y a continuación las filas y las columnas que tiene ese LCD.
00:02:06
Acordaos que eran 16 columnas y dos filas.
00:02:09
Bien, una vez que hemos creado también un objeto Liquid Crystal y 2C
00:02:13
y pasaríamos ahora a crear una serie de constantes.
00:02:17
¿Qué constante vamos a tener?
00:02:21
Esas constantes las vamos a utilizar tanto para... son constantes para el servo.
00:02:23
Bueno, aquí vamos a poner las constantes.
00:02:27
Aquí sería crear objeto servo y constantes para el servo.
00:02:33
Bien, explico. Aquí tendríamos el objeto servo. Necesitamos servo para poder luego utilizar el servo.
00:02:49
Ya lo vimos también en vídeos anteriores. Y luego tenemos tres constantes de tipo entero.
00:02:54
Las tres constantes de tipo entero son servo pin, que va a alojar el pin del servo.
00:03:00
Acordaos que lo hemos puesto el pin, es el 9, la señal del servo.
00:03:04
Con lo cual lo vamos a alojar dentro de una constante que se llama servo-pin.
00:03:08
Y luego vamos a tener un ángulo cerrado, que sería cuando está en 0º, como está ahora,
00:03:11
y un ángulo abierto, que sería cuando está en 90, que es cuando se abre la caja fuerte.
00:03:15
Y lo vamos a concretar, tanto el 0 grados como el 90, lo vamos a meter dentro de dos constantes enteras,
00:03:21
un ángulo cerrado y otro ángulo abierto.
00:03:27
Y con esto ya tendríamos también las constantes.
00:03:29
Ahora necesitaríamos crear las constantes para el K-pad.
00:03:32
Vamos a las constantes para el K-pad, que serían estas dos.
00:03:37
Necesitamos una que nos represente el número de filas y otra que nos represente el número de columnas. Acordaos que este keypad es 4x4, entonces tenemos 4 filas por 4 columnas. Entonces filas será 4 y columnas 4. También son constantes porque no vamos a necesitar que estos valores varíen a lo largo del programa.
00:03:41
Bien, una vez que ya tenemos esto, a continuación acordaos del keypad. El keypad necesitábamos crear una matriz de filas y columnas. Esa matriz, que sería teclas, va a constar de cuatro filas y de cuatro columnas.
00:04:04
¿Cuál van a ser? Pues correctamente el orden en el que aparecen aquí en la matriz
00:04:25
Veis que esto es una matriz de 4x4
00:04:29
Entonces lo ponemos y la creamos en ese mismo orden
00:04:32
La primera fila sería 1, 2, 3, A
00:04:35
La segunda 4, 5, 6, B
00:04:37
La tercera 7, 8, 9, C
00:04:39
Y la cuarta, las últimas teclas que aparecen en el keypad
00:04:41
Esto crearía una matriz de tipo char en el de 4x4
00:04:47
¿Veis? Aquí ha añadido o ha puesto las dos constantes que hemos creado anteriormente para crear la matriz.
00:04:53
Esto sería un 4 y esto sería otro 4.
00:05:00
Bien, esta matriz será necesaria para poder luego utilizar el keypad.
00:05:02
¿Qué nos quedaba también? Ahora nos quedan los pines que van alojados o que representan a las cuatro filas,
00:05:06
que serían el 13, 12, 11 y 10, y a las columnas, que son el 7, el 6, el 5 y el 4.
00:05:14
Y eso lo tenemos que reflejar también en dos arrays. Esos dos arrays que voy a representar a continuación serían estos que aparecen aquí. El primero sería un array de tipo byte en el que estaría formado por un valor de 4, con lo cual tiene 4 elementos, o sea que ha puesto aquí la constante filas para representar un array de 4 elementos que serían los 4 pines de las filas.
00:05:20
Y luego aquí ha puesto otro array de cuatro elementos, pero con la constante cols, para indicar los cuatro pines de las columnas.
00:05:49
Bien, ya tenemos en el keypad tanto las dos constantes indicando cuántas filas y cuántas columnas son,
00:06:02
la matriz de cuatro filas y cuatro columnas, que es esta matriz, todas estas caracteres, en ese mismo orden,
00:06:08
Y tenemos también los dos arrays de cuatro elementos cada uno que indican los pines tanto de las filas como los de las columnas.
00:06:17
¿Y ya qué nos quedaría? Ahora nos quedaría ahora sí crear el objeto keypad.
00:06:25
Lo mismo que hemos hecho arriba, que hemos creado el objeto servo, hemos creado el objeto líquido cristal,
00:06:29
ahora tenemos que crear un objeto de tipo también keypad, porque sin él no podremos utilizar dicho componente.
00:06:36
Creamos dicho objeto y aquí lo veis, es un objeto de tipo keypad.
00:06:47
Keypad sería la librería de la que hemos importado al principio.
00:06:50
El objeto le hemos llamado keypad y, acordaos, el keypad se generaba como?
00:06:55
Con un constructor que tenía cinco elementos.
00:07:01
El primero era una función que era makeKeepMap, metiendo, introduciendo,
00:07:05
O lo que está diciendo es que esta función lo que hace es un map. La función map lo que va a hacer es que va a mapear las teclas, o sea, la matriz bidimensional de 4x4, a que la va a mapear con los pines de las filas, que son estos cuatro, con los pines de las columnas, indicando cuántas filas hay y cuántas columnas hay.
00:07:11
Y esos serían los cinco elementos que necesita el objeto Keypad para crearse y poder manejar este componente.
00:07:39
Esto lo vimos en el vídeo anterior y con esto ya tendríamos todos los elementos que aparecen al principio del programa,
00:07:50
tanto la importación de librerías, las constantes que vamos a necesitar y la creación de los tres objetos, puesto que tenemos los tres componentes aquí en el escenario.
00:07:59
Bien, una vez que tenemos eso, nos quedaría, aún así todavía, crear una constante y una variable de tipo string.
00:08:11
Estas lo que hacen es que en la constante vamos a almacenar el valor de la clave,
00:08:22
en esa constante la vamos a llamar un base de tipo string,
00:08:27
y le vamos a almacenar el 1, 2, 3, 4, que es el valor de la contraseña para poder abrir la caja fuerte.
00:08:30
Y luego creamos una variable, porque esta sí va a variar, esta no sería constante,
00:08:37
en el que va a ser la entrada, que vamos a introducir nosotros, y que en un principio está vacía.
00:08:41
una vez que ya tenemos todos estos componentes
00:08:47
vamos a poner el voice setup
00:08:51
antes del voice setup
00:08:56
como dentro del voice setup vamos a llamar a una función
00:08:59
necesitaremos crear una función
00:09:02
acordaos cómo se crea una función
00:09:04
la ponemos fuera del voice loop
00:09:06
y del voice setup
00:09:12
y se crearía siempre
00:09:13
con un valor a devolver
00:09:16
y avoid si no devuelve nada
00:09:19
el nombre de la función y luego entre paréntesis
00:09:21
con parámetros o sin ellos
00:09:23
en función de lo que necesitemos
00:09:25
para crear la función, esta sería sin parámetros
00:09:27
no necesita parámetros para ser llamada
00:09:29
y una llave de apertura y una llave
00:09:31
de cierre y dentro
00:09:33
cada vez que llame a la función
00:09:34
en nuestro código, en el void loop
00:09:37
o en el void setup, pero generalmente
00:09:39
en el void loop cada vez que pongamos
00:09:41
mostrar intro
00:09:42
se ejecutará este, esta función o método
00:09:44
¿veis? lo único que hace es que en el LCD
00:09:47
con el objeto LCD que creamos arriba
00:09:50
está creando, primero limpiando la pantalla
00:09:52
luego se posiciona en el cursor
00:09:55
concretamente en el 00, acordaos
00:09:58
el primer rectángulo que aparece aquí
00:10:01
del propio esquema
00:10:02
este sería la posición 00
00:10:05
para que empiece a escribir desde ahí
00:10:06
escribe, introduce clave
00:10:08
y lo escribirá en la primera línea
00:10:10
luego coloca el cursor donde en la columna 0 pero en la fila 1 recordar que siempre se empezaban en
00:10:13
la numeración desde el 0 con lo cual está la columna 0 1 2 3 etcétera y esta sería la fila
00:10:21
0 y ésta sale a fila 1 por lo cuanto si es la columna 0 fila 1 estaría en este rectángulo de
00:10:28
aquí donde escribiría el que escribiría estos cuatro guiones que son los va a representar
00:10:33
donde vamos a introducir los números para poner la contraseña.
00:10:38
A continuación, vuelve a poner el cursor en la posición 01 y ya estaría.
00:10:44
Eso es lo que haría este método cada vez que se le llama.
00:10:51
Lógicamente, si es mostrar intro, solo se aparecerá al principio, cuando se enciende la aplicación,
00:10:55
y lo llamará al principio.
00:11:01
¿Dónde estará? Si lo va a llamar al principio y solo lo va a llamar una sola vez,
00:11:04
pues lo lógico es que lo metamos en vez de dentro del void loop, la llamada, lo metamos dentro del void setup.
00:11:08
Bien, ya que tenemos aquí, esto es una función, función que se llama una vez desde el setup para mostrar la información de inicio.
00:11:16
Bien, ya tenemos esta función y ahora lo que vamos a añadir es el, vamos a añadir el setup. El setup, vamos a dejarlo con un espacio y la introducimos aquí. Bien, este sería lo que aparecería en el setup.
00:11:47
Veis que al final del setup realiza una serie de configuraciones y al final de setup llama a la función mostrar dentro. Lo va a hacer solo una vez puesto que este método solo se ejecuta una vez. Llamará aquí, actualizará el LCD y pondrá introduce clave y cuatro líneas y luego posteriormente se irá al void loop.
00:12:04
¿Qué hace el setup? Pues inicializa el monitor porque además de sacar estos valores en el LCD van a salir en el monitor y luego ya todos los parámetros son de inicialización del LCD, lo arranca, le pone la luz del mismo, del LED, limpia el LCD, pone el cursor en el columna 0, fila 0, imprime LCD OK, que funciona,
00:12:24
Coloca luego el cursor hacia la fila 1 y columna 0 y le pone arrancando.
00:12:54
Esto es lo primero que aparecerá en el LCD.
00:13:03
Lo primero que aparecerá es que el LCD funciona y que está arrancando.
00:13:05
A continuación también actualiza o configura el servo.
00:13:10
Primero le une al servo cuál va a ser su pin de señal, que es correctamente el 9,
00:13:13
que lo habíamos puesto con la constante servo pin.
00:13:19
Si nos vamos aquí, habíamos puesto servo pin como el valor 9,
00:13:25
con lo cual está uniendo el servo 9, o sea, el pin digital 9 lo está uniendo al servo,
00:13:29
que lógicamente se corresponde, puesto que aquí lo hemos puesto.
00:13:36
Y luego escribe en el servo un ángulo cerrado.
00:13:40
El ángulo cerrado, acordaos que era 0 grados, que se ponga en 0 grados.
00:13:43
Y después llama a la función mostrar intro, que sería cuando aparece introduce clave. Bien, esto sería lo que haría el, esto sería un parámetro de configuración y aquí vamos a poner inicialización LCD, inicialización servo.
00:13:47
Bien, una vez que ya lo tenemos, vamos a pasar a continuación a otra función o método que también hemos creado aquí, que va a ser el llamado voidAbrir.
00:14:19
¿Veis? Cada vez que creamos una función o método es para aglutinar un montón de líneas que queremos que, con una llamada desde el loop o desde el setup, se ejecuten, hagan una función que nosotros queramos que haga y vuelvan de nuevo a nuestro propio programa.
00:14:37
esta sería otra función que sería void abrir en el que el nombre es abrir no tiene parámetros de
00:14:53
entrada y lo que devuelve es un valor void o sea no devuelve ningún valor también aquí lo que hace
00:14:58
es una serie de configuración del lcd bueno lo único que hace no es que lo configure sino que
00:15:05
realmente lo que hace es que limpia el cursor le ponen el 00 pone acceso ok y le dice abriendo o
00:15:17
sea que estamos viendo que tiene tres partes el lcd cuando primero cuando se arranca está
00:15:24
diciendo que el lcd con el setup que está ok y que está arrancando también el servo se pone en
00:15:30
posición de 0 grados después a continuación pasamos a mostrar intro y cuando le damos a
00:15:37
mostrar y en todo lo que nos aparece se introduce clave y las cuatro líneas y
00:15:44
luego ya tenemos voy a abrir este método sólo se va a llamar
00:15:49
y todo se le llamará
00:15:57
cuando coincida
00:16:02
clave que hemos añadido
00:16:07
con la clave real cuando coincida lo que hará es que
00:16:12
abrirá el la caja fuerte por tanto abrirá
00:16:19
- Idioma/s:
- Materias:
- Informática
- Niveles educativos:
- ▼ Mostrar / ocultar niveles
- Formación Profesional
- Ciclo formativo de grado básico
- Primer Curso
- Segundo Curso
- Ciclo formativo de grado medio
- Primer Curso
- Segundo Curso
- Ciclo formativo de grado superior
- Primer Curso
- Segundo Curso
- Ciclo formativo de grado básico
- Autor/es:
- Francisco José González Constanza
- Subido por:
- Francisco J. G.
- Licencia:
- Todos los derechos reservados
- Visualizaciones:
- 2
- Fecha:
- 19 de diciembre de 2025 - 23:42
- Visibilidad:
- Público
- Centro:
- IES CIFP a Distancia Ignacio Ellacuría
- Duración:
- 16′ 29″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 338.70 MBytes