Interfacing with Liquid Crystal Displays
This chapter covered the following concepts:
- Parallel LCDs can be interfaced with the Arduino through a standard wiring scheme.
- You can create custom characters for your LCD by generating arbitrary bitmaps.
- You can modify your debounce function from Chapter 2 to debounce multiple buttons.
- You can combine multiple sensors, motors, buttons, and displays into one coherent project.
- Arduino Uno
- USB A-B Cable
- Pushbuttons (x2)
- Small DC Fan
- 16×2 Character LCD
- 4.7Ω Resistors (x2)
- 10kΩ Resistors (x2)
- 150Ω Resistor
- 10kΩ Potentiometer
- TC74A0-5.0VAT I²C Temperature Sensor
- Jumper Wires
- In Table 10-1, the purpose of pin number 12 (D5) is listed as “Data line 3,” but it should be “Data line 5.”
Color Wiring Diagrams
Follow along with this video for a visual tutorial about interfacing with LCDs:
Watch a demo of the updating LCD progress bar created in the chapter:
Watch a demo of the personal thermostat created in the chapter:
All code is licensed via the GNU GPL v3. Code is maintained and updated on GitHub. The download zip linked above always contains the most recent version of the code examples that have been pushed to the GitHub Code Repository.
Taking it Further
Having a display on your Arduino project opens an entire world of possibilities. Here are some project suggestions that you can now complete:
- Create a launch controller for your model rockets.
- Make a reaction timer that uses pushbuttons and an alert on the LCD to time how quickly you can press the button once prompted.
- Make an infrared measuring tape that determines distances and tells them to you using the LCD.