Uno de los objetivos en nuestros proyectos con arduino puede ser conocer determinados datos que necesitamos visualizar. Un método simple y eficaz para hacerlo es el uso de pantallas LCD. ¿ Cómo programar una pantalla LCD 16×2 en arduino ? Vamos a verlo enseguida.
¿Cómo programar una pantalla LCD 16×2?
El primer problema que surge cuando nos planteamos cómo programar una pantalla LCD 16×2 es el número de señales (pines de salida digitales) que debemos utilizar.
Si queremos programarla sin comunicación serie (ver más adelante), necesitaremos como mínimo utilizar 6 pines digitales de arduino. Podéis imaginar que , en un proyecto no demasiado complejo, ocupar 6 E/S (entradas/salidas) puede obligarnos a seleccionar una placa con más pines y, por lo tanto, incrementar los costes.
En la siguiente imagen vemos el conexionado de los distintos pines de la pantalla, que se realiza así:
La programación de esta pantalla es muy sencilla. Hay que descargarse la librería Liquidcrystal para el IDE de arduino y abrir uno de los ejemplos, cambiando los números apropiadamente.
O bien, podemos utilizar visualino. En la siguiente imagen se ven los bloques y el código a la derecha, que utiliza la citada librería:
Cómo programar una pantalla LCD 16×2 mediante comunicación I2C
La ventaja de este sistema es que los distintos datos necesarios (para los que necesitábamos antes 6 cables) se transfieren a través de dos cables conectados a los pines SDA y SCL de arduino.
Para ello, necesitamos un driver que conecte los 16 pines a la placa de arduino a través de los cuatro cables de comunicación y alimentación (se ve encima de la pantalla LCD, en la foto).
Después, conectamos el driver a los pines GND, 5V, SDA y SCL, como se ve en la fotografía.
Una vez cableado, descargamos la librería LiquidCrystal_I2C y abrimos uno de los ejemplos asociados a la librería.
Después, comprobamos si funciona. Si no funciona, chequeamos en qué dirección está el componente I2C mediante I2CScanner. Este programa busca componentes a través del bus de comunicaciones I2C (pines SDA y SCL de arduino). Se copia el programa que aparece en la página enlazada (haces clic en get code) y se sube a la placa de arduino. Obtenemos en el monitor algo similar a esto:
Como se puede ver, en mi caso obtengo que el componente I2C se ha encontrado en la dirección 0x3F. Este dato hay que escribirlo en el ejemplo:
Una vez resuelto este pequeño inconveniente, el programa debe funcionar. Hemos utilizado 2 cables en lugar de 6.
(fotografía de portada Federico Arroyo)
¡Buen Día!
Somos Blaze Display Technology, compañía china con 38 años de experiencia en FABRICACIÓN y VENTAS de displays LCD, TFT y OLED con certificados ISO9001 y RoHS. He visto en su página web que su empresa utiliza displays que están dentro de nuestro catálogo, ofreciéndole todo tipo de ventajas en relación calidad precio.
Sinceramente suya, Sofía.
Sophia Wen | Sales Representative
Website: http://www.blazedisplay.com | Skype:sales504@blazedisplay.com
Mobile phone: +86 13662684424| Office phone: +86 755-8652-4100 ext. 8504
Headquarters: 7D, HSAE tech building, Hi-tech park, Nanshan, Shenzhen, China, 518057
LCD Module Factory: 4/F, block A, Antaida Hi-tech park, Shatian town, Huiyang district, Huizhou, Guangdong, China
LCD Panel & Backlight Factory: Blaze industry park, Shinao industry city, Gao’an, Jiangxi, China, 330818
Blaze Display is a professional LCD displays researcher, designer and manufacturer in China
buenas tardes tenemos una pantalla lcd arduino 2004A EL PROBLEMA CUANDO LE METEMOS CIORRIENTE 5V POR DE DIA APENAS SE VEN LAS LETRAS,SOLO SE VE POR LA NOCHE,ANTERIORMENTE TENIAMOS UNA PANTALLA LCD2004B