RGB LCD Shield Kit w/ 16x2 Character Display
Moderators: adafruit_support_bill, adafruit

Forum rules
Talk about Adafruit Raspberry Pi® accessories! Please do not ask for Linux support, this is for Adafruit products only! For Raspberry Pi help please visit: http://www.raspberrypi.org/phpBB3/

RGB LCD Shield Kit w/ 16x2 Character Display

by Red Adafruit on Mon Dec 10, 2012 3:52 pm

Hello

I bought the RGB LCD Shield Kit w/ 16x2 Character Display which I intended to use on my raspebbry pi unfortantly I bought the one for the arduino I have already placed on the component so there is no returning, but I was wondering if there is a schematic layout for the RGB LCD Shield Kit w/ 16x2 Character Display for the pi, I have found the one for the arduino version so my plan is to rewire the arduino version to be used on the pi, I think it should be possible, what do you think adafruit?

Thanks
Red Adafruit
 
Posts: 3
Joined: Mon Dec 10, 2012 3:43 pm

Re: RGB LCD Shield Kit w/ 16x2 Character Display

by adafruit_support_bill on Tue Dec 11, 2012 5:53 am

The Pi version of the shield is still very new. We should have documentation and board-files posted shortly.
User avatar
adafruit_support_bill
 
Posts: 29182
Joined: Sat Feb 07, 2009 9:11 am

Re: RGB LCD Shield Kit w/ 16x2 Character Display

by halley on Thu Dec 13, 2012 5:55 pm

I know this isn't referencing the hardware schematic, but I thought I'd chime in.

I just put mine together last week, and made a quickie script for outputting messages (especially background tasks) from shell scripts. It uses the Adafruit_CharLCDPlate library module.

Code: Select all | TOGGLE FULL SIZE
#!/usr/bin/python

import sys
from Adafruit_CharLCDPlate import Adafruit_CharLCD

if __name__ == '__main__':

    lcd = Adafruit_CharLCD(15, 13, [12,11,10,9], 14)

    # take command line arguments, except the script name
    argv = sys.argv
    argv.pop(0)

    text = ''

    # all given arguments are to be printed
    while argv:
        arg = argv.pop(0)

        # parse for some special characters
        while len(arg):
            c = arg[0] ; arg = arg[1:]
            # form feed or vertical tab to clear the screen
            if c == '\f' or c == '\v':
                lcd.clear()
                text = ''
            # backspace undoes one plain character
            elif c == '\b':
                text = text[:-1]
            # escape (\e in bash) a color number
            elif c == chr(033):
                if text:
                    lcd.message(text)
                    text = ''
                if arg[0] in '01234567':
                    color = ord(arg[0])-ord('0')
                    lcd.backlight(color)
                    if color == 0:
                        lcd.backlight(lcd.OFF)
                        lcd.noDisplay()
                    arg = arg[1:]
            else:
                text += c

        # print any remaining text after last special code
        if text:
            lcd.message(text)


You can add this in a bootup script, so it runs even when the Pi is headless. Create this file as /etc/init.d/lcdready, then symlink it as /etc/rc0.d/S90lcdready. Set them both executable. Be sure you've installed i2c-tools and the Adafruit libraries, and adjusted the PYTHONPATH for the location of those *.py files.

Code: Select all | TOGGLE FULL SIZE
export PYTHONPATH=/home/pi/lib
i2cget -y 1 0x20 && /home/pi/bin/lcdecho $'\e2Ready.'


The i2cget command is used to detect whether the LCD plate is installed at address 0x20, before trying to squirt text to it. This isn't entirely necessary, since it won't hurt anything, but I like to be proper. (For an older Pi, you want the bus zero, with i2cget -y 0, not -y 1.)
[ e d @ h a l l e y . c c ]
User avatar
halley
 
Posts: 72
Joined: Fri Nov 21, 2008 10:07 pm

Re: RGB LCD Shield Kit w/ 16x2 Character Display

by tldr on Sat Dec 15, 2012 8:11 am

looking at the photographs of the board, it appears that the logic is powered from the 5v pin on the raspberry pi header and there are no pullups on the i2c lines.

so you may be able to remove the pullups, (r1 and r2) from the arduino version and use it as is. the pullups must be removed to keep from putting 5v on the i2c lines on the pi,

just connect 5v(2), ground(6), scl(5) and sda(3) from the pi header, to the appropriate pins on the arduino shield where a5 is scl and a4 is sda.

although i'm pretty sure this will work, you may want to wait for confirmation from someone who's seen the schematic/
"If I had known it was harmless, I would have killed it myself." - Phillip K. Dick, A Scanner Darkly
User avatar
tldr
 
Posts: 466
Joined: Thu Aug 30, 2012 12:34 am

Re: RGB LCD Shield Kit w/ 16x2 Character Display

by Red Adafruit on Sat Dec 15, 2012 7:44 pm

thanks tldr I will defently give it a try with the pins, maybe tonight hopefully I dont wreck my board.
Red Adafruit
 
Posts: 3
Joined: Mon Dec 10, 2012 3:43 pm

Re: RGB LCD Shield Kit w/ 16x2 Character Display

by Red Adafruit on Sat Dec 15, 2012 7:49 pm

halley wrote:I know this isn't referencing the hardware schematic, but I thought I'd chime in.

I just put mine together last week, and made a quickie script for outputting messages (especially background tasks) from shell scripts. It uses the Adafruit_CharLCDPlate library module.


The i2cget command is used to detect whether the LCD plate is installed at address 0x20, before trying to squirt text to it. This isn't entirely necessary, since it won't hurt anything, but I like to be proper. (For an older Pi, you want the bus zero, with i2cget -y 0, not -y 1.)


Thanks Halley I do have a question for you I'm completly new to linux but you might me the person to ask, is your code written in PYTHON if so would this be the way to go for learning how to program the pi?, can you write on python and use the code for an arduino?

Thanks for any help
Red Adafruit
 
Posts: 3
Joined: Mon Dec 10, 2012 3:43 pm