Whenever you come across a LCD that looks like it has 16 connectors it is most likely using a HD44780 controller. These devices provide the same pinouts making them relatively easy to work with. The LCD uses a parallel interface meaning that we will need many pins from our raspberry pi to control it. In this tutorial we will use 4 data pins (4-bit mode) and two control pins.
The data pins are straightforward. They are sending data to the display (toggled high/low). We will only be using write mode and not reading any data.
The register select pin has two uses. When pulled low it can send commands to the LCD (like position to move to, or clear the screen). This is referred to as writing to the instruction or command register. When toggled the other way (1) the register select pin goes into a data mode and will be used to send data to the screen.
The read/write pin will be pulled low (write only) as we only want to write to the LCD based on this setup.
The enable pin will be toggled to write data to the registers.
- VCC - 5v not 3.3v
- Contrast adjustment (VO) from potentiometer
- Register Select (RS). RS=0: Command, RS=1: Data
- Read/Write (R/W). R/W=0: Write, R/W=1: Read (we won't use this pin)
- Clock (Enable). Falling edge triggered
- Bit 0 (Not used in 4-bit operation)
- Bit 1 (Not used in 4-bit operation)
- Bit 2 (Not used in 4-bit operation)
- Bit 3 (Not used in 4-bit operation)
- Bit 4
- Bit 5
- Bit 6
- Bit 7
- Backlight LED Anode (+)
- Backlight LED Cathode (-)
In order to send data to the LCD we are going to wire it up as follows
- Pin #1 of the LCD goes to ground (black wire)
- Pin #2 of the LCD goes to +5V (red wire)
- Pin #3 (Vo) connects to the middle of the potentiometer (orange wire)
- Pin #4 (RS) connects to the Cobber #25 (yellow wire)
- Pin #5 (RW) goes to ground (black wire)
- Pin #6 (EN) connects to cobber #24 (green wire)
- Skip LCD Pins #7, #8, #9 and #10
- Pin #11 (D4) connects to cobber #23 (blue wire)
- Pin #12 (D5) connects to cobber #17 (violet wire)
- Pin #13 (D6) connects to cobber #21 (gray wire)
- Pin #14 (D7) connects to cobber #22 (white wire)
- Pin #15 (LED +) goes to +5V (red wire)
- Pin #16 (LED -) goes to ground (black wire)
Don't cross the streams!
Before you start, make sure you have a strip of 0.1" male header and a 10K potentiometer. All Adafruit Character LCDs come with these parts so you should be good to go.
Twist the potentiometer until you see the first line of the LCD fill with boxes. If you don't see the boxes, check your wiring!