Pantallas LCD

      6 comentarios en Pantallas LCD

Resumen en vídeo

Comunicación y conexión con Arduino

Las pantallas LCD permiten visualizar caracteres enviados desde un controlador. Tienen un bajo consumo por lo que se puede alimentar desde la placa Arduino. Con ArduinoBlocks se puede comunicar con la pantalla mediante el protocolo de comunicación I2C, gracias a esto, el cableado se reduce a tan solo dos cables de datos (mas otros dos de alimentación).

En el protocolo de comunicación I2C, los cables de datos se denominan SCL y SDA. El conector correspondiente a SCL se conecta al pin A5 de Arduino y el SDA, al pin A4. Esto es debido a que en Arduino UNO, los pines A4 y A5, además de actuar como entradas analógicas, funcionan como conectores para comunicación I2C.

Pantallas LCD en ArduinoBlocks

Los bloques de programación los encontramos en el apartado Pantalla LCD. Los bloques mas destacados son los siguientes:

  • LCD Iniciar (I2C)

En primer lugar tenemos que definir el tipo de pantalla que tenemos, añadiendo el siguiente bloque en el apartado Inicializar:

En la comunicación I2C se pueden instalar múltiples elementos. Cada componente tiene una dirección individual para ser identificado.En el desplegable junto a ADDR seleccionamos esta dirección individual. Las mas comunes por defecto son la 0x27 o la 0x3F, que vienen marcadas con asterisco.

  • LCD Imprimir: Este es el principal bloque para imprimir datos en pantalla. En el recuadro entre comillas introducimos el texto o el dato que queramos mandar. En columna y fila seleccionamos la posición en la que queremos que aparezca.

  • LCD Limpiar: Cada vez que se quiera hacer una nueva impresión hay que quitar los caracteres anteriores.

  • LCD Definir Símbolo: Este es el bloque  nos permite crear caracteres personalizados.

Para ello, hacemos click derecho sobre el bloque y pulsamos en ayuda:

Esto nos abrirá una nueva pestaña en el navegador en la que aparece un editor para crear caracteres pinchando sobre el cuadro dividido en pixeles:

Finalmente, copiamos los datos generados y los pegamos en el bloque LCD Definir Símbolo. 

Finalmente, con el siguiente bloque elegimos en qué parte de la pantalla imprimir el caracter definido:

Con los siguientes dos bloques, puedes introducir la posición de cada elemento, tanto en fila como en columna, mediante variables. De esta forma se pueden automatizar movimientos de los caracteres:

Programas ejemplo

Se va a utilizar el siguiente esquema, aunque para el primer programa propuesto no es necesario utilizar el pulsador.

Programa: Imprimir palabras de forma alterna en la pantalla LCD

Se va a imprimir periódicamente la palabra “Didactronica” en la primera fila de la pantalla durante 2 segundos. A continuación, se va a borrar y a imprimir “ArduinoBlocks” en la segunda fila durante otros dos segundos.

Programa: Imprimir el estado de un pulsador

Si el pulsador conectado al puerto 2 está accionado, entonces se imprimirá en la primera fila de la pantalla “Entrada activa”. Cuando no esté accionado, imprimirá, también en la primera fila “Entrada apagada”.

Conclusión

Es muy importante destacar que, si intentamos realizar la función del segundo programa mediante los bloques Esperar, usados en el primer programa, no va a funcionar bien el sistema, ya que está cada segundo bloqueada la placa y, por tanto, no puede actualizar el estado de los pulsadores en multitud de ocasiones. Por eso, excepto para ejemplos concretos, es mucho mas conveniente el uso de la función Ejecutar cada, siempre que sea posible.

Preguntas, sugerencias, propuestas…

Realiza cualquier cuestión, sugerencia o propuesta sobre el artículo o vídeo, en el foro del curso. Muchas gracias.

6 pensamientos en “Pantallas LCD

  1. JoseMi

    Hola, no consigo que se vea el texto en la pantalla, he revisado las conexiones y el programa.
    la pantalla se ilumina, pero no muestra caracteres de ningun tipo

    Responder
    1. PedroDDomingo Autor

      Has probado con diferentes direcciones de la pantalla? Al ser I2C, puede que vaya con otra dirección. En el bloque inicializar, a la derecha del todo puedes ir probando. Las dos mas comunes están marcadas con asterisco. Si no, también puede ser que hayas intercambiado los cables SDA y SCL. El SCL va al A5 y SDA al A4.

      Saludos!

      Responder
    2. Julián

      Has probado a ajustar con un destornillador de estrella la resolución de la pantalla, hasta que se vean las letras, si la pantalla tiene el modulo I2C incorporado, tienes bajo un cuadradito azul, con una cruz en medio, si esta por separado, es igual como una cajita azul y en el centro un circulo con una cruz en medio, pones el destornillador y lo giras de derecha a izquierda hasta que te salgan las letras

      Responder
  2. Julián

    Enhorabuena por el curso, lo primero y gracias.
    ¿Donde puedo descargar la librería ABlocks LiquidCrystal I2C.h?, he copiado vuestro código en el panel de Arduino y esta librería no me la reconoce y tampoco la encontré en las descargas
    Muchas gracias por vuestro magnífico trabajo.

    Responder
    1. PedroDDomingo Autor

      Hola:
      En la página principal / recursos (arriba a la derecha) / librerías Arduino.

      Dentro de tu programa, a la izquierda arriba también puedes descargar el programa en texto con las librerías utilizadas.

      Saludos!

      Responder
      1. Julián

        Si, gracias Pedro lo descubrí más tarde, vas directo al IDE Arduino con el programa y librerías incluidas
        de todos modos te agradezco tu comentario

        Responder

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *