RPi Tutorial EGHS:Alpha-Numeric Display

From eLinux.org
Revision as of 03:35, 24 February 2012 by Meltwater (talk | contribs) (Circuit 1 - Alpha-Numeric LCD Module via 6 GPIO outputs)
Jump to: navigation, search

Back to the Hub, or the Tutorials page.


GPIO Hardware & Software Tutorials:


This page is part of a work in progress.

Warnings

While most of these circuits may interface directly to the RPi, the use of a buffered interface (such as the one supplied by the Gertboard) is recommended which will help protect against damage. Alternatively, experiment with one of the Alternative Test Platforms.


Extreme caution should be exercised when interfacing hardware at a low level, you may damage your RPi, your equipment and potentially yourself and others. Doing so is at your own risk!

Aims

This tutorial is closely based on the excellent work done by Gaurav Chaudhary[1], on his blog 16x2 Char LCD with TI MSP430 Launch Pad.


The purpose of this tutorial will be to adapt the setup for use with the RPi, and to further develop the code for easier interfacing.


In addition to this, the tutorial will adapt the follow-up post 16x2 Serial LCD (Two Wire) with PIC12F675 for use with TI MSP430 Launch Pad and ultimately the RPi.

This would provide a useful standard for connecting an LCD display to the RPi using up just 2 GPIO pins, allowing easy debugging even for a setup which otherwise does not use a display.


Clearly there is no sense in replicating everything here, so the tutorial will focus mainly on the second part and also (when possible) how to translate this onto the RPi.


It is recommended, that you take the time to read through the above blog posts and, if interested, I recommend looking through the rest of Gaurav Chaudhary's[2] posts too.


Note:
Until RPi devices are available, I can not confirm this will work on a real RPi.
For now, I shall be using the TI LaunchPad (see  Alternative Test Platforms
for details) to test the hardware on (as it is cheap and the logic levels similar).

The Hardware

Theory

The theory of operation is covered very well on Gaurav Chaudhary's[3] blog post for 16x2 Char LCD with TI MSP430 Launch Pad.

The circuits will be focused on the setup that will be required for running these Alpha Numeric Modules with the RPi (should be identical to TI Launchpad setup).

For this setup, the Powertip PC 1602-H module [4] will be used (simply because I already had one), however most Alpha Numeric LCD displays use the same Hitachi HD44780 based driver (or similar) will be suitable (just take note of the pinouts if they are different).

Both circuits, will drive the LCD using a 5V supply while applying 3.3V logic to the data and control pins, since while lower voltage displays are available, the 5V ones are the cheapest and we have more current available through the RPi via the 5V line anyway.


Circuit 1 - Alpha-Numeric LCD Module via 6 GPIO outputs

Note: In order to control the LCD Display using 4-bit data, the top 4 data lines are used D4-D7 of the LCD.
LCD Module via 6 GPIO outputs PC1602-H Pin Setup

PC1602-H Pin Connections

Pin Function Connection
1 Power Supply Vss(GND) Power Supply Vss(GND)
2 Power Supply Vdd(+V) Power Supply Vdd +5V
3 Vo (Contrast) GND or variable resistor across 5-0V
4 RS (Reg Select) GPIO Digital Output Pin
5 R/W (Read/Write) Power Supply Vss(GND) - Always Write
6 E (Enable Signal) GPIO Digital Output Pin
7 Data DB0 Not Used
8 Data DB1 Not Used
9 Data DB2 Not Used
10 Data DB3 Not Used
11 Data DB4 GPIO Digital Output Pin
12 Data DB5 GPIO Digital Output Pin
13 Data DB6 GPIO Digital Output Pin
14 Data DB7 GPIO Digital Output Pin
15 A (Backlight +) Not Available (although can connect to 5V if it is)
16 K (Backlight -) Not Available (although can connect to GND if it is)

With the exception of possibly a variable resistor across +5V and GND, connected to pin 3 (Vo - Contrast) if required, no additional components are needed(the GPIO connections can be connected directly to the processor (i.e the RPi) GPIO pins.

Circuit 2 - Alpha-Numeric via 2 GPIO outputs

The Software

While the RPi is not available, I can only confirm the TI LaunchPad code works for me.

TI LaunchPad

Sample test code for LCD Test Module (tested on TI MSP430G2553 device).


Code:


RPi

References