Adafruit 16x2 RGB not working on Mac?

Hi guys/gals,

I'm a Biomedical Engineer currently working on a project involving a nebuliser which can display it's own flow rate.

However, the LCD I'm using is an Adafruit 16x2 RGB (Shield Kit). When I use the preset, 'Hello World!' or any of the other LCD presets, the LCD doesn't even light up, as if nothing happens.

Now, one of my lecturers programmed it through his computer (Which is a PC), and it was working perfectly. I brought it home today, plugged it into my Mac, STILL working, but when I tried to reload another program, it was back to square one.

NOTE: I don't know if it's any use, but the top half of the backlight lights up very lightly when it's plugged in.

I've got AVRISP Mk11 as my programmer and /dev/tty.usbmodemfa141 as my serial port.

Can someone help please? :slight_smile:

You should try uploading and running a simple program that does not involve any external hardware before you try to deal with your LCD. (http://arduino.cc/en/Tutorial/Blink?from=Tutorial.BlinkingLED)

The use of your AVRISP Mk11 may have erased the bootloader in which case you can use it to upload another one.

After you have those issues sorted out then use the following outline to get your LCD working:

(1) If the module has a backlight then get it working properly. This involves only pins 15 and 16 on your LCD module. Make sure to use a current limiting resistor if there is none on the LCD module.

(2) Get the power and contrast working properly. This involves only pins 1, 2, and 3 on your LCD module. You should be able to see blocks on one row of a two row display and on two rows of a four row display.

NOTE: The Arduino has not been used yet, except as a possible source for the power needed for the first two steps. Do not try to go any further until this is working. If you don’t see the blocks then no amount of program code will help.

(3) Connect the LCD R/W pin (pin 5) to GND.

(4) Connect the six control and data wires between your LCD module and your Arduino.

(5) Upload your sketch and it should work.

If you still don’t get a display then make sure that your wiring matches the numbers in the descriptor (or vice versa).

//LiquidCrystal lcd(RS, E, D4, D5, D6, D7);
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);      // put your pin numbers here

If you get a display but it is garbled or has some other problems then try again with a ‘static’ sketch, one that displays a simple message on the top row of the display and then stops. All of your code should be in setup() and loop() should be empty between the brackets.

If you are still having problems then we need to see a photograph of your setup that clearly and unambiguously shows all of the connections between your Arduino and your LCD module. We also need a copy/paste version of the code that you are actually using, not a link to the code that you think you are using.

Don

floresta:
You should try uploading and running a simple program that does not involve any external hardware before you try to deal with your LCD. (http://arduino.cc/en/Tutorial/Blink?from=Tutorial.BlinkingLED)

The use of your AVRISP Mk11 may have erased the bootloader in which case you can use it to upload another one.

After you have those issues sorted out then use the following outline to get your LCD working:

(1) If the module has a backlight then get it working properly. This involves only pins 15 and 16 on your LCD module. Make sure to use a current limiting resistor if there is none on the LCD module.

(2) Get the power and contrast working properly. This involves only pins 1, 2, and 3 on your LCD module. You should be able to see blocks on one row of a two row display and on two rows of a four row display.

NOTE: The Arduino has not been used yet, except as a possible source for the power needed for the first two steps. Do not try to go any further until this is working. If you don't see the blocks then no amount of program code will help.

(3) Connect the LCD R/W pin (pin 5) to GND.

(4) Connect the six control and data wires between your LCD module and your Arduino.

(5) Upload your sketch and it should work.

If you still don't get a display then make sure that your wiring matches the numbers in the descriptor (or vice versa).

//LiquidCrystal lcd(RS, E, D4, D5, D6, D7);

LiquidCrystal lcd(7, 8, 9, 10, 11, 12);      // put your pin numbers here




If you get a display but it is garbled or has some other problems then try again with a 'static' sketch, one that displays a simple message on the top row of the display and then stops. All of your code should be in setup() and loop() should be empty between the brackets.

If you are still having problems then we need to see a photograph of your setup that clearly and unambiguously shows all of the connections between your Arduino and your LCD module. We also need a copy/paste version of the code that you are actually using, not a link to the code that you think you are using.

Don

Thank you for the reply.

However, I am using a soldered unit with the RGB, no cables.

Here are some photographs:

1.) http://i60.tinypic.com/rktxzt.jpg
2.) http://i59.tinypic.com/o02dty.jpg

In the second picture, you can see the top half is SLIGHTLY lit for some reason. It does this when plugged in.

The Uno itself can be programmed etc. Also, the RESET on the RGB DOES activate the orange reset LED on the Uno, so they are connected.

I tried your little program, and no luck.

Sorry, I overlooked the fact that you are using a shield.

Since you said that your LCD worked when run on another computer this would imply that your unit is OK and the problem is with the Arduino implementation on your computer.

You didn’t mention which Adafruit shield you are using and what program you are running. When I searched for ‘Adafruit 16x2 RGB shield’ the resulting hit pointed to an I2C shield. If that’s the one you have then you should be using the library that they provide. My sample program certainly won’t work since it is designed for a parallel implementation.

Have you tried getting any help over at the Adafruit forum? I haven’t been over there much recently but they seem to offer a more help than you would get from an Ebay vendor.

Don