Saltar navegación

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

LCD 16x2 en Arduíno - 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 16 de diciembre de 2025 por Francisco J. G.

10 visualizaciones

LCD 16x2 en Arduíno

Descargar la transcripción

Buenos días, aquí tenemos un nuevo esquema de Arduino en el que vamos a introducir un nuevo elemento. 00:00:05
Este elemento sería el LCD 16x2. No tiene dispositivo I2C, ya veremos lo que es, qué permite. 00:00:13
Hay dos tipos de LCDs que aparecen aquí en Tinkercad, que sería el LCD 16x2, que es el que acabo de añadir aquí, 00:00:20
y luego tendremos el I2C, que nos permite con menos pines poder hacer lo mismo. 00:00:28
Aquí este está compuesto por 16 pines, es un esquema un poco más complejo 00:00:32
Este tipo de pantalla puede mostrar 16 caracteres por línea y en total dos líneas 00:00:37
Con lo cual serían 32 caracteres de manera total 00:00:45
Pero a diferencia del LCD i2c, de este otro, necesita mucho más pines y por tanto es más complejo 00:00:48
Esto hace que el montaje sea, como veis, con muchos más cables 00:00:54
pero es muy difícil entender cómo se comunican internamente estos displays LCD. 00:01:01
El montaje, si yo le doy a iniciar, lo veis, nos aparece un texto que os hablamos de izquierda a derecha 00:01:07
y veis que cada uno de estos rectángulos sería un carácter que podemos añadir. 00:01:13
Como hemos dicho que tenía 16 columnas por dos filas, serían 32 en total. 00:01:18
En cuanto a la explicación de los pines, serían estos que aparecen aquí 00:01:22
y veis 00:01:28
el VSS sería el de tierra 00:01:31
hay varios de tierra 00:01:33
el VO que también sería 00:01:35
el de contraste 00:01:37
normalmente se le pone un potenciómetro 00:01:39
no se lo ha añadido 00:01:40
luego tenemos el VDD que sería el de alimentación 00:01:43
que sería los 5 voltios 00:01:45
iría conectado a los 5 voltios de la placa de arduino 00:01:47
el RS 00:01:49
que sería la selección de datos 00:01:51
que comunicaría con el Arduino, ya veremos cómo. 00:01:52
Luego el RW de read y write, que sería lectura y escritura, 00:02:00
que va conectado al GND, el E-enable para activar o desactivar el LCD. 00:02:04
Luego veremos que va a un pin de Arduino. 00:02:13
Luego tendríamos el D0 al D3, que serían datos pero no usados en 4-pin, 00:02:17
4 bits, como lo vamos a usar en 4 bits 00:02:22
solo vamos a utilizar de los datos 00:02:25
que son del D0 al D7 00:02:26
utilizaremos el D4 al D7 00:02:28
esos 4 pines, que van conectados 00:02:30
a 4 pines en Arduino 00:02:32
y luego por último tenemos, puesto que esto 00:02:34
tiene un LED para que se encienda 00:02:36
la luz y podamos ver el texto 00:02:38
tendrá pues como 00:02:41
todo LED, un ánodo y un cátodo 00:02:42
el ánodo es el 00:02:44
ánodo de fondo positiva en el que 00:02:46
sería la carga positiva 00:02:48
acordaos de los LED, y iría unido a 5 voltios para que sea alimentado. 00:02:51
Pero importante ponerle una resistencia, porque esto es como un LED igual. 00:02:55
Y luego el cátodo, que sería la carga negativa, o luz de fondo carga negativa, 00:02:58
que sería unida lógicamente a GND, como pasaba en los LED. 00:03:02
Bien, una vez que ya tenemos esto, vamos a hacerlo desde el principio. 00:03:07
¿Veis? Todos esos pines que os he nombrado están aquí. 00:03:14
Los de datos serían desde el D0 al D7, que serían estos de aquí. 00:03:17
los del LED serían estos dos, que este sería el del ánodo y este sería el del cátodo, 00:03:21
luego tenemos el Enable, que lo hemos dicho, luego el de lectura y escritura, 00:03:27
y luego el GND, que sería tierra, y VCC, que sería alimentación o potencia a 5 voltios. 00:03:30
Bien, vamos a empezar un proyecto de nuevo, para darle al proyecto nuevo, 00:03:38
no lo dije en otros vídeos, pero si veis aquí, teníamos dos pestañas 00:03:43
en el que nos permite ver el esquema total o una vista esquemática del circuito. 00:03:49
Bien, lo que vamos a hacer ahora, este otro icono sería para la lista de componentes, 00:03:57
tampoco lo había dicho, pero sí aquí lo podemos dar para que nos haga la lista de componentes. 00:04:02
Le damos al icono de Tinkercad para generar un nuevo proyecto. 00:04:07
Le damos a crear y le damos a circuitos. 00:04:11
Bien, ya tenemos, vamos a ir deprisa porque esto ya lo hemos visto. 00:04:18
no es más que arrastrar los tres elementos que necesitamos que sería el como aquí no están todos 00:04:22
está el básico pondremos todos y nos aparecería el lcd arrastramos el lcd y vamos a ponerlo aquí 00:04:27
porque es mucho más cómodo para visualizarlo bien lo único primero que lo que vamos a hacer es la 00:04:33
placa la seleccionamos y la giramos con la intención de que esto no se crucen demasiados 00:04:40
cables y sea mucho más fácil de ver lo primero que vamos a hacer es alimentar el tierra y 00:04:47
alimentación a través de la placa de pruebas entonces lo que haremos es primero una una línea 00:04:54
que nos lleve hasta los 5 voltios de la placa de arduino que sería la de alimentación y que va a 00:05:02
la línea positiva como siempre y lo pondremos de color rojo bien a continuación la línea de 00:05:09
gnd la vamos a unir al gnd y tendríamos la línea negra ya tenemos cerrado el circuito con los dos 00:05:20
vamos a poner esto mejor ya tenemos cerrado el circuito con las dos líneas y alimentadas estas 00:05:31
las líneas tanto con cero voltios como cinco voltios para poder anclarnos a ellas. A continuación 00:05:37
vamos uno a uno pues cada uno de los pines para configurarlo. Este si pone GND lógicamente iría 00:05:44
a dónde? Iría hasta la línea de GND. Bien, el VCC hemos dicho que era alimentación y por tanto iría 00:05:49
a la línea de alimentación. Le ponemos de color rojo y ya lo tendríamos. Bien, ¿qué más líneas 00:05:55
Entonces necesitamos ahora el VO que tendríamos que iba a GND, si lo vamos viendo en la propia tabla, el VO es el contraste, iría con un potenciómetro pero lo voy a hacer sin potenciómetro, pero va al GND. 00:06:00
Bien, a continuación tendríamos el RS, que era la selección de datos y esta selección de datos tiene que ir a un pin de Arduino 00:06:21
Bien, entonces lo que vamos a hacer es llevar este RS a un pin y vamos a poner que este sería el pin 2 00:06:33
para que no se nos haga 00:06:45
vamos a cerrarlo lo más posible 00:06:50
iría este al 2 00:06:54
vamos a coger para utilizar los pines de Arduino 00:06:56
vamos a utilizar, como vamos a necesitar 6 pines 00:07:02
vamos a coger del 2 al 2, 4 hasta el 7 00:07:04
bien, los ponemos de otro color para diferenciar los de línea de masa 00:07:09
y la línea de alimentación 00:07:12
Y este sería el primero. La lectura de escritura, este nos iría también a GND, le ponemos de color negro para identificarlo. Si vamos a la lectura de escritura y va al GND, lo veis, el RW. A continuación nos quedaría el Enable para activar el LCD o desactivarlo. Y este sí va a un pin. Entonces vamos a seguir con los pines que teníamos. 00:07:17
Hemos cogido el 2, pues vamos hasta el 3. 00:07:39
Le ponemos mejor y le ponemos de color verde también para distinguir los de los demás. 00:07:44
Bien, pasamos a la línea de datos. 00:07:50
Hemos dicho que para 4 bits solo se utilizaban los últimos 4, del 4 al 7. 00:07:51
Entonces vamos a coger primero el pin 4 y llevamos a otro pin en Arduino. 00:07:56
Como vamos en línea, iríamos al 4, le ponemos en el 4. 00:08:08
Y a continuación vamos poniendo todos en... vamos a mover un poquito el circuito para que nos quepa. 00:08:12
Vamos poniendo el de 5. Todos estos tenían que ir directamente a pines de Arduino. 00:08:22
Entonces seguimos en la línea y cogemos el 5. Luego cogemos el 6 y el 7. 00:08:28
Ahora hago un repaso para que veáis lo que estoy haciendo con estos cuatro pines de datos. 00:08:50
Hemos visto que los pines de datos iban, los 4 de 4 bits, que serían del 4 al 7, pues van unidos a la placa de Arduino a través de pines. 00:08:55
Bien, ya los tenemos los 4 y hago un resumen. 00:09:07
Tengo los 4 pines, tengo los 6 pines que hemos utilizado de Arduino, tenemos el RS, lectura y escritura, que iría al pin 2, 00:09:11
el enable que va al pin 3 00:09:21
y luego los 4 de datos de 4 bits 00:09:24
irían del 4 al 7 00:09:26
y van conectados en el 4 00:09:28
en el 5, en el 6 y en el 7 00:09:30
bien, solo nos quedarían 00:09:32
a continuación los LED 00:09:34
para que se encienda la luz 00:09:36
de la propia pantalla o display 00:09:37
igual que un LED que vimos 00:09:39
el ánodo estaba unido a una resistencia 00:09:41
y el cátodo estaba unido 00:09:43
a alimentación 00:09:45
entonces este lo llevamos a alimentación 00:09:47
y lo ponemos de color 00:09:50
rojo y este iría 00:09:51
a la línea de masa 00:09:53
pero necesitaría de una resistencia 00:09:55
acuerdaos en los LED era exactamente igual 00:09:57
entonces necesitaríamos una resistencia 00:09:59
que vimos que con que fuera la resistencia 00:10:01
la vamos a conectar 00:10:04
aquí 00:10:07
directamente, veis la resistencia 00:10:08
está conectada directamente a la línea de masa 00:10:11
aquí no haría falta 00:10:13
poner un cable porque ya tenemos que 00:10:15
poner un cable aquí 00:10:17
y le pondremos de color negro 00:10:19
ya estaría conectado toda la línea hasta la línea de masa 00:10:21
la resistencia la vamos a poner de 220 ohmios como utilizábamos en los LED 00:10:24
y tendríamos ya puesta 00:10:29
y este sería todo el montaje en cuanto a la estructura del LCD 00:10:31
ya con esto tendría que estar funcionando 00:10:36
bien, si nosotros le damos a iniciar no nos va a hacer absolutamente nada 00:10:39
porque todavía no le hemos puesto código a esto 00:10:42
bien, ahora que es lo que vamos a hacer 00:10:45
Vamos a poner y decirle que el texto que vaya a salir, vamos a borrar todo esto y voy explicando poco a poco cómo se va generando el texto para que esto imprima lo que nosotros queremos. 00:10:47
Bien, lo primero que vamos a hacer es añadirle una librería, decir que en C++ para añadir una librería se utiliza este comando, include y se pone con esta estructura que acabo de poner. 00:11:06
Vamos a dejar un Enter. Nos dice que va a incluir una librería que vamos a utilizar. Las librerías se ponen con estos ángulos y concretamente la que vamos a utilizar es Liquid Crystal, que sería para un LCD. 00:11:20
Esta librería es la que vamos a utilizar y vamos a generar objetos de la misma y vamos a utilizar métodos de dicha librería para poder sacar el texto que hemos visto. 00:11:39
Bien, a continuación, fuera vamos a generar un objeto Liquid Crystal. Este objeto le vamos a llamar LCD, por ejemplo. Este sería su nombre y va a tener varios parámetros. 00:11:49
En principio los parámetros que va a tener irían en orden. Primero serían todos los parámetros de los pines que hemos conectado a la placa de Arduino. En principio sería el RS, que hemos dicho que era el número 2, y por tanto ponemos el número 2. 00:12:06
Luego el enable, que hemos visto que era el pin 3, si lo he puesto en orden para facilitarlo. 00:12:22
Y luego irían los cuatro pines de datos, van unidos al 4, 5, 6 y 7. 00:12:29
Podemos hacer el 4, el 5, el 6 y el 7. 00:12:37
Y con esto ya tendríamos el objeto LCD creado. 00:12:41
Veis que este objeto creado necesita de todos estos parámetros. 00:12:44
A continuación crearemos una cadena de texto. 00:12:48
acordaos que una cadena de texto 00:12:49
en C++ 00:12:52
al igual que Java es un stream 00:12:56
le vamos a llamar mensaje 00:12:58
y este mensaje 00:13:00
le vamos a poner 00:13:01
hola 00:13:03
lcd 00:13:05
16x2 00:13:10
la cadena de texto va 00:13:12
entre comillas dobles y ya entraríamos 00:13:16
dentro del void setup 00:13:19
Vamos a utilizar el objeto que hemos creado arriba que se llamaba LCD, que sería este de aquí, que es un objeto liquid cristal y vamos a utilizar sus métodos. Entonces LCD, llamamos a sus métodos a través del operador punto y decimos que lo inicialice. Begin y le ponemos que lo queremos que sea de 16 columnas por dos filas. 00:13:20
¿Veis? Tiene dos parámetros para inicializarlo. Bien, una vez que lo hemos inicializado, vamos a decir dónde va a empezar el cursor para saber dónde va a escribir. El cursor, cuando lo hemos visto anteriormente, estaba formado por 16 caracteres y 16 caracteres en blanco. O sea, no aparecía nada. 16 rectángulos y 16 rectángulos. 00:13:44
siempre empieza desde el 0, entonces esta posición sería el cursor en el 0,0 00:14:04
o sea 0,0 fila y columna pues 0,0 00:14:10
entonces vamos a posicionar ese cursor en el 0,0 para que con lcd.cursor 00:14:16
set cursor le está diciendo colócame el cursor en qué posición 00:14:22
en la posición 0,0 00:14:31
bien, una vez que ya hemos seleccionado 00:14:35
donde va a empezar, que sería aquí 00:14:38
a continuación vamos a 00:14:39
con el mismo objeto, llamar a su 00:14:41
método print, para que me imprima 00:14:43
el texto que yo quiero que 00:14:45
aparezca en el LCD 00:14:47
ese texto va a ser la cadena 00:14:49
que hemos creado, el string 00:14:52
mensaje, le ponemos mensaje 00:14:53
y ya lo 00:14:56
tendríamos, que más vamos a poner 00:14:58
como queremos también 00:14:59
que me escriba debajo 00:15:01
otro texto en la segunda 00:15:03
este texto concreto 00:15:06
aparecerá en la primera fila 00:15:08
pero yo creo que en la segunda fila me aparezca otro texto 00:15:10
entonces ahora situamos el cursor 00:15:12
en este 00:15:14
otro rectángulo que empiece 00:15:16
a contar desde aquí 00:15:18
entonces le pongo lcd 00:15:19
punto 00:15:21
set cursor 00:15:23
y le pongo 00:15:25
ahora que sea en el 00:15:29
¿Por qué? Porque le está indicando que se coloque en la columna 0, que sería esta de aquí 00:15:32
Y en la fila 1, porque esta fila sería la fila 0 y esta sería la fila 1 00:15:42
Porque ya he dicho que las filas y las columnas las empieza siempre por 0 00:15:48
Como la fila iría del 0 al 15, puesto que combinan 0 y son 16 posiciones 00:15:51
y las columnas van del 0 al 15 y las filas irían del 0 al 1. 00:15:57
Esta sería la fila 1, 0 y esta sería la fila 1. 00:16:04
Entonces le estoy diciendo, colócame en la columna 0 y en la fila 1, que sería aquí. 00:16:08
Bien, una vez que hemos colocado ahí, ahora imprimiríamos con el objeto LCD, 00:16:14
llamamos a su método print y le decimos que nos ponga otro texto. 00:16:18
Por ejemplo, modo paralelo. 00:16:23
modo 00:16:25
paralelo 00:16:27
y vamos a quitarle 00:16:30
aquí el espacio y lo ponemos así 00:16:33
bien, a continuación 00:16:34
queremos que esté continuamente 00:16:36
esto sería toda la configuración 00:16:38
en el setup, que acordaos que 00:16:39
solo se leía este método una sola vez 00:16:42
cuando se inicia la simulación 00:16:44
cuando queremos que lo repita 00:16:46
de manera continua lo haremos a través del loop 00:16:49
entonces para que se desplace el texto 00:16:51
que queremos, eso se le realiza 00:16:53
a través del objeto LCD con su método 00:16:54
scroll 00:16:56
scroll display 00:16:57
left 00:17:02
porque queremos que se mueva de izquierda a derecha 00:17:05
si pusiéramos 00:17:08
ahora lo modificaremos 00:17:09
si ponemos right 00:17:11
scroll 00:17:12
display right 00:17:14
iría de derecha a izquierda 00:17:17
le decimos que lo haga 00:17:19
cada un cierto tiempo y acordaos que 00:17:21
el método delay 00:17:23
lo que hacía es que 00:17:24
paraba 00:17:27
un cierto tiempo 00:17:29
la ejecución, esto venía en milisegundos 00:17:31
acordaos, y después de esos 00:17:33
milisegundos pues seguía 00:17:35
con la ejecución del mismo 00:17:37
entonces vamos a ponerle 250 milisegundos 00:17:39
que es un cuarto de segundo 00:17:41
bien, ya tendríamos todo el código 00:17:43
si yo quito el código 00:17:45
y le doy a iniciar 00:17:46
nos tendrá que aparecer, si todo lo hemos 00:17:49
hecho bien, algo he puesto mal aquí 00:17:51
Ah, bien 00:17:53
No lo he puesto 00:17:55
Cuando metemos una librería 00:17:58
Siempre las librerías en C++ 00:17:59
Tienen un archivo de cabecera 00:18:01
Por eso esos archivos 00:18:03
De cabecera son 00:18:05
.h, .h de header 00:18:07
De cabecera, este archivo de cabecera 00:18:09
En C++ define 00:18:11
Cuáles son las variables 00:18:14
Métodos, etcétera, de esta librería 00:18:16
Entonces 00:18:18
Cuando metemos una librería hay que tener 00:18:19
hay que ponerle esta extensión .h 00:18:21
y era lo que nos faltaba 00:18:24
bien, una vez que liquidcrystal.h está bien 00:18:25
no debería haber ningún problema 00:18:28
y vamos a ejecutarlo 00:18:30
si veis 00:18:31
el texto está saliendo 00:18:32
ahora mismo en pantalla 00:18:37
y estaría saliendo 00:18:39
de manera 00:18:40
con la fila que hemos puesto en el cursor 00 00:18:42
y la fila que ha salido 00:18:45
en el 01 que era modo paralelo 00:18:48
sale de izquierda a derecha 00:18:49
y se va moviendo cada cuarto de segundo 00:18:51
si yo modifico el código y le digo que ahora lo haga hacia la derecha 00:18:53
y le pongo scroll display right 00:18:57
esto lo hará del mismo modo pero lo hará de izquierda a derecha 00:19:00
y esto sería todo en cuanto a lo que es un LCD 16x2 00:19:06
para terminar voy a comentar todo el código para que nos quede claro 00:19:14
Esto, acordaos, un comentario en C++, lo voy a poner encima, se pone con dos barras inclinadas. Este sería, incluimos la librería, que sería, incluimos la librería líquido y cristal, ya hemos dicho, con excepción .h. 00:19:18
A continuación, definimos, o mejor dicho, creamos un objeto liquid cristal para utilizar todos sus métodos. 00:19:43
Ese objeto liquid cristal necesita de todos estos parámetros que son los seis pins que hemos utilizado. 00:20:06
El segundo sería, creamos una cadena de tipo string. 00:20:11
Bien, pasamos al voice setup y en el voice setup, que se lee solo una vez, 00:20:23
método se lee una sola vez, 00:20:31
utilizamos distintos métodos del objeto liquid cristal llamado LCD 00:20:36
el primero sería inicialización 00:20:46
inicializa el LCD 00:20:48
le está diciendo que sea de 16 columnas por dos filas 00:20:53
Posteriormente, coloca el cursor en la fila y columna 0, que sería aquí concretamente. 00:20:57
posteriormente imprime la cadena mensaje a continuación modificamos el cursor y se lo pone 00:21:15
Coloca el cursor ahora en la fila 00:21:39
Utilizaría la fila 0 00:21:42
Y columna 00:21:45
Perdón, la fila 1 00:21:46
Y columna 0 00:21:50
Si veis lo pone al revés 00:21:52
Primero pone la columna 00:21:55
Y luego pone la fila 00:21:56
Y luego pues la otra 00:21:58
Pues haría lo mismo 00:22:00
Imprime 00:22:01
Aquí hemos puesto 00:22:02
Imprime la cadena 00:22:07
y nos quedaría aquí, que sería imprime el texto modo paralelo. 00:22:12
Pasaríamos al loop y en el loop tendríamos que utilizar un objeto LCD. 00:22:30
¿Para qué? 00:22:34
para utilizar o utiliza o mueve el texto de derecha a izquierda y bueno este sería con el 00:22:35
left. Vamos a dejarlo con el left. Y por último, para la ejecución o pausa, pausa la ejecución 00:22:55
cada cuarto de segundo. Y con esto tendríamos todo el código y todo finalizado. Para que 00:23:10
veáis. Y le damos y nos saldría el texto moviéndose de izquierda a derecha. Lo he 00:23:21
puesto aquí mal. De izquierda a 00:23:30
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:
10
Fecha:
16 de diciembre de 2025 - 9:43
Visibilidad:
Público
Centro:
IES CIFP a Distancia Ignacio Ellacuría
Duración:
23′ 57″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
1.89

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid