[Revised 1/11/2015 - in second image, corrected proto board wiring diagram LCD pin 15/16 swap]
Here's a procedure to add a 20x4 LCD display to an Arduino UNO R3 in BrewPi service.
Parts needed:
20x4 White-On-Blue LED-backlit LCD display. I got mine here but you can do better on ebay if you're more patient than I was.
74HC595D 8 bit shift register. You can get them here.
10K ohm potentiometer. Any style you like, it doesn't carry hardly any current, and once you have it dialed in you'll likely not change it again, so accessibility "outside the box" isn't necessary. I used a pc mount style.
(2) 1N4001 or 1N4007 diodes (I've used both). Had them on hand but you can get them at Radio Shack if nowhere else.
20 to 30 ohm 1/4W to 1/2W resistor. Radio Shack.
(2 to 4) .1 to 1UF capacitors rated for 10VDC or higher. Radio Shack.
Hookup wire and a protoboard or equivalent.
Notes:
- The first image shows the wiring diagram used. It is a subset of the documentation provided for the rev C BrewPi shield. For example, you'll note the 10K pullups for IO10, 11 and 13 are missing. That's because the current BrewPi code configures those Uno pins as push-pull, so no pull-ups required.
Also, it's missing the function to turn off the LCD backlight after 10 minutes (from the last push of the rotary encoder switch). That's because I don't have the switches yet so I wouldn't be able to wake the display back up, and I didn't have any p-channel FETs handy. I'll be adding that and the wiring for it once the switch arrives.
- Pin 10 of the shift register can be tied directly to VCC, or optionally through pretty much any resistor value you have handy if you prefer.
- Pin 2 of the 10K pot is the "wiper" pin.
- The second image shows the wiring on a small protoboard. I re-did my original to make it easier to photograph (and hopefully follow). Note that pin 1 of the IC is in the north-west corner.
- The third image shows the back side of the LCD wired to the protoboard. Might come in handy.
- The last image just shows the whole mess all together and running using a Bluetooth interface to the host RPi.
Any questions please feel free to ask here.
Cheers!
Here's a procedure to add a 20x4 LCD display to an Arduino UNO R3 in BrewPi service.
Parts needed:
20x4 White-On-Blue LED-backlit LCD display. I got mine here but you can do better on ebay if you're more patient than I was.
74HC595D 8 bit shift register. You can get them here.
10K ohm potentiometer. Any style you like, it doesn't carry hardly any current, and once you have it dialed in you'll likely not change it again, so accessibility "outside the box" isn't necessary. I used a pc mount style.
(2) 1N4001 or 1N4007 diodes (I've used both). Had them on hand but you can get them at Radio Shack if nowhere else.
20 to 30 ohm 1/4W to 1/2W resistor. Radio Shack.
(2 to 4) .1 to 1UF capacitors rated for 10VDC or higher. Radio Shack.
Hookup wire and a protoboard or equivalent.
Notes:
- The first image shows the wiring diagram used. It is a subset of the documentation provided for the rev C BrewPi shield. For example, you'll note the 10K pullups for IO10, 11 and 13 are missing. That's because the current BrewPi code configures those Uno pins as push-pull, so no pull-ups required.
Also, it's missing the function to turn off the LCD backlight after 10 minutes (from the last push of the rotary encoder switch). That's because I don't have the switches yet so I wouldn't be able to wake the display back up, and I didn't have any p-channel FETs handy. I'll be adding that and the wiring for it once the switch arrives.
- Pin 10 of the shift register can be tied directly to VCC, or optionally through pretty much any resistor value you have handy if you prefer.
- Pin 2 of the 10K pot is the "wiper" pin.
- The second image shows the wiring on a small protoboard. I re-did my original to make it easier to photograph (and hopefully follow). Note that pin 1 of the IC is in the north-west corner.
- The third image shows the back side of the LCD wired to the protoboard. Might come in handy.
- The last image just shows the whole mess all together and running using a Bluetooth interface to the host RPi.
Any questions please feel free to ask here.
Cheers!




Last edited by a moderator: