Programming a display seemed like a good starting project to get my feet wet with the Pi. The header at the top of this page shows the hardware I purchased for this project. There is the Adafruit Pi Dish that includes the breadboard. The Pi Dish becomes the base that holds the Raspberry Pi and the breadboard. I like the fact that the Pi is secured and not just hanging by the ribbon cable.
And yes, I know, I forgot to remove the brown paper from the top and bottom of the clear plastic of the Pi Dish. By the time I remembered, I already had evertthing connected.
Connecting the Pi to the breadboard is the Adafruit Pi Cobbler breakout kit. This is a small PCB that plugs into the breadboard and a ribbon cable that connects the PCB to the Pi's GPIO pins. Adafruit has another Pi Cobbler with the ribbon cable on the side. This makes the labels on one side of the PCB easier to read because the cable is not in the way.
The display is a 16 alphanumeric character by two line LCD display by Lumix, purchased from Newark/element 14 electronics. This is a reflective type display so does not need a backlight. I kind of wish I had purchased the transmissive type LCD display. Adafruit has a number of color options for these sexier displays. Transmissive displays, of course, have a backlight.
I purchased Adafruit's Wire Bundle to make the connections on the breadboard. The blue device is a three pin 10K potentiometer used to adjust the contrast. It would have been better to purchase a 1K pot as the ideal contrast setting is closer to the 0 ohm resistance. The white, square, device with the black "4" is a momentary switch. Since my Pi is controlled from my desktop, I use the switch to have the program wait for me to get over to the Pi before having the Pi do its stuff. The blue rectangular device to the right of the switch is an Adafruit, 4 channel I2C-safe Bi-directional Logic Level Converter. If I want the Pi to read an output from the display, a channel of the converter must be connected between the display pin and the Pi's GPIO pin. A logic high from a display pin is nominally 5v, which would be fatal to the Pi. The converter, or level shifter, will convert 5v from the display to 3.3v to the Pi, and 3.3v from the Pi to 5v to the display. If it is not necessary for the Pi to read a display pin, it is not necessary to use the converter. The display is capable of interpreting 3.3v from the Pi as a logic high signal. In the photo in the header, the converter is not wired into the circuit. I did experiment by reading the "busy" bit from the display. In that case, I did use the converter. There will be more on this experiment in a later post.
I was happy to see that a data sheet was available for the LCD display. However, it does not tell you much beyond the dimensions, electrical characteristics, and pin-outs. The little block diagram on the second page shows a "LCD Controller LSI and Driver". You need the data sheet for that device, but they don't tell you what the device is. I went to the Raspberry Pi's great webpage and used their forum to ask if anyone knew what that LCD controller was. Rick Seiden responded to my post saying that the chip is a HD44780. Here is the data sheet for the Hitachi HD44780U.
My next post will discuss connections made between the display and the Pi.
No comments:
Post a Comment