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.

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