Saltar navegación

Activa JavaScript para disfrutar de los vídeos de la Mediateca.

Código esquema caja fuerte Arduino. Vídeo1 - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 19 de diciembre de 2025 por Francisco J. G.

2 visualizaciones

Código esquema caja fuerte Arduino. Vídeo1

Descargar la transcripción

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:
es
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
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

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid