Arduino Liquid Crystal Displays

8,541

Circuit Image

A tutorial on LCD communication was planned for a later date due to high demand. A circuit was already assembled for testing a new LCD provided by element14. The tutorial explains how communication functions with modern LCD character displays, showcasing the necessary schematics and circuit for interfacing with an LCD. Two demonstration programs are presented: the first creates an animated progress bar using custom characters, and the second utilizes I2C and button debouncing techniques to develop a real-time temperature readout in both Celsius and Fahrenheit. Source code, schematics, datasheets, and parts list are available for download.

The electronic schematic involves the integration of an LCD character display, typically utilizing an HD44780 controller, which is prevalent in modern applications. The communication between the microcontroller and the LCD can be achieved through either parallel or serial methods, with the latter often implemented via I2C for efficiency and reduced pin usage.

The schematic will include a microcontroller, such as an Arduino or a PIC, connected to the LCD via a defined set of pins. For I2C communication, an I2C adapter module may be used, which simplifies the wiring by reducing the number of connections to just two data lines (SDA and SCL), along with power and ground.

The first demonstration program focuses on creating an animated progress bar. This involves defining custom characters in the LCD's memory, which can represent various stages of the progress bar. The program utilizes a loop to update the display at regular intervals, providing a visual representation of progress.

The second demonstration program reads temperature data from a sensor, such as the DS18B20 or LM35, and displays it in real time on the LCD. The implementation of I2C allows for easy integration of multiple devices on the same bus, while button debouncing ensures stable input readings when interacting with physical buttons for user input.

In addition to the schematic and circuit diagram, the tutorial provides detailed instructions on setting up the environment, wiring the components, and uploading the code to the microcontroller. The availability of source code, datasheets, and parts lists further supports users in replicating the project effectively.I had initially planned to do an LCD tutorial a little further down the line, but there was very high demand for it, and I already had a circuit assembled for testing the new LCD that element14 sent me to evaluate. So, this seemed like an appropriate time to roll it out! In this episode, I explain how communication works with most modern LCD char acter displays, I show the schematics and circuit required to talk to an LCD, and then I demonstrate it working using two demo programs. The first program will create an animated progress bar using custom characters, and the second will leverage I2C and button debouncing knowledge from tutorial 7 and tutorial 2 respectively to create a real time temperature readout in bothCelsiusandFahrenheit.

Download the source code, schematics, datasheets, and parts list below! 🔗 External reference